diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/RoleUserService.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/RoleUserService.java index e53c6a3ca73259e9392bfc88d21beb847aa54a5a..1c297ab678ddfebf38863179d6a7d7742ca28521 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/RoleUserService.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/RoleUserService.java @@ -27,4 +27,11 @@ public interface RoleUserService extends ICRUDService<RoleUserEntity,Long> { void doDistributionUser(RoleUserQuery query); void doDistributionRole(RoleUserQuery query); + + + /** + * 缁欑敤鎴峰垎閰嶈鑹� + * @param query + */ + void assignRoleToUser(RoleUserQuery query); } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java index 8251b7c55d3632f3a2902fcacc74693f947a8d09..68035ac62f2437d20eadd5fe1469fd6444df5149 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java @@ -70,6 +70,26 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol this.dao.insertBatch(list); } + @Override + public void assignRoleToUser(RoleUserQuery query) { + //鍒犻櫎褰撳墠鐢ㄦ埛鎵€鏈夊叧鑱旇鑹� + Long userId = query.getUserId(); + Map<String, Object> condition = new HashMap<>(1); + condition.put("userId", userId); + dao.delete(condition); + + //鏂板鐢ㄦ埛瑙掕壊 + List<Long> roleIdList = query.getRoleIdList(); + List<RoleUserEntity> list = new ArrayList<>(); + for (Long roleId : roleIdList) { + RoleUserEntity rolseUser = new RoleUserEntity(); + rolseUser.setRoleId(roleId); + rolseUser.setUserId(userId); + list.add(rolseUser); + } + this.save(list); + } + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java index eef23a063352d4b37681e1e6e8627168816b7dc8..e953f5b2c6de0725129bd9c07353d70b3a54c3e1 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntity.java @@ -48,7 +48,7 @@ public class UserEntity extends UserVo implements IUser { */ private String qq; /** - * 鐢ㄦ埛绫诲瀷(0.绯荤粺鐢ㄦ埛,1.鏅€氱敤鎴�,2.宸ヤ綔浜哄憳) + * 鐢ㄦ埛绫诲瀷(0.绯荤粺鐢ㄦ埛,1.鏅€氱敤鎴�,2.宸ヤ綔浜哄憳,3.鏅€氬憳宸�) */ private Integer userType; @@ -232,7 +232,7 @@ public class UserEntity extends UserVo implements IUser { this.qq = qq; } /** - * 鑾峰彇 鐢ㄦ埛绫诲瀷(0.绯荤粺鐢ㄦ埛,1.鏅€氱敤鎴�,2.宸ヤ綔浜哄憳) + * 鑾峰彇 鐢ㄦ埛绫诲瀷(0.绯荤粺鐢ㄦ埛,1.鏅€氱敤鎴�,2.宸ヤ綔浜哄憳,3.鏅€氬憳宸�) * @return Integer */ public Integer getUserType(){ diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiLoginController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiLoginController.java index f541783b0ab71fb101d64d151a1c8cd2610a855f..9467414b6ece567d862520935e23a46804e8d311 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiLoginController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiLoginController.java @@ -6,6 +6,7 @@ import com.mortals.framework.ap.CookieService; import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.SysConstains; import com.mortals.framework.common.Rest; +import com.mortals.framework.exception.AppException; import com.mortals.framework.service.IAuthTokenService; import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.IUser; @@ -32,6 +33,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Set; @@ -46,34 +49,12 @@ public class ApiLoginController extends BaseJsonBodyController { @Autowired private UserService userService; @Autowired - private ValidCodeService validCodeService; - @Autowired - private ResourceService resourceService; - @Autowired - private MenuService menuService; - // @Autowired -// private ITokenService tokenService; - @Autowired - private ICacheService cacheService; - @Autowired private IAuthTokenService authTokenService; @RequestMapping("login") public String login(@RequestBody LoginForm loginForm) throws Exception { -/* - JSONObject ret = new JSONObject(); - String loginName = loginForm.getLoginName(); - String password = loginForm.getPassword(); - - UserPdu userPdu = new UserPdu(); - userPdu.setLoginName(loginName); - userPdu.setPassword(password); - String resp = userFeign.portalLogin(userPdu); - - return resp; -*/ JSONObject ret = new JSONObject(); String loginName = loginForm.getLoginName(); String password = loginForm.getPassword(); @@ -88,42 +69,35 @@ public class ApiLoginController extends BaseJsonBodyController { loginForm.validate(); userEntity = userService.doLogin(loginName, password, ip); userEntity.setLastLoginAddress(ip); - - recordSysLog(request, userEntity, "鐢ㄦ埛鐧诲綍绯荤粺鎴愬姛!"); - // 杩斿洖鎷ユ湁鐨勮彍鍗曟暟鎹� - Set<String> urls = resourceService.findUrlSetByUserId(userEntity.getId()); - List<MenuEntity> outlookBarList = menuService.findTreeMenu(userEntity, urls); + recordSysLog(request, userEntity, "H5鐢ㄦ埛鐧诲綍绯荤粺鎴愬姛!"); String currUserName = userEntity.getRealName(); if (currUserName == null || currUserName.trim().length() == 0) { currUserName = "绠$悊鍛�"; } JSONObject data = new JSONObject(); data.put("currUserName", currUserName); - data.put("barList", outlookBarList); data.put("id", userEntity.getId()); data.put("userType", userEntity.getUserType()); + + HashSet<Integer> set = new HashSet<>(); + set.add(1); + set.add(2); + + if (ObjectUtils.isEmpty(userEntity.getUserType()) || !set.contains(userEntity.getUserType())) { + throw new AppException("褰撳墠鐢ㄦ埛涓嶆敮鎸丠5鐧诲綍!"); + } + userEntity.setLoginTime(System.currentTimeMillis()); userEntity.setToken(IdUtil.fastSimpleUUID()); userEntity.setExpireTime(DateUtils.addCurrDate(7).getTime()); - userEntity.setMenuUrl(generateMenuUrlCode(urls)); - String token = authTokenService.createToken(userEntity); data.put("token", token); - //璁剧疆token 鍜岃繃鏈熸椂闂� - //data.put("expiresTime", DateUtils.addCurrDate(7).getTime()); - generateMenuUrlCode(urls); - //this.generateBlackCookie(request, response, loginName, urls); ret.put(KEY_RESULT_DATA, data); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_MSG, "鐢ㄦ埛鐧诲綍绯荤粺鎴愬姛!"); - ret.put("resources", urls); return ret.toJSONString(); } catch (Exception e) { - log.error("login error ", e); - if (userEntity == null) { - userEntity = new UserEntity(); - userEntity.setLoginName(loginName); - } + log.error("h5 login error ", e); ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE); ret.put(KEY_RESULT_MSG, super.convertException(e)); return ret.toJSONString(); @@ -136,78 +110,6 @@ public class ApiLoginController extends BaseJsonBodyController { super.removeCurrUser(request); } - @RequestMapping("index") - public String index() throws Exception { - JSONObject ret = new JSONObject(); - IUser user = this.getCurUser(); - if (user == null) { - return JSONObject.toJSONString(Rest.fail(ERROR_TOKEN_EXPIRED, ERROR_TOKEN_EXPIRED_CONTENT)); - } - Set<String> urls = resourceService.findUrlSetByUserId(user.getId()); - List<MenuEntity> outlookBarList = menuService.findTreeMenu(user, urls); - String currUserName = user.getRealName(); - if (currUserName == null || currUserName.trim().length() == 0) { - currUserName = "绠$悊鍛�"; - } - JSONObject data = new JSONObject(); - - String token = authTokenService.getToken(request); - data.put("token", token); - data.put("currUserName", currUserName); - data.put("barList", outlookBarList); - data.put("id", user.getId()); - data.put("userType", user.getUserType()); - ret.put(KEY_RESULT_DATA, data); - //this.generateBlackCookie(request, response, user.getLoginName(), urls); - ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); - ret.put(KEY_RESULT_MSG, "鐢ㄦ埛鐧诲綍绯荤粺鎴愬姛!"); - ret.put("resources", urls); - return ret.toJSONString(); - } - - private void generateBlackCookie(HttpServletRequest request, HttpServletResponse response, String loginName, Set<String> urls) { - try { - String cacheKey = RedisKey.KEY_MENU_CACHE + loginName; - String securityKey = GlobalSysInfo.getPropertyValue(SysConstains.PROP_COOKIE_SECURITY_KEY); - //搴斾负Cookie浼氳秴闀匡紝鎵€浠ユ敼涓轰粎瀛樺偍key灏嗗€兼斁鍏edis - //CookieService.setCookieForAuth(request, response, securityKey, null); - StringBuilder sb = new StringBuilder(); - if (urls != null && urls.size() > 0) { - for (String url : urls) { - int index = url.hashCode() & (Integer.MAX_VALUE - 1); - sb.append(index).append(","); - } - } - String menuUrl = sb.toString(); - menuUrl = AESUtil.encrypt(menuUrl, securityKey); - cacheService.set(cacheKey, menuUrl, 604800); - HttpUtil.setCookieValue(request, response, SysConstains.COOKIE_MENU, cacheKey, -1); - - } catch (Throwable e) { - - } - } - - - private String generateMenuUrlCode(Set<String> urls) { - try { - String securityKey = GlobalSysInfo.getPropertyValue(SysConstains.PROP_COOKIE_SECURITY_KEY); - StringBuilder sb = new StringBuilder(); - if (urls != null && urls.size() > 0) { - for (String url : urls) { - int index = url.hashCode() & (Integer.MAX_VALUE - 1); - sb.append(index).append(","); - } - } - String menuUrl = sb.toString(); - return AESUtil.encrypt(menuUrl, securityKey); - } catch (Throwable e) { - log.error("缂栫爜寮傚父", e); - return null; - - } - } - @RequestMapping("parseToken") public IUser parseToken() throws Exception { diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/AppealApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/AppealApiController.java index c1d88e716952d74f414769e06062be25838f8947..8fcdc89e8c872ab16ace9a6cd5b981d90579338f 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/AppealApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/AppealApiController.java @@ -55,7 +55,7 @@ public class AppealApiController extends BaseJsonBodyController { /** * 涓汉鐢宠瘔缁╂晥缁熻 */ - @PostMapping(value = "appeal/stat") + @PostMapping(value = "stat") public Rest<AppealStatInfo> appealStat() { String busiDesc = "H5涓汉鐢宠瘔缁╂晥缁熻"; Rest<AppealStatInfo> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); @@ -72,7 +72,7 @@ public class AppealApiController extends BaseJsonBodyController { /** * 鐢宠瘔鍒楄〃 */ - @PostMapping(value = "appeal/list") + @PostMapping(value = "list") public Rest<List<PerformAttendAppealEntity>> performList(@RequestBody AppealReq appealReq) { String busiDesc = "涓汉鐢宠瘔鍒楄〃"; Rest<List<PerformAttendAppealEntity>> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); @@ -95,8 +95,8 @@ public class AppealApiController extends BaseJsonBodyController { /** * 鐢宠瘔璇︾粏 */ - @PostMapping(value = "appeal/detail") - public Rest<PerformAttendAppealEntity> performDetail(@RequestBody AppealReq appealReq) { + @PostMapping(value = "info") + public Rest<PerformAttendAppealEntity> performInfo(@RequestBody AppealReq appealReq) { String busiDesc = "涓汉鐢宠瘔璇︾粏"; Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); try { @@ -116,7 +116,7 @@ public class AppealApiController extends BaseJsonBodyController { /** * 鐢宠瘔鏂板 */ - @PostMapping(value = "appeal/save") + @PostMapping(value = "save") public Rest<String> appealSave(@RequestBody PerformAttendAppealEntity appealEntity) { String busiDesc = "涓汉鐢宠瘔鏂板"; Rest<String> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java index 9c5d88ffd3d68d65407615b18d88842f55d37917..30184b25d3f29195ac6503eeff4efc187c294ac1 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java @@ -48,7 +48,7 @@ public class FeedbackApiController extends BaseJsonBodyController { /** * 鍙嶉鍒楄〃 */ - @PostMapping(value = "feedback/list") + @PostMapping(value = "list") public Rest<List<PerformAttendAppealEntity>> feedbackList(@RequestBody FeedbackReq feedbackReq) { String busiDesc = "涓汉鍙嶉鍒楄〃"; Rest<List<PerformAttendAppealEntity>> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); @@ -71,7 +71,7 @@ public class FeedbackApiController extends BaseJsonBodyController { /** * 鍙嶉璇︾粏 */ - @PostMapping(value = "feedback/question") + @PostMapping(value = "question") public Rest<PerformAttendAppealEntity> performDetail(@RequestBody AppealReq appealReq) { String busiDesc = "涓汉鐢宠瘔璇︾粏"; Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); @@ -92,9 +92,9 @@ public class FeedbackApiController extends BaseJsonBodyController { /** * 鐢宠瘔鏂板 */ - @PostMapping(value = "appeal/save") - public Rest<String> appealSave(@RequestBody PerformAttendAppealEntity appealEntity) { - String busiDesc = "涓汉鐢宠瘔鏂板"; + @PostMapping(value = "save") + public Rest<String> feedbackSave(@RequestBody PerformAttendAppealEntity appealEntity) { + String busiDesc = "鍙嶉鍥炵瓟"; Rest<String> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); try { diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java index 23afe323ea4040d307d7f7eb60cdad678ba31971..6532da9d750f82b37ba181718023f8a267229d02 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java @@ -47,7 +47,7 @@ public class PerformApiController extends BaseJsonBodyController { /** * 涓汉褰撳ぉ缁╂晥缁熻 */ - @PostMapping(value = "perform/stat") + @PostMapping(value = "stat") public Rest<PerformStatInfo> performStat() { String busiDesc = "H5 涓汉缁╂晥缁熻"; Rest<PerformStatInfo> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); @@ -65,7 +65,7 @@ public class PerformApiController extends BaseJsonBodyController { /** * 涓汉褰撴湀缁╂晥鍔犲垎鎵e垎鍒楄〃 */ - @PostMapping(value = "perform/list") + @PostMapping(value = "list") public Rest<List<PerformInfo>> performList(@RequestBody PerformReq performReq) { String busiDesc = "涓汉缁╂晥鍒楄〃"; Rest<List<PerformInfo>> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); @@ -107,7 +107,7 @@ public class PerformApiController extends BaseJsonBodyController { /** * 璇︾粏 */ - @PostMapping(value = "perform/info") + @PostMapping(value = "info") public Rest<PerformDetailInfo> performInfo(@RequestBody PerformReq performReq) { String busiDesc = "涓汉缁╂晥澧炲噺璇︾粏"; Rest<PerformDetailInfo> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java index 11a2d2a1fede82ae8960ca4e2a0db7cac7b6170c..b74552ad22d5781c82a2f84133bcad7c5a729c8e 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncDoorsEventTaskImpl.java @@ -2,6 +2,7 @@ package com.mortals.xhx.daemon.task; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.PageUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.mortals.framework.common.Rest; @@ -115,7 +116,7 @@ public class SyncDoorsEventTaskImpl implements ITaskExcuteService { List<AttendanceRecordHikEntity> attRecords = doorEventsRest.getData().getList().stream().map(item -> { AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity(); recordHikEntity.initAttrValue(); - StaffEntity staffCache = staffService.getExtCache(item.getJobNo()); + StaffEntity staffCache = staffService.getExtCache(StrUtil.padPre(item.getJobNo(), 8, "0")); if (ObjectUtils.isEmpty(staffCache)) { log.info("staff is null !staffCode:{}",item.getJobNo()); return null; diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java index 9f2a376ae62aa2ebf8573f6b67e0f571dcee02b9..7437a060ca1655b6ee5ee5b1ab37db90139b2b39 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/daemon/task/SyncUserTaskImpl.java @@ -1,5 +1,6 @@ package com.mortals.xhx.daemon.task; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.mortals.framework.common.Rest; @@ -57,8 +58,6 @@ public class SyncUserTaskImpl implements ITaskExcuteService { @Autowired private DeptService deptService; - @Autowired - private StaffService service; @Autowired private AttendanceStatService attendanceStatService; @@ -70,12 +69,11 @@ public class SyncUserTaskImpl implements ITaskExcuteService { @Override public void excuteTask(ITask task) throws AppException { - log.info("鍚屾鐢ㄦ埛--閮ㄩ棬"); try { - //鍚屾閮ㄩ棬 - syncDepts(); - //鍚屾鍛樺伐 + log.info("鍚屾鐢ㄦ埛"); syncPersons(); + log.info("鍚屾閮ㄩ棬"); + syncDepts(); } catch (Exception e) { log.error("鍚屾浜轰簨寮傚父", e); } @@ -89,7 +87,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService { if (personRest.getCode() == YesNoEnum.YES.getValue()) { List<PersonInfo> personInfoList = personRest.getData().getList(); for (PersonInfo personInfo : personInfoList) { - StaffEntity staffEntity = staffService.getExtCache(personInfo.getJobNo()); + StaffEntity staffEntity = staffService.getExtCache(StrUtil.padPre(personInfo.getJobNo(), 8, "0")); DeptEntity deptEntity = deptService.selectOne(new DeptQuery().deptCode(personInfo.getOrgIndexCode())); // AttendanceVacationBalanceEntity balanceEntity = balanceService.selectOne(new AttendanceVacationBalanceQuery().staffId(staffEntity.getId())); // AttendanceStatEntity statEntity = attendanceStatService.selectOne(new AttendanceStatQuery().staffId(staffEntity.getId())); @@ -111,7 +109,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService { staffEntity.setPhoneNumber(personInfo.getPhoneNo()); staffEntity.setCreateUserId(1L); staffEntity.setCreateTime(new Date()); - service.save(staffEntity); + staffService.save(staffEntity); AttendanceVacationBalanceEntity balanceEntity = new AttendanceVacationBalanceEntity(); balanceEntity.initAttrValue(); @@ -181,7 +179,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService { staffEntity.setPhoneNumber(personInfo.getPhoneNo()); staffEntity.setUpdateUserId(1L); staffEntity.setUpdateTime(new Date()); - service.update(staffEntity); + staffService.update(staffEntity); //缁熻鍚勭骇閮ㄩ棬鍛樺伐鏁伴噺 String ancestor = deptEntity.getAncestors().split(",", 2)[1]; String[] ancestors = ancestor.split(","); diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java index 9d3d16c3b01862e934ff408c759751d44ebff773..246af21599a3c2e76bd4553e6ddd45316b11c734 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java @@ -1,9 +1,18 @@ package com.mortals.xhx.module.staff.service.impl; +import cn.hutool.core.util.StrUtil; +import com.mortals.framework.exception.AppException; +import com.mortals.framework.model.Context; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; +import com.mortals.framework.util.SecurityUtil; +import com.mortals.xhx.base.system.role.model.RoleUserQuery; +import com.mortals.xhx.base.system.role.service.RoleUserService; +import com.mortals.xhx.base.system.user.model.UserEntity; +import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.common.code.StaffSatusEnum; import com.mortals.xhx.common.code.StaffTypeEnum; import com.mortals.xhx.common.code.StatusEnum; +import com.mortals.xhx.common.code.UserStatus; import com.mortals.xhx.module.staff.dao.StaffDao; import com.mortals.xhx.module.staff.dao.ibatis.StaffDaoImpl; import com.mortals.xhx.module.staff.dao.ibatis.StaffLeaveDaoImpl; @@ -13,8 +22,10 @@ import com.mortals.xhx.module.staff.model.vo.StaffInfoVo; import com.mortals.xhx.module.staff.service.StaffService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -29,10 +40,17 @@ import java.util.stream.Collectors; @Service("staffService") public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, StaffEntity, Long> implements StaffService { + @Autowired + private UserService userService; + + @Autowired + private RoleUserService roleUserService; + @Override protected String getExtKey(StaffEntity data) { //宸ュ彿浣滀负redis 鎵╁睍key - return data.getWorkNum(); + return StrUtil.padPre(data.getWorkNum(), 8, "0"); + // return "1000"+data.getWorkNum(); } @Override @@ -68,4 +86,51 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta return staffEntities.size(); } + + @Override + protected void saveAfter(StaffEntity entity, Context context) throws AppException { + try { + UserEntity userEntity = new UserEntity(); + + if (ObjectUtils.isEmpty(entity.getLoginName())) { + //濮撳悕鍔犲伐鍙蜂綔涓虹櫥褰曞悕 + entity.setLoginName(entity.getName() + entity.getWorkNum()); + } + if (ObjectUtils.isEmpty(entity.getLoginPwd())) { + //璁剧疆鍒濆瀵嗙爜 + entity.setLoginPwd("123456"); + } + + userEntity.setLoginName(StrUtil.cleanBlank(entity.getLoginName())); + userEntity.setRealName(entity.getName()); + userEntity.setUserType(2); + userEntity.setSiteIds("1"); + userEntity.setAreaCodes("511500000000"); + userEntity.setStatus(UserStatus.NORMAL.getValue()); + userEntity.setCreateUserId(this.getContextUserId(context)); + userEntity.setCreateTime(new Date()); + userEntity.setCustomerId(entity.getId()); + + userEntity.setLoginPwd(SecurityUtil.md5DoubleEncoding(entity.getLoginPwd())); + int insert = userService.getUserDao().insert(userEntity); + if (insert > 0) { + RoleUserQuery roleUserQuery = new RoleUserQuery(); + roleUserQuery.setUserId(userEntity.getId()); + roleUserQuery.setRoleIdList(Arrays.asList(4L)); + roleUserService.assignRoleToUser(roleUserQuery); + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + super.saveAfter(entity, context); + } + + + public static void main(String[] args) { + + + System.out.println("1" + StrUtil.padPre("125", 7, "0")); + + } } \ No newline at end of file