Pārlūkot izejas kodu

feat(member): 添加用户信息列表接口并优化相关功能

- 新增用户信息列表接口,用于获取当前用户的所有用户信息
- 优化用户信息保存逻辑,增加对空值的处理
- 移除用户信息相关请求 VO 中的非空验证注解
- 新增 UserInfoAiService 接口的实现类,实现用户信息列表查询功能
zrd 3 mēneši atpakaļ
vecāks
revīzija
a02305e0cb

+ 0 - 3
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/useridcard/vo/UserIdcardSaveReqVO.java

@@ -16,7 +16,6 @@ public class UserIdcardSaveReqVO {
     private Long id;
     
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15205")
-    @NotNull(message = "用户编号不能为空")
     private Long userId;
     
     @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@@ -48,11 +47,9 @@ public class UserIdcardSaveReqVO {
     private String issuingAuthority;
     
     @Schema(description = "有效期开始日期", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "有效期开始日期不能为空")
     private LocalDate validityStart;
     
     @Schema(description = "有效期结束日期", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "有效期结束日期不能为空")
     private LocalDate validityEnd;
     
     @Schema(description = "相关照片")

+ 0 - 2
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/userinformation/vo/UserInformationSaveReqVO.java

@@ -1,7 +1,6 @@
 package cn.iocoder.yudao.module.member.controller.admin.userinformation.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 @Schema(description = "管理后台 - 用户信息新增/修改 Request VO")
@@ -12,7 +11,6 @@ public class UserInformationSaveReqVO {
     private Long id;
     
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11938")
-    @NotNull(message = "用户编号不能为空")
     private Long userId;
     
     @Schema(description = "个人征信信息")

+ 0 - 15
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/userpersonalcredit/vo/UserPersonalCreditSaveReqVO.java

@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.controller.admin.userpersonalcredit.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -16,7 +15,6 @@ public class UserPersonalCreditSaveReqVO {
     private Long id;
     
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2698")
-    @NotNull(message = "用户编号不能为空")
     private Long userId;
     
     @Schema(description = "报告编号", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -24,7 +22,6 @@ public class UserPersonalCreditSaveReqVO {
     private String reportNumber;
     
     @Schema(description = "报告时间", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "报告时间不能为空")
     private String reportTime;
     
     @Schema(description = "被查询者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@@ -32,60 +29,48 @@ public class UserPersonalCreditSaveReqVO {
     private String name;
     
     @Schema(description = "被查询者证件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotEmpty(message = "被查询者证件类型不能为空")
     private String idCardType;
     
     @Schema(description = "被查询者证件号码", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "被查询者证件号码不能为空")
     private String idCardNumber;
     
     @Schema(description = "查询机构", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "查询机构不能为空")
     private String queryOrganization;
     
     @Schema(description = "查询原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不香")
-    @NotEmpty(message = "查询原因不能为空")
     private String queryReason;
     
     @Schema(description = "异议信息提示")
     private String disputeInfo;
     
     @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "性别不能为空")
     private String gender;
     
     @Schema(description = "出生日期", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "出生日期不能为空")
     private String birthDate;
     
     @Schema(description = "婚姻状况", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotEmpty(message = "婚姻状况不能为空")
     private String maritalStatus;
     
     @Schema(description = "就业状况", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotEmpty(message = "就业状况不能为空")
     private String employmentStatus;
     
     @Schema(description = "学历", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "学历不能为空")
     private String education;
     
     @Schema(description = "学位")
     private String degree;
     
     @Schema(description = "国籍", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "国籍不能为空")
     private String nationality;
     
     @Schema(description = "电子邮箱")
     private String email;
     
     @Schema(description = "通讯地址", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "通讯地址不能为空")
     private String communicationAddress;
     
     @Schema(description = "户籍地址", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotEmpty(message = "户籍地址不能为空")
     private String householdAddress;
     
     @Schema(description = "信贷交易业务类型", example = "1")

+ 10 - 1
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserInfoAiController.java

@@ -16,7 +16,10 @@ import jakarta.validation.Valid;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
 @Tag(name = "APP - 用户信息")
 @RestController
@@ -63,5 +66,11 @@ public class AppUserInfoAiController {
         return success(BeanUtils.toBean(pageResult, UserInfoAiRespVO.class));
     }
     
-    
+    @GetMapping("/list")
+    @Operation(summary = "获得用户信息列表")
+    public CommonResult<List<UserInfoAiRespVO>> getAddressList(UserInfoAiPageReqVO pageReqVO) {
+        pageReqVO.setUserId(getLoginUserId());
+        List<UserInfoAiDO> list = userInfoAiService.getUserInfoAiList(pageReqVO);
+        return success(BeanUtils.toBean(list, UserInfoAiRespVO.class));
+    }
 }

+ 4 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/userinfoai/UserInfoAiService.java

@@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.member.controller.admin.userinfoai.vo.UserInfoAiS
 import cn.iocoder.yudao.module.member.dal.dataobject.userinfoai.UserInfoAiDO;
 import jakarta.validation.Valid;
 
+import java.util.List;
+
 /**
  * 用户信息 Service 接口
  *
@@ -51,4 +53,6 @@ public interface UserInfoAiService {
      */
     PageResult<UserInfoAiDO> getUserInfoAiPage(UserInfoAiPageReqVO pageReqVO);
     
+    List<UserInfoAiDO> getUserInfoAiList(UserInfoAiPageReqVO pageReqVO);
+    
 }

+ 19 - 1
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/userinfoai/UserInfoAiServiceImpl.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.member.service.userinfoai;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.exception.BaseErrorCodeConstants;
 import cn.iocoder.yudao.framework.common.exception.util.CommonValidationUtils;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.dict.core.AiFrameworkUtils;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.member.controller.admin.userinfoai.vo.UserInfoAiPageReqVO;
 import cn.iocoder.yudao.module.member.controller.admin.userinfoai.vo.UserInfoAiSaveReqVO;
@@ -15,6 +17,8 @@ import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
+import java.util.List;
+
 /**
  * 用户信息 Service 实现类
  *
@@ -39,7 +43,10 @@ public class UserInfoAiServiceImpl implements UserInfoAiService {
         UserInfoAiDO userInfoAi = BeanUtils.toBean(createReqVO, UserInfoAiDO.class);
         userInfoAi.setUserId(SecurityFrameworkUtils.getLoginUserId());
         userInfoAi.setInfoStatus("1");
-        userInfoAi.setTextInformation(AiFrameworkUtils.dataDual(createReqVO.getInfoFiles()));
+        if (CollUtil.isNotEmpty(createReqVO.getInfoFiles())) {
+            userInfoAi.setTextInformation(AiFrameworkUtils.dataDual(createReqVO.getInfoFiles()));
+        }
+        
         userInfoAiMapper.insert(userInfoAi);
         // 返回
         return userInfoAi.getId();
@@ -57,6 +64,9 @@ public class UserInfoAiServiceImpl implements UserInfoAiService {
                         .setSql("info_Status =0"));
         updateReqVO.setInfoStatus("1");
         updateReqVO.setTextInformation(AiFrameworkUtils.dataDual(updateReqVO.getInfoFiles()));
+        if (CollUtil.isNotEmpty(updateReqVO.getInfoFiles())) {
+            updateReqVO.setTextInformation(AiFrameworkUtils.dataDual(updateReqVO.getInfoFiles()));
+        }
         UserInfoAiDO updateObj = BeanUtils.toBean(updateReqVO, UserInfoAiDO.class);
         userInfoAiMapper.updateById(updateObj);
     }
@@ -85,4 +95,12 @@ public class UserInfoAiServiceImpl implements UserInfoAiService {
         return userInfoAiMapper.selectPage(pageReqVO);
     }
     
+    @Override
+    public List<UserInfoAiDO> getUserInfoAiList(UserInfoAiPageReqVO pageReqVO) {
+        
+        return userInfoAiMapper.selectList(new LambdaQueryWrapperX<UserInfoAiDO>().eq(UserInfoAiDO::getUserId,
+                pageReqVO.getUserId())
+        );
+    }
+    
 }