liukangdong
2025-01-07 f9c24ba3d5eba45afef222dcd72b6383893efc76
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -5,6 +5,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.exception.BusinessException;
import com.doumee.dao.system.dto.LoginH5DTO;
import com.doumee.service.business.third.TmsService;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.core.constants.ResponseStatus;
@@ -140,6 +141,26 @@
    @Override
    public LoginUserInfo loginByPasswordNew(LoginDTO dto, ServerHttpRequest request) {
        SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request);
        if((isDebug == null  || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){
            // 校验验证码
            try {
                captchaService.check(dto.getUuid(), dto.getCode());
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
                loginLog.setSuccess(Boolean.FALSE);
                systemLoginLogService.create(loginLog);
                throw e;
            }
        }
        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
        systemLoginLogService.create(loginLog);
        return  user;
    }
    @Override
    public LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request) {
        SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request);
        if((isDebug == null  || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){
@@ -356,7 +377,7 @@
    @Override
    public LoginUserInfo driverLogin(LoginDTO dto, ServerHttpRequest request) {
    public LoginUserInfo driverLogin(LoginH5DTO dto, ServerHttpRequest request) {
        SystemLoginLog loginLog =getInitLoginlog(dto.getUsername(),request);
        LoginUserInfo userInfo = dealLoginDriverBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid());
        systemLoginLogService.create(loginLog);
@@ -382,19 +403,19 @@
            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
        }
        //注册司机
        if((Constants.equalsInteger(user.getType(),Constants.ZERO)
        if(!((Constants.equalsInteger(user.getType(),Constants.ZERO)
                ||Constants.equalsInteger(user.getType(),Constants.TWO))
                && Objects.nonNull(user.getMemberId())){
            if(Constants.equalsInteger(user.getType(),Constants.TWO)){
                if(Objects.isNull(user.getCompanyId())){
                    throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
                }
                Company company = companyMapper.selectById(user.getCompanyId());
                if(Objects.isNull(company) || Constants.equalsInteger(company.getType(),Constants.ONE)){
                    throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
                }
            }
        }else{
                && Objects.nonNull(user.getMemberId()))){
//            if(Constants.equalsInteger(user.getType(),Constants.TWO)){
//                if(Objects.isNull(user.getCompanyId())){
//                    throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
//                }
//                Company company = companyMapper.selectById(user.getCompanyId());
//                if(Objects.isNull(company) || Constants.equalsInteger(company.getType(),Constants.ONE)){
//                    throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
//                }
//            }
//        }else{
            throw new BusinessException(ResponseStatus.NO_ALLOW_LOGIN);
        }
        if(StringUtils.isNotBlank(password)){
@@ -452,7 +473,7 @@
        if (systemUser == null) {
            systemUser = autoRegisterUser(Constants.memberType.driver,param.getPhone(),param.getOpenid(),true);
        }else{
            if(!Constants.equalsInteger(systemUser.getType(),Constants.memberType.driver)){
            if(!(Constants.equalsInteger(systemUser.getType(),Constants.memberType.driver)||Constants.equalsInteger(systemUser.getType(),Constants.memberType.internal))){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,请使用正确的司机账号登陆!");
            }
        }
@@ -521,10 +542,6 @@
        if (systemUser == null) {
            //新增管控人员数据
            systemUser = systemUser = autoRegisterUser(Constants.memberType.gkuser,param.getPhone(),param.getOpenid(),false);
        }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);