| | |
| | | import com.doumee.core.haikang.model.param.respose.UserAddResponse; |
| | | import com.doumee.core.haikang.model.param.respose.UserDelResponse; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.service.business.third.TmsService; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.core.utils.*; |
| | | import com.doumee.core.wx.WXConstant; |
| | | import com.doumee.dao.admin.request.LaborEmpowerDTO; |
| | |
| | | import com.doumee.service.business.SmsEmailService; |
| | | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; |
| | | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; |
| | | import com.doumee.service.business.third.model.request.TmsEmployeeListRequest; |
| | | import com.doumee.service.business.third.model.response.TmsEmployeeListResponse; |
| | | import com.doumee.service.system.SystemLoginService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | |
| | | |
| | | @Autowired |
| | | private VisitsMapper visitsMapper; |
| | | @Autowired |
| | | private TmsService tmsService; |
| | | @Autowired |
| | | private SystemUserMapper systemUserMapper; |
| | | |
| | |
| | | } |
| | | wxAuthorizeVO.setOpenid(openId); |
| | | if(source==1){ |
| | | //根据openId 查询用户信息 |
| | | Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>() |
| | | .selectAll(Member.class) |
| | | .selectAs(Company::getName,Member::getCompanyName) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Member::getOpenid,openId) |
| | | .eq(Member::getType,source) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .orderByDesc(Member::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(!Objects.isNull(member)){ |
| | | if(member.getIsdeleted() == Constants.ONE){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |
| | | if(member.getStatus() != Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); |
| | | } |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); |
| | | } |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | member.setPrefixUrl(prefixUrl); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){ |
| | | SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId()) |
| | | .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 ")); |
| | | if(Objects.nonNull(systemUser)){ |
| | | String token = systemLoginService.loginByUserId(systemUser.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | } |
| | | } |
| | | //处理普通访客人员自动授权逻辑 |
| | | dealVisitUserAuthBiz(wxAuthorizeVO,openId,source); |
| | | }else if(source == 3){ |
| | | //处理tms管控人员自动授权逻辑 |
| | | dealGkUserAuthBiz(wxAuthorizeVO,openId,source); |
| | | }else if(source == 0){ |
| | | //如果是司机,则从system_user查询 |
| | | dealDriverUserAuthBiz(wxAuthorizeVO,openId,source); |
| | | }else{ |
| | | //如果是司机或者内部人员,则从system_user查询 |
| | | SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getOpenid,openId) |
| | | .eq(SystemUser::getType,source) |
| | | .eq(SystemUser::getDeleted,Boolean.FALSE) |
| | | .last(" limit 1 ")); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(!Objects.isNull(user)){ |
| | | Member member = memberMapper.selectById(user.getMemberId()); |
| | | if(member.getIsdeleted() == Constants.ONE){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |
| | | if(member.getStatus() != Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); |
| | | } |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); |
| | | } |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | member.setPrefixUrl(prefixUrl); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | String token = systemLoginService.loginByUserId(user.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | //如果是内部人员,则从system_user查询 |
| | | dealSystemUserAuthBiz(wxAuthorizeVO,openId,source); |
| | | } |
| | | |
| | | |
| | | return wxAuthorizeVO; |
| | | } |
| | | |
| | | private void dealSystemUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId, Integer source) { |
| | | SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getOpenid,openId) |
| | | .in(SystemUser::getType,Constants.memberType.internal) |
| | | .eq(SystemUser::getDeleted,Boolean.FALSE) |
| | | .last(" limit 1 ")); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(!Objects.isNull(user)){ |
| | | Member member = memberMapper.selectById(user.getMemberId()); |
| | | if(member == null || member.getIsdeleted() == Constants.ONE){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |
| | | if(member.getStatus() != Constants.ZERO){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); |
| | | } |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); |
| | | } |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | member.setPrefixUrl(prefixUrl); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | String token = systemLoginService.loginByUserId(user.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | } |
| | | private void dealDriverUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId, Integer source) { |
| | | SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getOpenid,openId) |
| | | .in(SystemUser::getType,Constants.memberType.internal,Constants.memberType.driver) |
| | | .eq(SystemUser::getDeleted,Boolean.FALSE) |
| | | .last(" limit 1 ")); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(!Objects.isNull(user)){ |
| | | Member member = memberMapper.selectById(user.getMemberId()); |
| | | if(member == null || member.getIsdeleted() == Constants.ONE){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |
| | | if(member.getStatus() != Constants.ZERO){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); |
| | | } |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); |
| | | } |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | member.setPrefixUrl(prefixUrl); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | String token = systemLoginService.loginByUserId(user.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | } |
| | | |
| | | private void dealGkUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId, Integer source) { |
| | | //如果是司机或者内部人员,则从system_user查询 |
| | | SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getOpenid,openId) |
| | | .eq(SystemUser::getType,source) |
| | | // .eq(Objects.nonNull(source)&&Constants.equalsInteger(source,Constants.TWO),SystemUser::getType,source) |
| | | .eq(SystemUser::getDeleted,Boolean.FALSE) |
| | | .last(" limit 1 ")); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(!Objects.isNull(user)){ |
| | | TmsEmployeeListRequest tp = new TmsEmployeeListRequest(); |
| | | tp.setTel(user.getMobile()); |
| | | TmsEmployeeListResponse response = tmsService.getEmployeeList(tp); |
| | | if(response == null || response.getTel()==null){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该账户人员信息不正确,如有疑问请联系系统管理员查看!"); |
| | | } |
| | | |
| | | Member member = new Member(); |
| | | member.setPhone(user.getMobile()); |
| | | // member.setId(user.getId()); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | String token = systemLoginService.loginByUserId(user.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | } |
| | | |
| | | private void dealVisitUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId,Integer source) { |
| | | Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>() |
| | | .selectAll(Member.class) |
| | | .selectAs(Company::getName,Member::getCompanyName) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Member::getOpenid,openId) |
| | | .eq(Member::getType,source) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .orderByDesc(Member::getCreateDate) |
| | | .last(" limit 1 ") |
| | | ); |
| | | //非访客用户 进行判断是否存在用户 |
| | | if(!Objects.isNull(member)){ |
| | | if(member.getIsdeleted() == Constants.ONE){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |
| | | if(member.getStatus() != Constants.ZERO){ |
| | | return; |
| | | // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); |
| | | } |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); |
| | | } |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | member.setPrefixUrl(prefixUrl); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){ |
| | | SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId()) |
| | | .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 ")); |
| | | if(Objects.nonNull(systemUser)){ |
| | | String token = systemLoginService.loginByUserId(systemUser.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | |
| | | } |
| | | if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .ne(Member::getType,Constants.memberType.visitor) |
| | | .in(Member::getType,Constants.memberType.gkuser,Constants.memberType.visitor) |
| | | .eq(Member::getPhone,registerDriverDTO.getPhone()) |
| | | )>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"手机号已注册!"); |
| | |
| | | }; |
| | | smsEmailService.validateCode(registerDriverDTO.getValidCode(),registerDriverDTO.getPhone()); |
| | | String salt = RandomStringUtils.randomAlphabetic(6); |
| | | ; |
| | | |
| | | Member member = new Member(); |
| | | member.setCreateDate(new Date()); |
| | | member.setIsdeleted(Constants.ZERO); |