From 7b52da0248bf654f71fea26f35c3d1bec1fd7a42 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 29 Oct 2025 19:21:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=AE=A4=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/enums/MemberComAuthEnum.java | 28 +++++++++++++ .../app/comauth/AppComAuthController.java | 38 ++++++++++++++++++ .../comauth/vo/CreateMemberUserAuthReqVo.java | 39 ++++++++++++++++++ .../dal/dataobject/comauth/ComAuthDO.java | 33 +++++++++++++++ .../service/comauth/ComAuthService.java | 7 +++- .../service/comauth/ComAuthServiceImpl.java | 40 +++++++++++++++++++ 6 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberComAuthEnum.java create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/AppComAuthController.java create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/vo/CreateMemberUserAuthReqVo.java diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberComAuthEnum.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberComAuthEnum.java new file mode 100644 index 0000000..903f580 --- /dev/null +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberComAuthEnum.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.member.enums; + +import cn.hutool.core.util.ObjectUtil; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.List; + +/** + * 通用认证 - 业务类型 + */ +@Getter +@AllArgsConstructor +public enum MemberComAuthEnum { + MEMBER_TRUE("1", "用户真实性认证"), + ; + private final String type; + private final String description; + + public static boolean contains(MemberRecentOperateEnum operateEnum) { + return Arrays.asList(values()).stream().anyMatch(v -> ObjectUtil.equals(v.type, operateEnum.getType())); + } + + public static boolean contains(List operateEnumList) { + return operateEnumList.stream().anyMatch(MemberRecentOperateEnum::contains); + } +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/AppComAuthController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/AppComAuthController.java new file mode 100644 index 0000000..b5bbecb --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/AppComAuthController.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.member.controller.app.comauth; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.member.controller.app.comauth.vo.CreateMemberUserAuthReqVo; +import cn.iocoder.yudao.module.member.dal.dataobject.comauth.ComAuthDO; +import cn.iocoder.yudao.module.member.service.comauth.ComAuthService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 用户认证") +@RestController +@RequestMapping("/member/com-auth") +@Validated +public class AppComAuthController { + + @Resource + private ComAuthService comAuthService; + + @PostMapping("/create") + @Operation(summary = "创建用户真实性认证") + public CommonResult createMemberUserAuth(@Valid @RequestBody CreateMemberUserAuthReqVo dto) { + return success(comAuthService.createMemberUserAuth(dto)); + } + + @PostMapping("/create") + @Operation(summary = "创建用户真实性认证") + public CommonResult getMemberUserAuth(@RequestParam("id") Long id) { + return success(comAuthService.getAuth(id)); + } + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/vo/CreateMemberUserAuthReqVo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/vo/CreateMemberUserAuthReqVo.java new file mode 100644 index 0000000..6cddbde --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/comauth/vo/CreateMemberUserAuthReqVo.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.member.controller.app.comauth.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class CreateMemberUserAuthReqVo { + + @Schema(description = "会员编号") + private Long memberId; + + @Schema(description = "身高(cm)") + @NotNull(message = "身高(cm)") + private double memberHeight; + + @Schema(description = "体重(kg)") + @NotNull(message = "体重(kg)不能为空") + private double memberWeight; + + @Schema(description = "微信号") + @NotNull(message = "微信号不能为空") + private String memberWechatNumber; + + @Schema(description = "职业") + @NotNull(message = "职业不能为空") + private String memberOcc; + + @Schema(description = "个人介绍") + @NotNull(message = "个人介绍不能为空") + private String memberDesc; + + @Schema(description = "认证图片或视频") + @NotNull(message = "认证图片或视频不能为空") + private Long authPic; + + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/comauth/ComAuthDO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/comauth/ComAuthDO.java index 18aa75b..6614d62 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/comauth/ComAuthDO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/comauth/ComAuthDO.java @@ -63,4 +63,37 @@ public class ComAuthDO extends BaseDO { */ private String authStatus; + /** + * 用户真实性认证额外信息(json) + */ + @Data + public static class MemberInfoAuthExtra { + + /** + * 身高(cm) + */ + private double memberHeight; + + /** + * 体重(kg) + */ + private double memberWeight; + + /** + * 微信号 + */ + private String memberWechatNumber; + + /** + * 职业 + */ + private String memberOcc; + + /** + * 个人介绍 + */ + private String memberDesc; + + } + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthService.java index 14b5d3f..2c7c88a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthService.java @@ -5,6 +5,7 @@ import javax.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.member.controller.admin.comauth.vo.ComAuthPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.comauth.vo.ComAuthSaveReqVO; +import cn.iocoder.yudao.module.member.controller.app.comauth.vo.CreateMemberUserAuthReqVo; import cn.iocoder.yudao.module.member.dal.dataobject.comauth.ComAuthDO; /** @@ -17,6 +18,11 @@ public interface ComAuthService { */ Long createAuth(@Valid ComAuthSaveReqVO createReqVO); + /** + * 创建用户真实性认证 + */ + Long createMemberUserAuth(@Valid CreateMemberUserAuthReqVo dto); + /** * 更新用户认证 */ @@ -36,5 +42,4 @@ public interface ComAuthService { * 获得用户认证分页 */ PageResult getAuthPage(ComAuthPageReqVO pageReqVO); - } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java index 25b8bc0..564ffd8 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/comauth/ComAuthServiceImpl.java @@ -1,9 +1,12 @@ package cn.iocoder.yudao.module.member.service.comauth; +import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.module.member.controller.admin.comauth.vo.ComAuthPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.comauth.vo.ComAuthSaveReqVO; +import cn.iocoder.yudao.module.member.controller.app.comauth.vo.CreateMemberUserAuthReqVo; import cn.iocoder.yudao.module.member.dal.dataobject.comauth.ComAuthDO; import cn.iocoder.yudao.module.member.dal.mysql.comauth.ComAuthMapper; +import cn.iocoder.yudao.module.member.enums.MemberComAuthEnum; import cn.iocoder.yudao.module.member.enums.MemberErrorCode; import org.springframework.stereotype.Service; @@ -30,6 +33,9 @@ public class ComAuthServiceImpl implements ComAuthService { @Resource private ComAuthMapper authMapper; + /** + * 创建用户认证 + */ @Override public Long createAuth(ComAuthSaveReqVO createReqVO) { // 插入 @@ -39,6 +45,31 @@ public class ComAuthServiceImpl implements ComAuthService { return auth.getId(); } + /** + * 创建用户真实性认证 + */ + @Override + public Long createMemberUserAuth(CreateMemberUserAuthReqVo dto) { + // 额外信息 + ComAuthDO.MemberInfoAuthExtra memberInfoAuthExtra = new ComAuthDO.MemberInfoAuthExtra(); + memberInfoAuthExtra.setMemberHeight(dto.getMemberHeight()); + memberInfoAuthExtra.setMemberWeight(dto.getMemberWeight()); + memberInfoAuthExtra.setMemberWechatNumber(dto.getMemberWechatNumber()); + memberInfoAuthExtra.setMemberOcc(dto.getMemberOcc()); + memberInfoAuthExtra.setMemberDesc(dto.getMemberDesc()); + // 新增 + ComAuthDO saveObj = new ComAuthDO(); + saveObj.setBizId(dto.getMemberId()); + saveObj.setBizType(MemberComAuthEnum.MEMBER_TRUE.getType()); + saveObj.setAuthExtraJson(JSONUtil.toJsonStr(memberInfoAuthExtra)); + saveObj.setAuthPic(dto.getAuthPic()); + authMapper.insert(saveObj); + return saveObj.getId(); + } + + /** + * 更新用户认证 + */ @Override public void updateAuth(ComAuthSaveReqVO updateReqVO) { // 校验存在 @@ -48,6 +79,9 @@ public class ComAuthServiceImpl implements ComAuthService { authMapper.updateById(updateObj); } + /** + * 删除用户认证 + */ @Override public void deleteAuth(Long id) { // 校验存在 @@ -56,11 +90,17 @@ public class ComAuthServiceImpl implements ComAuthService { authMapper.deleteById(id); } + /** + * 获得用户认证 + */ @Override public ComAuthDO getAuth(Long id) { return authMapper.selectById(id); } + /** + * 获得用户认证分页 + */ @Override public PageResult getAuthPage(ComAuthPageReqVO pageReqVO) { return authMapper.selectPage(pageReqVO);