From 0843f9b1526b7680f5cd419cf1f2d2fff44562ee Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 25 十二月 2024 18:39:39 +0800 Subject: [PATCH] 代码初始化 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 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 d3c77df..91a5fb8 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 @@ -182,6 +182,56 @@ return userInfo; } + + + @Override + public LoginUserInfo loginByPasswordForPda(LoginDTO dto, ServerHttpRequest request) { + SystemLoginLog loginLog = new SystemLoginLog(); + loginLog.setLoginUsername(dto.getUsername()); + loginLog.setLoginTime(new Date()); + loginLog.setSystemVersion(systemVersion); +// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp())); + if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){ + loginLog.setIp(Utils.User_Client.getIP(request)); + loginLog.setPlatform(Utils.User_Client.getPlatform(request)); + loginLog.setClientInfo(Utils.User_Client.getBrowser(request)); + loginLog.setOsInfo(Utils.User_Client.getOS(request)); + } + loginLog.setServerIp(Utils.Server.getIP()); + // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞� + SystemUser queryDto = new SystemUser(); + queryDto.setUsername(dto.getUsername()); + queryDto.setDeleted(Boolean.FALSE); + SystemUser user = systemUserService.findOne(queryDto); + if (user == null) { + throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT); + } + if(!Constants.equalsInteger(user.getSource(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN); + } + String pwd = Utils.Secure.encryptPassword(new String(dto.getPassword()), user.getSalt()); + // 姣旇緝瀵嗙爜 + if( !StringUtils.equals(pwd, user.getPassword())){ + throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT); + } + dealOpenIdBiz(user,dto.getOpenid()); + 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()); + + 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; + } + private void dealOpenIdBiz(SystemUser user, String openid) { if(StringUtils.isNotBlank(openid)){ //濡傛灉openId涓嶄负绌�,缁戝畾璇ョ敤鎴穙penid -- Gitblit v1.9.3