登录验证码

main
zhaokai 2025-12-11 11:41:17 +08:00
parent 7ee8481f0d
commit 82ceeed10d
8 changed files with 55 additions and 18 deletions

View File

@ -10,10 +10,7 @@ import com.jjb.saas.framework.utils.CaptchaUtils;
import com.zcloud.basic.info.api.ProblemFeedbackServiceI;
import com.zcloud.basic.info.api.UserServiceI;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpFormCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.dto.clientobject.*;
import com.zcloud.gbscommon.translateaop.TranslateField;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -115,8 +112,8 @@ public class AppUserController {
}
@ApiOperation("app游客登录")
@PostMapping("/login")
public MultiResponse<CorpInfoCO> login(@Validated @RequestBody UserAppLoginCmd cmd) {
return MultiResponse.of(userService.login(cmd));
public SingleResponse<UserLoginCO> login(@Validated @RequestBody UserAppLoginCmd cmd) {
return SingleResponse.of(userService.login(cmd));
}
@ApiOperation("app获取用户在职企业")
@PostMapping("/getUserCorpList/{id}")

View File

@ -17,10 +17,7 @@ import com.zcloud.basic.info.domain.enums.UserFlowFlagEnum;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.dto.clientobject.UserXmfCO;
import com.zcloud.basic.info.dto.clientobject.*;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.UserCorpDO;
import com.zcloud.basic.info.persistence.dataobject.UserDO;
@ -217,7 +214,8 @@ public class UserQueryExe {
return PageResponse.of(userXmfCOList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public List<CorpInfoCO> login(UserAppLoginCmd cmd) {
public UserLoginCO login(UserAppLoginCmd cmd) {
UserLoginCO userLoginCO = new UserLoginCO();
//验证验证码
Object captcha = zcloudRedisUtil.get(RedisConstant.GENERATE_CAPTCHA + cmd.getCaptchaKey());
if(captcha == null || !captcha.toString().equals(cmd.getCaptchaCode())){
@ -236,12 +234,19 @@ public class UserQueryExe {
if(!checkUserPassword){
throw new BizException("密码错误");
}
//判断用户信息是否完善
UserE userCheck = new UserE();
BeanUtils.copyProperties(userDO, userCheck);
Boolean b = userCheck.checkUserInfoComplete(userCheck);
userLoginCO.setIsInfoComplete(b);
List<CorpInfoCO> corpInfoCOList = new ArrayList<>();
//判断是流动人员还是固定人员
if(UserFlowFlagEnum.FIXED.getCode().equals(userDO.getFlowFlag()) && userDO.getCorpinfoId() != null){
CorpInfoDO corpInfoDO = corpInfoRepository.getById(userDO.getCorpinfoId());
CorpInfoCO corpInfoCO = new CorpInfoCO();
BeanUtils.copyProperties(corpInfoDO, corpInfoCO);
return Arrays.asList(corpInfoCO);
corpInfoCOList.add(corpInfoCO);
}
if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){
List<UserCorpDO> userCorpDOS = userCorpRepository.getONCorpInfo(userDO.getId());
@ -251,9 +256,10 @@ public class UserQueryExe {
List<Long> corpinfoIds = userCorpDOS.stream().map(UserCorpDO::getCorpinfoId).collect(Collectors.toList());
List<CorpInfoDO> corpInfoDOList = corpInfoRepository.getByIdList(corpinfoIds);
List<CorpInfoCO> corpInfoCOS = corpInfoCoConvertor.converDOsToCOs(corpInfoDOList);
return corpInfoCOS;
corpInfoCOList.addAll(corpInfoCOS);
}
return null;
userLoginCO.setCorpInfoCOList(corpInfoCOList);
return userLoginCO;
}
public List<CorpInfoCO> getUserCorpList(Long id) {

View File

@ -13,6 +13,7 @@ import com.zcloud.basic.info.command.query.UserQueryExe;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.dto.clientobject.UserLoginCO;
import com.zcloud.basic.info.dto.clientobject.UserXmfCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@ -210,7 +211,7 @@ public class UserServiceImpl implements UserServiceI {
}
@Override
public List<CorpInfoCO> login(UserAppLoginCmd cmd) {
public UserLoginCO login(UserAppLoginCmd cmd) {
return userQueryExe.login(cmd);
}

View File

@ -8,6 +8,7 @@ import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.dto.*;
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.dto.clientobject.UserLoginCO;
import com.zcloud.basic.info.dto.clientobject.UserXmfCO;
import org.springframework.web.multipart.MultipartFile;
@ -83,7 +84,7 @@ public interface UserServiceI {
void checkOnboarding(AppUserLogOutCmd cmd);
List<CorpInfoCO> login(UserAppLoginCmd cmd);
UserLoginCO login(UserAppLoginCmd cmd);
List<CorpInfoCO> getUserCorpList(Long id);

View File

@ -0,0 +1,27 @@
package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* web-client
*
* @Author zhaokai
* @Date 2025-10-30 15:12:49
*/
@Data
public class UserLoginCO extends ClientObject {
private Boolean isInfoComplete;
@ApiModelProperty(value = "用户关联的公司列表")
private List<CorpInfoCO> corpInfoCOList;
}

View File

@ -157,6 +157,12 @@ public class UserE extends BaseE {
// 性别
private String sex;
public static Boolean checkUserInfoComplete(UserE userE) {
return StringUtils.isNotEmpty(userE.getUsername()) &&
StringUtils.isNotEmpty(userE.getPhone()) &&
StringUtils.isNotEmpty(userE.getUserIdCard()) &&
userE.getFlowFlag()!=null;
}
public void initAdd(Long tenantId, UserE userE) {

View File

@ -2,7 +2,6 @@ package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import java.util.List;

View File

@ -203,7 +203,7 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
public List<CorpInfoDO> getByIdList(List<Long> corpinfoIds) {
QueryWrapper<CorpInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", corpinfoIds);
queryWrapper.eq("use_flag", CorpUseFlagEnum.YES.getCode());
// queryWrapper.eq("use_flag", CorpUseFlagEnum.YES.getCode());
return corpInfoMapper.selectList(queryWrapper);
}