Api/src/main/java/com/java110/api/listener/user/AddStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/AddStaffServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; Api/src/main/java/com/java110/api/listener/user/ChangeStaffPwdListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/ChangeStaffPwdListener.java @@ -1,11 +1,10 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.factory.DataFlowFactory; import com.java110.core.smo.user.IUserInnerServiceSMO; import com.java110.dto.user.UserDto; import com.java110.entity.center.AppService; @@ -13,20 +12,15 @@ import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.CommonConstant; import com.java110.utils.constant.ServiceCodeConstant; import com.java110.utils.exception.ListenerExecuteException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.util.List; import java.util.Map; /** * 修改员工 2018年12月6日 Api/src/main/java/com/java110/api/listener/user/DeleteStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/DeleteStaffServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; Api/src/main/java/com/java110/api/listener/user/DisableStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/DisableStaffServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; Api/src/main/java/com/java110/api/listener/user/EnableStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/EnableStaffServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; Api/src/main/java/com/java110/api/listener/user/ModifyStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/ModifyStaffServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; Api/src/main/java/com/java110/api/listener/user/QueryStaffByUserNameServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/QueryStaffByUserNameServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; Api/src/main/java/com/java110/api/listener/user/QueryStaffServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/QueryStaffServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiListener; Api/src/main/java/com/java110/api/listener/user/ResetStaffPwdListener.javacopy from Api/src/main/java/com/java110/api/listener/users/ChangeStaffPwdListener.java copy to Api/src/main/java/com/java110/api/listener/user/ResetStaffPwdListener.java
File was copied from Api/src/main/java/com/java110/api/listener/users/ChangeStaffPwdListener.java @@ -1,11 +1,12 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.factory.DataFlowFactory; import com.java110.core.factory.AuthenticationFactory; import com.java110.core.factory.GenerateCodeFactory; import com.java110.core.smo.user.IUserInnerServiceSMO; import com.java110.dto.user.UserDto; import com.java110.entity.center.AppService; @@ -13,9 +14,7 @@ import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.CommonConstant; import com.java110.utils.constant.ServiceCodeConstant; import com.java110.utils.exception.ListenerExecuteException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -26,16 +25,16 @@ import org.springframework.http.ResponseEntity; import java.util.List; import java.util.Map; import java.util.Random; /** * 修改员工 2018年12月6日 * Created by wuxw on 2018/5/18. */ @Java110Listener("changeStaffPwdServiceListener") public class ChangeStaffPwdListener extends AbstractServiceApiDataFlowListener { @Java110Listener("resetStaffPwdListener") public class ResetStaffPwdListener extends AbstractServiceApiDataFlowListener { private final static Logger logger = LoggerFactory.getLogger(ChangeStaffPwdListener.class); private final static Logger logger = LoggerFactory.getLogger(ResetStaffPwdListener.class); @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @@ -43,7 +42,7 @@ @Override public String getServiceCode() { return ServiceCodeConstant.SERVICE_CODE_CHANGE_STAFF_PWD; return ServiceCodeConstant.SERVICE_CODE_RESET_STAFF_PWD; } @Override @@ -69,11 +68,9 @@ DataFlowContext dataFlowContext = event.getDataFlowContext(); AppService service = event.getAppService(); String paramIn = dataFlowContext.getReqData(); Assert.isJsonObject(paramIn, "添加员工时请求参数有误,不是有效的json格式 " + paramIn); Assert.isJsonObject(paramIn, "请求参数有误,不是有效的json格式 " + paramIn); JSONObject paramInJson = JSONObject.parseObject(paramIn); Assert.jsonObjectHaveKey(paramInJson, "userId", "请求参数中未包含userId 节点,请确认"); Assert.jsonObjectHaveKey(paramInJson, "oldPwd", "请求参数中未包含oldPwd 节点,请确认"); Assert.jsonObjectHaveKey(paramInJson, "newPwd", "请求参数中未包含newPwd 节点,请确认"); JSONArray businesses = new JSONArray(); //判断请求报文中包含 userId 并且 不为-1时 将已有用户添加为员工,反之,则添加用户再将用户添加为员工 @@ -93,7 +90,12 @@ //http://user-service/test/sayHello super.doRequest(dataFlowContext, service, httpEntity); super.doResponse(dataFlowContext); if (dataFlowContext.getResponseEntity().getStatusCode() == HttpStatus.OK) { JSONObject paramOut = new JSONObject(); paramOut.put("pwd", paramInJson.getString("pwd")); ResponseEntity<String> responseEntity = new ResponseEntity<>(paramOut.toJSONString(), HttpStatus.OK); dataFlowContext.setResponseEntity(responseEntity); } } @@ -127,14 +129,13 @@ Assert.listOnlyOne(userDtos, "数据错误查询到多条用户信息或单条"); JSONObject userInfo = JSONObject.parseObject(JSONObject.toJSONString(userDtos.get(0))); if (!paramObj.getString("oldPwd").equals(userDtos.get(0).getPassword())) { throw new IllegalArgumentException("原始密码错误"); } String pwd = GenerateCodeFactory.getRandomCode(6); userInfo.putAll(paramObj); userInfo.put("password", paramObj.getString("newPwd")); userInfo.put("password", AuthenticationFactory.passwdMd5(pwd)); paramObj.put("pwd", pwd); return userInfo; } } Api/src/main/java/com/java110/api/listener/user/UserLogoutServiceListener.java
File was renamed from Api/src/main/java/com/java110/api/listener/users/UserLogoutServiceListener.java @@ -1,4 +1,4 @@ package com.java110.api.listener.users; package com.java110.api.listener.user; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; WebService/src/main/java/com/java110/web/components/staff/ChangeStaffPwdComponent.java
@@ -2,10 +2,8 @@ import com.java110.core.context.IPageData; import com.java110.web.smo.IChangeStaffPwdServiceSMO; import com.java110.web.smo.IStaffServiceSMO; import com.java110.web.smo.staff.IChangeStaffPwdServiceSMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; WebService/src/main/java/com/java110/web/components/staff/ResetStaffPwdComponent.java
New file @@ -0,0 +1,31 @@ package com.java110.web.components.staff; import com.java110.core.context.IPageData; import com.java110.web.smo.staff.IChangeStaffPwdServiceSMO; import com.java110.web.smo.staff.IResetStaffPwdServiceSMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; /** * 搜索员工 */ @Component("resetStaffPwd") public class ResetStaffPwdComponent { @Autowired IResetStaffPwdServiceSMO resetStaffPwdServiceSMOImpl; public ResponseEntity<String> reset(IPageData pd) { return resetStaffPwdServiceSMOImpl.reset(pd); } public IResetStaffPwdServiceSMO getResetStaffPwdServiceSMOImpl() { return resetStaffPwdServiceSMOImpl; } public void setResetStaffPwdServiceSMOImpl(IResetStaffPwdServiceSMO resetStaffPwdServiceSMOImpl) { this.resetStaffPwdServiceSMOImpl = resetStaffPwdServiceSMOImpl; } } WebService/src/main/java/com/java110/web/smo/staff/IChangeStaffPwdServiceSMO.java
File was renamed from WebService/src/main/java/com/java110/web/smo/IChangeStaffPwdServiceSMO.java @@ -1,4 +1,4 @@ package com.java110.web.smo; package com.java110.web.smo.staff; import com.java110.core.context.IPageData; import org.springframework.http.ResponseEntity; WebService/src/main/java/com/java110/web/smo/staff/IResetStaffPwdServiceSMO.javacopy from WebService/src/main/java/com/java110/web/smo/IChangeStaffPwdServiceSMO.java copy to WebService/src/main/java/com/java110/web/smo/staff/IResetStaffPwdServiceSMO.java
File was copied from WebService/src/main/java/com/java110/web/smo/IChangeStaffPwdServiceSMO.java @@ -1,13 +1,13 @@ package com.java110.web.smo; package com.java110.web.smo.staff; import com.java110.core.context.IPageData; import org.springframework.http.ResponseEntity; /** * 修改员工密码 * 重置员工密码 * Created by Administrator on 2019/4/2. */ public interface IChangeStaffPwdServiceSMO { public interface IResetStaffPwdServiceSMO { /** * 保存员工信息 @@ -15,5 +15,5 @@ * @param pd * @return */ ResponseEntity<String> change(IPageData pd); ResponseEntity<String> reset(IPageData pd); } WebService/src/main/java/com/java110/web/smo/staff/impl/ChangeStaffPwdSMOImpl.java
File was renamed from WebService/src/main/java/com/java110/web/smo/impl/ChangeStaffPwdSMOImpl.java @@ -1,4 +1,4 @@ package com.java110.web.smo.impl; package com.java110.web.smo.staff.impl; import com.alibaba.fastjson.JSONObject; import com.java110.core.component.AbstractComponentSMO; @@ -9,8 +9,7 @@ import com.java110.utils.exception.SMOException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.web.smo.IChangeStaffPwdServiceSMO; import com.java110.web.smo.carInout.IListCarInoutsSMO; import com.java110.web.smo.staff.IChangeStaffPwdServiceSMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; WebService/src/main/java/com/java110/web/smo/staff/impl/ResetStaffPwdSMOImpl.javacopy from WebService/src/main/java/com/java110/web/smo/impl/ChangeStaffPwdSMOImpl.java copy to WebService/src/main/java/com/java110/web/smo/staff/impl/ResetStaffPwdSMOImpl.java
File was copied from WebService/src/main/java/com/java110/web/smo/impl/ChangeStaffPwdSMOImpl.java @@ -1,4 +1,4 @@ package com.java110.web.smo.impl; package com.java110.web.smo.staff.impl; import com.alibaba.fastjson.JSONObject; import com.java110.core.component.AbstractComponentSMO; @@ -9,8 +9,7 @@ import com.java110.utils.exception.SMOException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.web.smo.IChangeStaffPwdServiceSMO; import com.java110.web.smo.carInout.IListCarInoutsSMO; import com.java110.web.smo.staff.IResetStaffPwdServiceSMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; @@ -22,37 +21,31 @@ /** * 查询carInout服务类 */ @Service("changeStaffPwdSMOImpl") public class ChangeStaffPwdSMOImpl extends AbstractComponentSMO implements IChangeStaffPwdServiceSMO { @Service("resetStaffPwdSMOImpl") public class ResetStaffPwdSMOImpl extends AbstractComponentSMO implements IResetStaffPwdServiceSMO { @Autowired private RestTemplate restTemplate; @Override public ResponseEntity<String> change(IPageData pd) throws SMOException { public ResponseEntity<String> reset(IPageData pd) throws SMOException { return businessProcess(pd); } @Override protected void validate(IPageData pd, JSONObject paramIn) { Assert.hasKeyAndValue(paramIn, "communityId", "必填,请填写小区信息"); Assert.hasKeyAndValue(paramIn, "oldPwd", "必填,请填写原始密码"); Assert.hasKeyAndValue(paramIn, "newPwd", "必填,请填写新密码"); Assert.hasKeyAndValue(paramIn, "userId", "必填,请填写用户ID"); //super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_CARINOUT); } @Override protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) { ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate); Map paramMap = BeanConvertUtil.beanCovertMap(result); paramIn.putAll(paramMap); super.validateStoreStaffCommunityRelationship(pd, restTemplate); paramIn.put("oldPwd", AuthenticationFactory.passwdMd5(paramIn.getString("oldPwd"))); paramIn.put("newPwd", AuthenticationFactory.passwdMd5(paramIn.getString("newPwd"))); String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/user.changeStaffPwd"; String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/user.resetStaffPwd"; ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, WebService/src/main/resources/components/staffPackage/resetStaffPwd/resetStaffPwd.html
New file @@ -0,0 +1,19 @@ <div class="modal fade" id="resetStaffPwdModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">请确认您的操作!</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <tr align="center"><th>确认是否重置密码!</th></tr> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal" v-on:click="closeResetStaffPwdModel()">点错了</button> <button type="button" class="btn btn-primary" v-on:click="resetStaffPwd()">确认重置</button> </div> </div> </div> </div> WebService/src/main/resources/components/staffPackage/resetStaffPwd/resetStaffPwd.js
New file @@ -0,0 +1,48 @@ (function(vc){ vc.extends({ data:{ resetStaffPwdInfo:{} }, _initEvent:function(){ vc.on('resetStaffPwd','openResetStaffPwd',function(_staffInfo){ vc.component.resetStaffPwdInfo = _staffInfo; $('#resetStaffPwdModel').modal('show'); }); }, methods:{ closeDeleteStaffModel:function(){ $('#resetStaffPwdModel').modal('hide'); }, resetStaffPwd:function(){ var _dataObj = { communityId:vc.getCurrentCommunity().communityId, userId:vc.component.resetStaffPwdInfo.userId }; vc.http.post( 'resetStaffPwd', 'reset', JSON.stringify(_dataObj), { emulateJSON:true }, function(json,res){ //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); if(res.status == 200){ //关闭model var _pwd = JSON.parse(json); $('#resetStaffPwdModel').modal('hide'); vc.toast("修改密码成功,密码为"+_pwd.pwd+"请及时修改密码",10*1000); return ; } vc.component.resetStaffPwdInfo.errorInfo = json; }, function(errInfo,error){ console.log('请求失败处理'); vc.component.resetStaffPwdInfo.errorInfo = errInfo; }); } } }); })(window.vc); WebService/src/main/resources/components/staffPackage/staff-manage/staff.html
@@ -26,7 +26,8 @@ <div class="form-group"> <select class="custom-select" v-model="staffInfo.conditions.departmentOrgId"> <option selected value="">必填,请选择部门</option> <option v-for="departmentOrg in staffInfo.departmentOrgs" :value="departmentOrg.orgId"> <option v-for="departmentOrg in staffInfo.departmentOrgs" :value="departmentOrg.orgId"> {{departmentOrg.orgName}} </option> </select> @@ -78,45 +79,53 @@ </div> </div> <div class="ibox-content"> <div class="table-responsive"> <table class="table table-striped table-bordered table-hover dataTables-example"> <thead> <tr> <th>员工ID</th> <th>名称</th> <th>部门</th> <th>邮箱</th> <th>地址</th> <th>性别</th> <th>手机号</th> <th>操作</th> </tr> </thead> <tbody> <tr class="gradeX" v-for="staff in staffData"> <td>{{staff.userId}}</td> <td>{{staff.name}}</td> <td>{{staff.orgName}}</td> <td>{{staff.email}}</td> <td>{{staff.address}}</td> <td>{{staff.sex == 0 ? '男' : '女'}}</td> <td>{{staff.tel}}</td> <table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15"> <thead> <tr> <th>员工ID</th> <th>名称</th> <th>部门</th> <th>邮箱</th> <th>地址</th> <th>性别</th> <th>手机号</th> <th class="text-right">操作</th> </tr> </thead> <tbody> <tr class="gradeX" v-for="staff in staffData"> <td>{{staff.userId}}</td> <td>{{staff.name}}</td> <td>{{staff.orgName}}</td> <td>{{staff.email}}</td> <td>{{staff.address}}</td> <td>{{staff.sex == 0 ? '男' : '女'}}</td> <td>{{staff.tel}}</td> <td> <i class="glyphicon glyphicon-edit" style="color: #17a2b8;" v-on:click="openEditStaff(staff)"></i> <i v-if="staff.relCd != 600311000001" class="glyphicon glyphicon-remove-sign" style="color: #dc3545;margin-left:5px" v-on:click="openDeleteStaff(staff)"></i> </td> </tr> </tbody> </table> <!-- 分页 --> <vc:create name="pagination"></vc:create> </div> <td class="text-right"> <div class="btn-group"> <button class="btn-white btn btn-xs" v-on:click="openEditStaff(staff)">修改 </button> </div> <div class="btn-group"> <button class="btn-white btn btn-xs" v-on:click="_resetStaffPwd(staff)">重置密码 </button> </div> <div v-if="staff.relCd != 600311000001" class="btn-group"> <button class="btn-white btn btn-xs" v-on:click="openDeleteStaff(staff)">删除 </button> </div> </td> </tr> </tbody> </table> <!-- 分页 --> <vc:create name="pagination"></vc:create> </div> </div> </div> </div> <vc:create name="resetStaffPwd"></vc:create> </div> WebService/src/main/resources/components/staffPackage/staff-manage/staff.js
@@ -142,6 +142,9 @@ }, _queryStaffMethod:function(){ vc.component.loadData(DEFAULT_PAGE,DEFAULT_ROWS) }, _resetStaffPwd:function(_staff){ vc.emit('resetStaffPwd','openResetStaffPwd',_staff); } }, java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -825,4 +825,18 @@ } return result; } /** * 获取随机数 * * @return */ public static String getRandomCode(int bit) { Random random = new Random(); String result = ""; for (int i = 0; i < bit; i++) { result += random.nextInt(10); } return result; } } java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java
@@ -306,6 +306,11 @@ public static final String SERVICE_CODE_CHANGE_STAFF_PWD = "user.changeStaffPwd"; /** * 修改重置密码 */ public static final String SERVICE_CODE_RESET_STAFF_PWD = "user.resetStaffPwd"; /** * 保存商户信息 */ public static final String SERVICE_CODE_SAVE_COMMUNITY_INFO = "save.community.info";