From bf8d85d5f83c2036fb4239d764d33e99c1b62bd3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 31 五月 2024 14:53:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 31 ++++++++++++++++++++++++------- 1 files changed, 24 insertions(+), 7 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java index 6b87b55..e54e578 100644 --- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java +++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java @@ -4,11 +4,10 @@ import com.doumee.core.model.LoginUserInfo; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.dao.CompanyMapper; +import com.doumee.dao.business.model.Company; import com.doumee.dao.system.dto.LoginDTO; -import com.doumee.dao.system.model.SystemLoginLog; -import com.doumee.dao.system.model.SystemPermission; -import com.doumee.dao.system.model.SystemRole; -import com.doumee.dao.system.model.SystemUser; +import com.doumee.dao.system.model.*; import com.doumee.service.common.CaptchaService; import com.doumee.service.system.*; import lombok.extern.slf4j.Slf4j; @@ -26,6 +25,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; +import java.util.Objects; @Slf4j @Service @@ -41,6 +41,9 @@ @Lazy @Autowired + private SystemDataPermissionService systemDataPermissionService; + @Lazy + @Autowired private SystemRoleService systemRoleService; @Lazy @@ -52,6 +55,9 @@ @Autowired private SystemLoginLogService systemLoginLogService; + + @Autowired + private CompanyMapper companyMapper; @Override public String loginByPassword(LoginDTO dto, HttpServletRequest request) { @@ -65,7 +71,7 @@ loginLog.setClientInfo(Utils.User_Client.getBrowser(request)); loginLog.setOsInfo(Utils.User_Client.getOS(request)); loginLog.setServerIp(Utils.Server.getIP()); - if(isDebug == null || !isDebug){ + if((isDebug == null || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){ // 鏍¢獙楠岃瘉鐮� try { captchaService.check(dto.getUuid(), dto.getCode()); @@ -132,13 +138,24 @@ } String pwd = Utils.Secure.encryptPassword(new String(dto.getPassword()), user.getSalt()); // 姣旇緝瀵嗙爜 - if( StringUtils.equals(pwd, user.getPassword())){ + if( !StringUtils.equals(pwd, user.getPassword())){ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT); + } + Company company = new Company(); + if(Objects.nonNull(user.getCompanyId())){ + company = companyMapper.selectById(user.getCompanyId()); } // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅 List<SystemRole> roles = systemRoleService.findByUserId(user.getId()); List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId()); - LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions,null); + + SystemRole rt = new SystemRole(); + rt.setDeleted(Boolean.FALSE); + //鏁版嵁閮ㄩ棬鏉冮檺闆嗗悎 + user.setCompanyIdList(systemDataPermissionService.selectHighRole(new SystemDataPermission(),rt,user)); + + LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions,company,null); return userInfo; } + } -- Gitblit v1.9.3