k94314517
2024-05-22 c8bc6fdbdc37f551388b71372c35d4f42f58e571
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -34,6 +34,7 @@
import com.doumee.dao.admin.response.StagingDataVO;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.dto.RegisterDriverDTO;
import com.doumee.dao.business.dto.ResetPasswordDTO;
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.join.RetentionJoinMapper;
@@ -48,6 +49,7 @@
import com.doumee.dao.web.response.MemberVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import com.doumee.service.business.MemberService;
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.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -119,6 +121,8 @@
    @Autowired
    private SystemUserMapper systemUserMapper;
    @Autowired
    private SmsEmailService smsEmailService;
    @Value("${debug_model}")
    private Boolean isDebug;
@@ -1932,6 +1936,57 @@
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void registerDriver(RegisterDriverDTO registerDriverDTO){
        if(Objects.isNull(registerDriverDTO)
        || StringUtils.isBlank(registerDriverDTO.getName())
                || StringUtils.isBlank(registerDriverDTO.getPassword())
                || StringUtils.isBlank(registerDriverDTO.getValidCode())
                || StringUtils.isBlank(registerDriverDTO.getPhone())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                .eq(Member::getIsdeleted,Constants.ZERO)
                .eq(Member::getPhone,registerDriverDTO.getPhone())
        )>Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"手机号已注册!");
        };
        if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda()
                .eq(SystemUser::getDeleted,Constants.ZERO)
                        .and(i->i.eq(SystemUser::getMobile,registerDriverDTO.getPhone()).or().eq(SystemUser::getUsername,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);
        member.setType(Constants.TWO);
        member.setName(registerDriverDTO.getName());
        member.setPhone(registerDriverDTO.getPhone());
        member.setStatus(Constants.ZERO);
        member.setPassward(Utils.Secure.encryptPassword(registerDriverDTO.getPassword(), salt));
        memberMapper.insert(member);
        SystemUser systemUser = new SystemUser();
        systemUser.setCreateTime(new Date());
        systemUser.setDeleted(Boolean.FALSE);
        systemUser.setUsername(registerDriverDTO.getPhone());
        systemUser.setRealname(registerDriverDTO.getName());
        systemUser.setMemberId(member.getId());
        systemUser.setSalt(salt);
        systemUser.setPassword(member.getPassward());
        systemUser.setStatus(Constants.ZERO);
        systemUserMapper.insert(systemUser);
    }
}