From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Fri, 20 Oct 2023 09:45:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl --- screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 81 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 79 insertions(+), 2 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index ae847c4..74d935a 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -30,14 +30,17 @@ import com.moral.api.entity.Group; import com.moral.api.entity.Menu; import com.moral.api.entity.Organization; +import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.entity.User; import com.moral.api.entity.UserGroup; import com.moral.api.entity.UserLog; import com.moral.api.mapper.MenuMapper; +import com.moral.api.mapper.ResponsibilityUnitMapper; import com.moral.api.mapper.UserGroupMapper; import com.moral.api.mapper.UserLogMapper; import com.moral.api.mapper.UserMapper; import com.moral.api.pojo.bo.UserBO; +import com.moral.api.service.ResponsibilityUnitService; import com.moral.api.service.UserService; import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; @@ -77,12 +80,82 @@ @Autowired private OperationLogUtils operationLogUtils; + @Autowired + private ResponsibilityUnitMapper responsibilityUnitMapper; + + @Value("${AES.KEY}") private String AESKey; @Override public UserBO selectUserInfo(Map<String, Object> parameters) { return userMapper.selectUserInfo(parameters); + } + + @Override + public Map<String, Object> loginSmallRoutine(Map<String, Object> parameters) { + UserBO userBo = selectUserInfo(parameters); + Map<String, Object> result = new HashMap<>(); + //������������ + if (userBo == null) { + result.put("code", ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); + result.put("msg", ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); + return result; + } + //������������ + String password = parameters.get("password").toString(); + //������������ + password = AESUtils.decrypt(password, AESKey); + if (!MD5Utils.saltMD5Verify(password, userBo.getPassword())) { + result.put("code", ResponseCodeEnum.PASSWORD_INVALID.getCode()); + result.put("msg", ResponseCodeEnum.PASSWORD_INVALID.getMsg()); + return result; + } + //������������������ + if (Constants.DELETE.equals(userBo.getIsDelete())) { + result.put("code", ResponseCodeEnum.ACCOUNT_IS_DELETE.getCode()); + result.put("msg", ResponseCodeEnum.ACCOUNT_IS_DELETE.getMsg()); + return result; + } + //������������������ + if (userBo.getExpireTime() != null && userBo.getExpireTime().getTime() < System.currentTimeMillis()) { + result.put("code", ResponseCodeEnum.ACCOUNT_IS_EXPIRE.getCode()); + result.put("msg", ResponseCodeEnum.ACCOUNT_IS_EXPIRE.getMsg()); + return result; + } + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(userBo.getUnitId()); + //������������������ + Map<String, Object> userInfo = new LinkedHashMap<>(); + userInfo.put("userId", userBo.getId()); + userInfo.put("account", userBo.getAccount()); + userInfo.put("userName", userBo.getUserName()); + userInfo.put("email", userBo.getEmail()); + userInfo.put("mobile", userBo.getMobile()); + userInfo.put("unitId",userBo.getUnitId()); + userInfo.put("unName",responsibilityUnit.getAreaName()); + userInfo.put("wechat", userBo.getWechat()); + userInfo.put("expireTime", DateUtils.dateToDateString(userBo.getExpireTime())); + userInfo.put("isAdmin", userBo.getIsAdmin()); + try { + //������token������������redis + String token = TokenUtils.getToken(userBo.getId().toString(), userInfo); + result.put("token", token); + } catch (Exception e) { + log.error("token���������������" + e.getMessage()); + result.put("code", ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode()); + result.put("msg", ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); + return result; + } + //������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + UserLog userLog = new UserLog(); + userLog.setType(Constants.LOGIN_OPERTATE_TYPE); + userLog.setIp(WebUtils.getIpAddr(request)); + userLog.setOperateId(userBo.getId()); + userLog.setOrganizationId(userBo.getOrganizationId()); + userLog.setContent("������������������" + userBo.getAccount()); + userLogMapper.insert(userLog); + return result; } @Override @@ -116,15 +189,18 @@ result.put("msg", ResponseCodeEnum.ACCOUNT_IS_EXPIRE.getMsg()); return result; } + //������������������ Map<String, Object> userInfo = new LinkedHashMap<>(); - - //������in��� + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(userBo.getUnitId()); + //������������ userInfo.put("userId", userBo.getId()); userInfo.put("account", userBo.getAccount()); userInfo.put("userName", userBo.getUserName()); userInfo.put("email", userBo.getEmail()); userInfo.put("mobile", userBo.getMobile()); + userInfo.put("unitId",userBo.getUnitId()); + userInfo.put("unName",responsibilityUnit.getAreaName()); userInfo.put("wechat", userBo.getWechat()); userInfo.put("expireTime", DateUtils.dateToDateString(userBo.getExpireTime())); userInfo.put("isAdmin", userBo.getIsAdmin()); @@ -219,6 +295,7 @@ //������������������������������ List<Menu> nextLevelMenus = menus.stream() .filter(o -> o.getParentId().equals(menu.getId())) + .sorted(Comparator.comparing(Menu::getOrder)) .collect(Collectors.toList()); List<Map<String, Object>> list = new ArrayList<>(); if (nextLevelMenus.size() > 0) { -- Gitblit v1.8.0