From 400ebeef3ede604250b6baedc810eede1d0be500 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Mon, 18 Aug 2025 23:30:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=A4=E8=AF=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 +++ .../sczx/user/controller/AuthController.java | 9 ++++++ .../java/com/sczx/user/dto/AuthRequest.java | 32 +++++++++++++++++++ .../java/com/sczx/user/po/BaseUserPO.java | 12 +++++++ .../com/sczx/user/service/IUserService.java | 11 ++++--- .../user/service/impl/UserServiceImpl.java | 21 +++++++++--- 6 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/sczx/user/dto/AuthRequest.java diff --git a/pom.xml b/pom.xml index cd98a78..0270bc0 100644 --- a/pom.xml +++ b/pom.xml @@ -75,6 +75,11 @@ spring-cloud-starter-alibaba-nacos-discovery + + org.springframework.boot + spring-boot-starter-validation + + org.springframework.cloud spring-cloud-commons diff --git a/src/main/java/com/sczx/user/controller/AuthController.java b/src/main/java/com/sczx/user/controller/AuthController.java index 0348f56..566ef6c 100644 --- a/src/main/java/com/sczx/user/controller/AuthController.java +++ b/src/main/java/com/sczx/user/controller/AuthController.java @@ -2,6 +2,7 @@ package com.sczx.user.controller; import com.sczx.user.common.Result; import com.sczx.user.dto.AlipayMiniProgramRegRequest; +import com.sczx.user.dto.AuthRequest; import com.sczx.user.dto.LoginResponse; import com.sczx.user.dto.WxMiniProgramRegRequest; import com.sczx.user.service.IUserService; @@ -11,6 +12,8 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; + @Api(value = "登录控制器", tags = "注册登录") @RequestMapping("/auth") @RestController @@ -67,4 +70,10 @@ public class AuthController { } + @ApiOperation(value = "身份认证", notes = "身份认证") + @PostMapping("/authUser") + public Result authUser(@Valid @RequestBody AuthRequest authRequest) { + userService.authUser(authRequest); + return Result.ok(true); + } } diff --git a/src/main/java/com/sczx/user/dto/AuthRequest.java b/src/main/java/com/sczx/user/dto/AuthRequest.java new file mode 100644 index 0000000..56ffd20 --- /dev/null +++ b/src/main/java/com/sczx/user/dto/AuthRequest.java @@ -0,0 +1,32 @@ +package com.sczx.user.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@ApiModel(value = "AuthRequest对象", description = "认证请求对象") +@Data +public class AuthRequest { + + @ApiModelProperty(value = "用户id", required = false) + private Long userId; + + @NotNull(message = "身份证号不能为空") + @ApiModelProperty("身份证号") + private String idNo; + + @NotNull(message = "真实姓名不能为空") + @ApiModelProperty("身份证号") + private String realName; + + @NotNull(message = "正面照片不能为空") + @ApiModelProperty("正面照片") + private String frontPhoto; + + @NotNull(message = "背面照片不能为空") + @ApiModelProperty("背面照片") + private String backPhoto; +} diff --git a/src/main/java/com/sczx/user/po/BaseUserPO.java b/src/main/java/com/sczx/user/po/BaseUserPO.java index b3eb90e..f0c81c0 100644 --- a/src/main/java/com/sczx/user/po/BaseUserPO.java +++ b/src/main/java/com/sczx/user/po/BaseUserPO.java @@ -58,6 +58,18 @@ public class BaseUserPO implements Serializable { @ApiModelProperty("是否认证0未认证1已认证") private Integer authed; + @ApiModelProperty("身份证号") + private String idNo; + + @ApiModelProperty("身份证号") + private String realName; + + @ApiModelProperty("正面照片") + private String frontPhoto; + + @ApiModelProperty("背面照片") + private String backPhoto; + @ApiModelProperty("删除标志(0代表存在 2代表删除)") private String delFlag; diff --git a/src/main/java/com/sczx/user/service/IUserService.java b/src/main/java/com/sczx/user/service/IUserService.java index 68f1fdf..c8d08d6 100644 --- a/src/main/java/com/sczx/user/service/IUserService.java +++ b/src/main/java/com/sczx/user/service/IUserService.java @@ -1,9 +1,6 @@ package com.sczx.user.service; -import com.sczx.user.dto.AlipayMiniProgramRegRequest; -import com.sczx.user.dto.LoginResponse; -import com.sczx.user.dto.SimpleUserInfoDTO; -import com.sczx.user.dto.WxMiniProgramRegRequest; +import com.sczx.user.dto.*; /** * @Author: 张黎 @@ -66,4 +63,10 @@ public interface IUserService { * @return 用户信息 */ SimpleUserInfoDTO getUserInfoByProgramId(String programId, String programType); + + /** + * 用户认证 + * @param authRequest 认证请求 + */ + void authUser(AuthRequest authRequest); } diff --git a/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java b/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java index 3de4b55..687f624 100644 --- a/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java @@ -2,13 +2,11 @@ package com.sczx.user.service.impl; import com.alibaba.nacos.common.utils.MD5Utils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.sczx.user.common.enums.ApiErrorCode; import com.sczx.user.common.enums.MiniProgramTypeEnum; import com.sczx.user.convert.UserInfoConvert; -import com.sczx.user.dto.AlipayMiniProgramRegRequest; -import com.sczx.user.dto.LoginResponse; -import com.sczx.user.dto.SimpleUserInfoDTO; -import com.sczx.user.dto.WxMiniProgramRegRequest; +import com.sczx.user.dto.*; import com.sczx.user.exception.BizException; import com.sczx.user.po.BaseUserPO; import com.sczx.user.repository.BaseUserRepo; @@ -237,6 +235,21 @@ public class UserServiceImpl implements IUserService { return UserInfoConvert.INSTANCE.poToSimpleDTO(baseUserPO); } + @Override + public void authUser(AuthRequest authRequest) { + if(Objects.isNull(authRequest.getUserId())){ + SimpleUserInfoDTO simpleUserInfoDTO = jwtUtil.getUserInfoFromToken(); + authRequest.setUserId((long)simpleUserInfoDTO.getUserId()); + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BaseUserPO::getId, authRequest.getUserId()); + updateWrapper.set(BaseUserPO::getIdNo, authRequest.getIdNo()); + updateWrapper.set(BaseUserPO::getRealName, authRequest.getRealName()); + updateWrapper.set(BaseUserPO::getFrontPhoto, authRequest.getFrontPhoto()); + updateWrapper.set(BaseUserPO::getBackPhoto, authRequest.getBackPhoto()); + baseUserRepo.update(updateWrapper); + } + /** * 获取登录信息 * @param programId