From e462144e6dcf574cf538baba510b69e477d2b057 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 06 一月 2025 10:21:42 +0800 Subject: [PATCH] 最新版本541200007 --- server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 84 insertions(+), 3 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 dbe99a2..b11ecfb 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 @@ -5,7 +5,8 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.jwt.JwtTokenUtil; import com.doumee.core.exception.BusinessException; -import com.doumee.core.model.LoginUserInfo; +import com.doumee.service.business.third.TmsService; +import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; @@ -16,13 +17,13 @@ import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.SmsEmail; import com.doumee.dao.system.SystemUserMapper; -import com.doumee.dao.system.dto.LoginByOpenidDTO; import com.doumee.dao.system.dto.LoginDTO; import com.doumee.dao.system.dto.LoginPhoneDTO; import com.doumee.dao.system.model.*; +import com.doumee.service.business.third.model.request.TmsEmployeeListRequest; +import com.doumee.service.business.third.model.response.TmsEmployeeListResponse; import com.doumee.service.common.CaptchaService; import com.doumee.service.system.*; -import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; @@ -87,6 +88,8 @@ @Autowired private CompanyMapper companyMapper; + @Autowired + private TmsService tmsService; @Resource private JwtTokenUtil jwtTokenUtil; @@ -255,6 +258,25 @@ .set(SystemUser::getOpenidHkStatus,Constants.ZERO) .eq(SystemUser::getOpenid,openid) // .eq(SystemUser::getType,user.getType()) + ); + systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda() + .set(SystemUser::getOpenid,openid) + .set(SystemUser::getOpenidHkStatus,Constants.ZERO) + .set(SystemUser::getOpenidHkDate,null) + .set(SystemUser::getOpenidHkInfo,null) + .eq(SystemUser::getId,user.getId())); + } + } + private void dealOpenIdBizForGk(SystemUser user, String openid) { + if(StringUtils.isNotBlank(openid)){ + //濡傛灉openId涓嶄负绌�,缁戝畾璇ョ敤鎴穙penid + systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda() + .set(SystemUser::getOpenid,null) + .set(SystemUser::getOpenidHkDate,null) + .set(SystemUser::getOpenidHkInfo,null) + .set(SystemUser::getOpenidHkStatus,Constants.ZERO) + .eq(SystemUser::getOpenid,openid) + .eq(SystemUser::getType,user.getType()) ); systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda() .set(SystemUser::getOpenid,openid) @@ -478,6 +500,65 @@ LoginUserInfo userInfo = LoginUserInfo.from(systemUser, null, null,company,null); return userInfo; } + @Override + @Transactional + public LoginUserInfo loginGkUserWithCode(LoginPhoneDTO param, ServerHttpRequest request) { + isCaptcheValide(param.getPhone(),param.getCode());//妫�鏌ラ獙璇佺爜 + SystemLoginLog loginLog = new SystemLoginLog(); + loginLog.setLoginUsername(param.getPhone()); + loginLog.setLoginTime(new Date()); + loginLog.setReason("銆愬叕浼楀彿銆戣繍鍗曟煡璇㈢鎺т汉鍛橀獙璇佺爜鐧婚檰锛歰penid="+param.getOpenid()); + 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(param.getPhone()); + queryDto.setType(Constants.memberType.gkuser); + queryDto.setDeleted(Boolean.FALSE); + SystemUser systemUser = systemUserService.findOne(queryDto); + if (systemUser == null) { + String salt = RandomStringUtils.randomAlphabetic(6); + Member member = new Member(); + member.setCreateDate(new Date()); + member.setIsdeleted(Constants.ZERO); + member.setType(Constants.memberType.driver); + member.setPhone(param.getPhone()); + member.setStatus(Constants.ZERO); + member.setOpenid(param.getOpenid()); + member.setPassward(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt)); + memberMapper.insert(member); + + systemUser = new SystemUser(); + systemUser.setCreateTime(new Date()); + systemUser.setCreateUser(1); + systemUser.setDeleted(Boolean.FALSE); + systemUser.setUsername(param.getPhone()); + systemUser.setRealname(null); + systemUser.setMemberId(member.getId()); + systemUser.setMobile(param.getPhone()); + systemUser.setSalt(salt); + systemUser.setPassword(member.getPassward()); + systemUser.setStatus(Constants.ZERO); + systemUser.setType(Constants.memberType.driver); + systemUser.setSource(Constants.TWO); + systemUser.setOpenid(param.getOpenid()); + systemUserMapper.insert(systemUser); + }else{ + if(!Constants.equalsInteger(systemUser.getType(),Constants.memberType.gkuser)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇蜂娇鐢ㄦ纭殑绠℃帶浜哄憳鎵嬫満鍙风櫥闄嗭紒"); + } + } + dealOpenIdBizForGk(systemUser,param.getOpenid()); + LoginUserInfo userInfo = LoginUserInfo.from(systemUser, null, null,null,null); + return userInfo; + } /** -- Gitblit v1.9.3