From 02d6a517f7d4dac2d5271cefe421a628d838414b Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sat, 20 Sep 2025 03:35:55 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/MedicalInsuranceAccountServiceImpl.java       |    6 +
 ruoyi-system/src/main/java/com/ruoyi/system/domain/UserAccount.java                               |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/domain/out/UserKycOut.java                            |   27 ++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java        |   27 +++---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java |   10 +-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java                 |   53 +++++++++++--
 ruoyi-system/src/main/java/com/ruoyi/system/domain/UserKyc.java                                   |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java       |   22 +++--
 ruoyi-system/src/main/java/com/ruoyi/system/domain/UserPolicy.java                                |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java              |   19 +++-
 ruoyi-admin/src/main/java/com/ruoyi/im/config/AppAuthConfig.java                                  |    2 
 ruoyi-admin/src/main/resources/application-druid.yml                                              |    6 
 ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java                    |    4 +
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java                      |    5 +
 ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java                          |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsuranceProductUpdateDTO.java             |    5 -
 16 files changed, 142 insertions(+), 54 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/config/AppAuthConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/im/config/AppAuthConfig.java
index c3f0764..e9b5674 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/config/AppAuthConfig.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/config/AppAuthConfig.java
@@ -5,7 +5,7 @@
     /**
      * 应用认证配置
      */
-    DEFAULT_CONFIG("d3aa2010cbfcd1f5021367928b60987c", "42647c75bde9");
+    DEFAULT_CONFIG("cd693c66bb6992a7cc2b13379e981d48", "720c0b98f7a3");
 
     private final String appKey;
     private final String appSecret;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/MedicalInsuranceAccountServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/MedicalInsuranceAccountServiceImpl.java
index 575ec0e..0ca172b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/MedicalInsuranceAccountServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/MedicalInsuranceAccountServiceImpl.java
@@ -11,6 +11,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.xml.crypto.Data;
 import java.math.BigDecimal;
@@ -50,7 +51,7 @@
                 }
 
                 // 检查账户状态
-                if (!"ACTIVE".equals(account.getAccountStatus())) {
+                if (!"ACTIVE".equals(account.getAccountStatus().name())) {
                     return Result.error("保单已失效");
                 }
 
@@ -108,6 +109,7 @@
                 return Result.success("领取成功");
             }catch (Exception e){
                 e.printStackTrace();
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 log.error("领取保险金出错:"+e.getMessage());
             }finally {
                 accountLock.unlock();
@@ -126,7 +128,7 @@
             return Result.success(false);
         }
         // 检查账户状态
-        if (!"ACTIVE".equals(account.getAccountStatus())) {
+        if (!"ACTIVE".equals(account.getAccountStatus().name())) {
             return Result.success(false);
         }
         // 检查账户有效期
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
index 10c667e..a594a9d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
@@ -36,6 +36,10 @@
         if(ObjectUtil.isEmpty(userAccount)){
             return Result.error("请重新登录,未查询到你的信息!");
         }
+        if(userAccount.getKycStatus() == 0){
+            return Result.error("请先实名认证");
+        }
+
         // 验证手机号
         boolean isPhoneValid = ValidatorUtil.isValidPhone(dto.getPhone());
         if(!isPhoneValid){
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java
index 08440bb..7b75a59 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java
@@ -26,18 +26,19 @@
      * 新增保险职位
      */
     @PostMapping("/add")
-    public AjaxResult add(@Valid @RequestBody InsurancePositionDto dto) {
+    public AjaxResult add(InsurancePositionDto dto) {
         try {
             InsurancePosition insurancePosition = new InsurancePosition();
             insurancePosition.setPosition(dto.getPosition());
             insurancePosition.setNumberPeople(dto.getNumberPeople());
             insurancePosition.setRank(dto.getRank());
+            insurancePosition.setSalary(dto.getSalary());
             insurancePosition.setCreatedAt(new Date());
             insurancePosition.setUpdatedAt(new Date());
             service.save(insurancePosition);
             return AjaxResult.success("添加成功");
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
             return AjaxResult.error("添加失败!");
         }
     }
@@ -45,13 +46,13 @@
 
 
     /**
-     * 删除产品
+     * 删除保险职位
      */
-    @DeleteMapping("/{id}")
-    public AjaxResult delete(@PathVariable Integer id) {
+    @GetMapping("/delete")
+    public AjaxResult delete(@RequestParam(value = "id") Integer id) {
         InsurancePosition position = service.getById(id);
         if (position == null) {
-            return AjaxResult.error("产品不存在");
+            return AjaxResult.error("职位不存在");
         }
 
         boolean success = service.removeById(id);
@@ -59,7 +60,7 @@
     }
 
     /**
-     * 产品信息列表
+     * 职位列表
      */
     @GetMapping("/list")
     public TableDataInfo list() {
@@ -72,10 +73,10 @@
     }
 
     /**
-     * 新增保险职位
+     * 修改保险职位
      */
     @PostMapping("/update")
-    public AjaxResult update(@Valid @RequestBody InsurancePositionDto dto) {
+    public AjaxResult update(InsurancePositionDto dto) {
         try {
             InsurancePosition position = service.getById(dto.getId());
             if(position == null){
@@ -84,11 +85,12 @@
             position.setPosition(dto.getPosition());
             position.setNumberPeople(dto.getNumberPeople());
             position.setRank(dto.getRank());
+            position.setSalary(dto.getSalary());
             position.setUpdatedAt(new Date());
             service.updateById(position);
             return AjaxResult.success("修改成功");
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
             return AjaxResult.error("修改失败!");
         }
     }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java
index 7912fae..2c9b1c8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsuranceProductController.java
@@ -43,7 +43,7 @@
      */
     @PostMapping("/update")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult update(@Valid @RequestBody InsuranceProductUpdateDTO dto) {
+    public AjaxResult update(InsuranceProductUpdateDTO dto) {
         // 1. 查询产品是否存在
         InsuranceProduct insuranceProduct = insuranceProductService.getById(dto.getId());
         if (insuranceProduct == null) {
@@ -52,7 +52,6 @@
 
         // 2. 更新产品基本信息
         insuranceProduct.setProductName(dto.getProductName());
-        insuranceProduct.setProductCode(dto.getProductCode());
         insuranceProduct.setDescription(dto.getDescription());
         insuranceProduct.setCoverageAmount(dto.getCoverageAmount());
         insuranceProduct.setPremium(dto.getPremium());
@@ -118,7 +117,7 @@
             deleteByProductId(insuranceProduct.getId());
         }
 
-        return AjaxResult.success("保存成功!");
+        return AjaxResult.success("修改成功!");
     }
 
     public void deleteByProductId(Integer productId) {
@@ -140,24 +139,26 @@
      * 产品信息列表
      */
     @GetMapping("/list")
-    public TableDataInfo list(InsuranceProductUpdateDTO dto) {
+    public TableDataInfo list(@RequestParam(value = "productName",required = false) String productName,
+                              @RequestParam(value = "productCode",required = false) String productCode,
+                              @RequestParam(value = "status",required = false) String status) {
         startPage();
 
         LambdaQueryWrapper<InsuranceProduct> wrapper = new LambdaQueryWrapper<>();
 
         // 产品名称模糊查询
-        if (StringUtils.isNotBlank(dto.getProductName())) {
-            wrapper.like(InsuranceProduct::getProductName, dto.getProductName());
+        if (StringUtils.isNotBlank(productName)) {
+            wrapper.like(InsuranceProduct::getProductName, productName);
         }
 
         // 产品代码模糊查询
-        if (StringUtils.isNotBlank(dto.getProductCode())) {
-            wrapper.like(InsuranceProduct::getProductCode, dto.getProductCode());
+        if (StringUtils.isNotBlank(productCode)) {
+            wrapper.like(InsuranceProduct::getProductCode, productCode);
         }
 
         // 产品状态精确查询
-        if (dto.getStatus() != null) {
-            wrapper.eq(InsuranceProduct::getStatus, dto.getStatus());
+        if (StringUtils.isNotBlank(status)) {
+            wrapper.eq(InsuranceProduct::getStatus, status);
         }
 
         // 按创建时间倒序排列
@@ -172,7 +173,7 @@
      */
     @PostMapping("/create")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult create(@Valid @RequestBody InsuranceProductUpdateDTO dto) {
+    public AjaxResult create(InsuranceProductUpdateDTO dto) {
         // 1. 检查产品代码是否已存在
         long count = insuranceProductService.count(new LambdaQueryWrapper<InsuranceProduct>().eq(InsuranceProduct::getProductCode, dto.getProductCode()));
         if (count > 0) {
@@ -254,8 +255,8 @@
     /**
      * 删除产品
      */
-    @DeleteMapping("/{id}")
-    public AjaxResult delete(@PathVariable Integer id) {
+    @GetMapping("/delete")
+    public AjaxResult delete(@RequestParam(value = "id") Integer id) {
         InsuranceProduct product = insuranceProductService.getById(id);
         if (product == null) {
             return AjaxResult.error("产品不存在");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java
index 617a077..e28c2dd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java
@@ -23,24 +23,24 @@
      * 领取保险金
      */
     @GetMapping("/getInsuranceBenefit")
-    public Result getInsuranceBenefit(@RequestParam(value = "id") Integer id) {
+    public Result getInsuranceBenefit(@RequestParam(value = "userId") Integer userId) {
         try {
-            return medicalInsuranceAccountService.getInsuranceBenefit(id);
+            return medicalInsuranceAccountService.getInsuranceBenefit(userId);
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
             return Result.error("购买失败!");
         }
     }
 
     /**
-     * 领取保险金
+     * 查询领取状态
      */
     @GetMapping("/getReceiveStatus")
     public Result getReceiveStatus(@RequestParam(value = "userId") Integer userId) {
         try {
             return medicalInsuranceAccountService.getReceiveStatus(userId);
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
             return Result.error("购买失败!");
         }
     }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
index ac14b1c..49bd24e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
@@ -1,11 +1,15 @@
 package com.ruoyi.web.controller.product;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.im.comm.Result;
 import com.ruoyi.im.service.UserKycService;
 import com.ruoyi.im.service.impl.UserKycServiceImpl;
+import com.ruoyi.system.domain.InsurancePosition;
 import com.ruoyi.system.domain.UserAccount;
 import com.ruoyi.system.domain.UserKyc;
 import com.ruoyi.system.domain.UserPolicy;
@@ -14,14 +18,17 @@
 import com.ruoyi.system.mapper.UserKycMapper;
 import com.ruoyi.system.service.UserAccountService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.List;
 
 @RestController
 @RequestMapping("/kyc")
-public class UserKycController {
+public class UserKycController extends BaseController {
 
     @Autowired
     UserKycService userKycService;
@@ -30,10 +37,11 @@
     UserAccountService userAccountService;
 
     /**
-     * 保险购买申请
+     * 实名认证申请
      */
     @PostMapping("/kycApply")
-    public Result kycApply(@Valid @RequestBody UserKycDto dto) {
+    @Transactional
+    public Result kycApply(UserKycDto dto) {
         try {
             UserAccount userAccount = userAccountService.getById(dto.getUserId());
             if(ObjectUtil.isEmpty(userAccount)){
@@ -41,23 +49,31 @@
             }
             UserKyc userKyc = new UserKyc();
             userKyc.setUserId(userAccount.getId());
+            userKyc.setAccount(userAccount.getAccount());
             userKyc.setState(0);
             userKyc.setHeadPortraitImg(dto.getHeadPortraitImg());
             userKyc.setNationalEmblemImg(dto.getNationalEmblemImg());
             userKyc.setHandImg(dto.getHandImg());
             userKycService.save(userKyc);
+            userAccount.setKycStatus(0);
+            userAccountService.updateById(userAccount);
             return Result.success("提交成功,请等待审核!");
         }catch (Exception e){
-            e.getMessage();
-            return Result.error("购买失败");
+            e.printStackTrace();
+            // 手动设置回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return Result.error("提交失败");
         }
     }
 
     /**
      * 实名认证审批
      */
-    @PostMapping("/examine")
-    public AjaxResult examine(@RequestParam(value = "id") Integer id, @RequestParam(value = "approvalStatus") Integer approvalStatus, @RequestParam(value = "message",required = false) String message) {
+    @GetMapping("/examine")
+    @Transactional
+    public AjaxResult examine(@RequestParam(value = "id") Integer id,
+                              @RequestParam(value = "approvalStatus") Integer approvalStatus,
+                              @RequestParam(value = "message",required = false) String message) {
         try {
             UserKyc userKyc = userKycService.getById(id);
             if(ObjectUtil.isEmpty(userKyc)){
@@ -72,11 +88,32 @@
             userKyc.setState(approvalStatus);
             userKyc.setMessage(message);
             userKyc.setUpdatedAt(new Date());
+
+            UserAccount userAccount = userAccountService.getById(userKyc.getUserId());
+            userAccount.setKycStatus(approvalStatus);
+            userAccountService.updateById(userAccount);
             return AjaxResult.success("审批成功");
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
+            // 手动设置回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return AjaxResult.error("审批失败!");
         }
     }
 
+    /**
+     * 什么认证列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(@RequestParam(value = "account",required = false) String account) {
+        startPage();
+        LambdaQueryWrapper<UserKyc> wrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotEmpty(account)){
+            wrapper.eq(UserKyc::getAccount,account);
+        }
+        // 按创建时间倒序排列
+        wrapper.orderByDesc(UserKyc::getCreatedAt);
+        List<UserKyc> list = userKycService.list(wrapper);
+        return getDataTable(list);
+    }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java
index 299b4bb..8bb30d0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.im.service.UserPolicyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -37,11 +38,11 @@
      * 保险购买申请
      */
     @PostMapping("/purchaseApplication")
-    public Result purchaseApplication(@Valid @RequestBody UserPolicyDto dto) {
+    public Result purchaseApplication(UserPolicyDto dto) {
         try {
             return userPolicyService.purchaseApplication(dto);
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
             return Result.error("购买失败");
         }
     }
@@ -55,17 +56,19 @@
             List<UserPolicy> list = userPolicyService.list(new LambdaQueryWrapper<UserPolicy>().eq(UserPolicy::getUserId, id));
             return Result.success(list);
         }catch (Exception e){
-            e.getMessage();
-            return Result.error("购买失败");
+            e.printStackTrace();
+            return Result.error("查询失败");
         }
     }
 
     /**
      * 保单审批
      */
-    @PostMapping("/examine")
+    @GetMapping("/examine")
     @Transactional
-    public AjaxResult examine(@RequestParam(value = "id") Integer id, @RequestParam(value = "approvalStatus") Integer approvalStatus, @RequestParam(value = "message",required = false) String message) {
+    public AjaxResult examine(@RequestParam(value = "id") Integer id,
+                              @RequestParam(value = "approvalStatus") Integer approvalStatus,
+                              @RequestParam(value = "message",required = false) String message) {
         try {
             UserPolicy userPolicy = userPolicyService.getById(id);
             if(ObjectUtil.isEmpty(userPolicy)){
@@ -106,7 +109,9 @@
             medicalInsuranceAccountService.save(medicalInsuranceAccount);
             return AjaxResult.success("审批成功");
         }catch (Exception e){
-            e.getMessage();
+            e.printStackTrace();
+            // 手动设置回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return AjaxResult.error("审批失败!");
         }
     }
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 11541ce..1fb4c8a 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,9 +6,9 @@
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-                username: root
-                password: 123456
+                url: jdbc:mysql://156.240.108.70:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                username: ruoyi
+                password: M6MhYJi6zACSR7nf
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
index ff362ec..99cdbfe 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -119,6 +119,11 @@
                     .antMatchers("/im/user/**").permitAll()
                     .antMatchers("/im/group/**").permitAll()
                     .antMatchers("/system/basic/**").permitAll()
+                    .antMatchers("/product/**").permitAll()
+                    .antMatchers("/insurancePosition/**").permitAll()
+                    .antMatchers("/MedicalInsuranceAccount/**").permitAll()
+                    .antMatchers("/kyc/**").permitAll()
+                    .antMatchers("/userPolicy/**").permitAll()
                     // 除上面外的所有请求全部需要鉴权认证
                     .anyRequest().authenticated();
             })
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java
index 4029566..f96446b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.domain;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
@@ -60,6 +61,7 @@
     private String obligationDisclose;
 
     // 产品特色
+    @TableField(exist = false)
     private List<InsuranceFeature> productFeature;
 
     // 投保须知
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserAccount.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserAccount.java
index dcb7d5f..b15db17 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserAccount.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserAccount.java
@@ -85,4 +85,7 @@
     private Date updateTime;
 
     private Boolean deleted = true;
+
+    //实名状态:0 认证中  1 已认证   2 未实名
+    private Integer kycStatus = 2;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserKyc.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserKyc.java
index ca7f7db..602d4b2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserKyc.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserKyc.java
@@ -19,6 +19,9 @@
     // 系统生成的用户ID
     private Integer userId;
 
+    //用户账号
+    private String account;
+
     //头像图片
     private String headPortraitImg;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserPolicy.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserPolicy.java
index daaf380..c47ecdb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserPolicy.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/UserPolicy.java
@@ -80,7 +80,7 @@
     //驳回信息
     private String message;
 
-    // 性别枚举
+    // 性别枚举 M:男  F:女  OTHER:其他
     public enum Gender {
         M, F, OTHER
     }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsuranceProductUpdateDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsuranceProductUpdateDTO.java
index 9771e10..448943a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsuranceProductUpdateDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsuranceProductUpdateDTO.java
@@ -31,7 +31,7 @@
     // 保险期限
     private Integer term;
 
-    // 产品状态
+    // 产品状态产品状态(ACTIVE  上架,INACTIVE  下架)
     private String status;
 
     // 医院数量
@@ -45,9 +45,6 @@
 
     // 告知义务
     private String obligationDisclose;
-
-    // 产品特色
-    private String productFeature;
 
     // 投保须知
     private String liabilityExemption;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/out/UserKycOut.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/out/UserKycOut.java
new file mode 100644
index 0000000..30a7899
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/out/UserKycOut.java
@@ -0,0 +1,27 @@
+package com.ruoyi.system.domain.out;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+@Data
+public class UserKycOut {
+
+    private Integer id;
+
+    // 用户id
+    private Integer userId;
+
+    //用户账号
+    private String account;
+
+    //头像图片
+    private String headPortraitImg;
+
+    //国徽图片
+    private String nationalEmblemImg;
+
+    //手持照片
+    private String handImg;
+
+}

--
Gitblit v1.9.3