Commit Graph

218 Commits

Author SHA1 Message Date
wkc
7ca532da8f Merge branch 'feature/model-param-config' into dev 2026-02-26 10:31:58 +08:00
wkc
872bc3260c feat: 完成模型参数配置功能开发
- 添加 Controller、Mapper、Service 层代码
- 添加前端 API 和页面组件
- 添加后端功能测试报告
2026-02-26 10:31:51 +08:00
wkc
b29e7d8634 Merge branch 'feature/model-param-config' into dev 2026-02-26 10:27:51 +08:00
wkc
367a3da5cb feat: 添加模型参数配置菜单SQL脚本
- 添加模型参数配置主菜单(菜单ID: 2082)
- 添加模型参数查询按钮权限(菜单ID: 2083)
- 添加模型参数保存按钮权限(菜单ID: 2084)
- 父菜单: 信息维护(菜单ID: 2000)
2026-02-26 10:21:17 +08:00
wkc
555bf95abe fix: 修正任务1 - 严格按照规格文档重新实施数据库设计与实体类
## 修正内容

### 1. 数据库表结构修正
- 添加字段: project_id, param_desc
- 删除字段: param_type, min_value, max_value, description, status
- 修正唯一索引: uk_project_model_param (project_id, model_code, param_code)
- 添加普通索引: idx_project_id, idx_model_code

### 2. 初始化数据修正
- 删除错误模型: ASSET_CHANGE, RISK_SCORE, RELATED_TRANSACTION
- 添加正确模型:
  * 大额交易模型 (LARGE_TRANSACTION) - 6个参数
  * 可疑兼职模型 (SUSPICIOUS_PART_TIME) - 3个参数
  * 可疑外汇交易模型 (SUSPICIOUS_FOREIGN_EXCHANGE) - 6个参数
- 共15条参数配置,project_id=0(系统默认参数)

### 3. Entity类修正 (CcdiModelParam.java)
- 添加: projectId, paramDesc
- 删除: paramType, minValue, maxValue, description, status
- 删除: Serializable接口,serialVersionUID
- 简化注释风格

### 4. DTO类修正
**ModelParamQueryDTO:**
- 只保留: projectId, modelCode
- 添加@NotBlank验证

**ModelParamSaveDTO:**
- 改为批量保存结构
- 包含: projectId, modelCode, modelName, params(List)
- 内部类ParamItem包含参数明细
- 只允许修改paramValue字段

### 5. VO类修正
**ModelParamVO:**
- 只保留核心展示字段: id, modelCode, modelName, paramCode, paramName, paramDesc, paramValue, paramUnit, sortOrder
- 删除审计字段

**ModelListVO:**
- 只保留: modelCode, modelName
- 删除paramCount字段

## 验证结果
 数据库表创建成功
 15条初始化数据插入成功
 项目编译通过 (mvn clean compile)
 严格符合规格文档要求
2026-02-26 09:31:44 +08:00
wkc
aa1fdf5e9e feat: 添加模型参数配置功能 - 数据库设计与后端实体类
1. 创建ccdi-project Maven模块
   - 新建模块并配置pom.xml依赖
   - 添加到根pom.xml的modules列表
   - 在ruoyi-admin中添加模块依赖

2. 创建数据库表和初始化数据
   - 建表语句: ccdi_model_param表
   - 3个风险监测模型共15条参数配置
   - 资产异常变动模型(5个参数)
   - 廉政风险评分模型(5个参数)
   - 关联交易监测模型(5个参数)

3. 创建后端实体类和DTO/VO
   - 实体类: CcdiModelParam.java
   - 查询DTO: ModelParamQueryDTO.java
   - 保存DTO: ModelParamSaveDTO.java (含验证注解)
   - 参数VO: ModelParamVO.java
   - 模型列表VO: ModelListVO.java

技术要点:
- 使用@Data注解简化代码
- 不继承BaseEntity,独立定义审计字段
- DTO添加@NotBlank/@NotNull验证注解
- 包名遵循规范: com.ruoyi.ccdi.project
- 项目编译通过: mvn clean compile
2026-02-26 09:23:34 +08:00
wkc
c920577d45 chore: add .gitignore with worktrees exclusion 2026-02-26 09:13:41 +08:00
wkc
5d13f7cd01 参数配置 2026-02-25 16:56:04 +08:00
wkc
1437989d5b style: 使用 import 导入替代全限定类名
将代码中的全限定类名改为使用 import 语句导入,提升代码可读性
2026-02-25 06:34:22 +08:00
wkc
859d52bf96 fix: 修复遗漏的全限定类名引用
将 4 处使用旧包名的全限定类名更新为新包名 com.ruoyi.info.collection
2026-02-24 17:25:58 +08:00
wkc
1cd87d2695 refactor: 重命名 ruoyi-ccdi 模块为 ruoyi-info-collection
- Maven 模块从 ruoyi-ccdi 重命名为 ruoyi-info-collection
- Java 包名从 com.ruoyi.ccdi 改为 com.ruoyi.info.collection
- MyBatis XML 命名空间同步更新
- 保留数据库表名、API URL、权限标识中的 ccdi 前缀
- 更新项目文档中的模块引用
2026-02-24 17:12:11 +08:00
wkc
b126b43e2c 添加nas部署配置
优化md
2026-02-24 16:10:27 +08:00
wkc
7d1ab61705 feat信贷客户实体关系 2026-02-13 10:15:34 +08:00
wkc
1b5d1178f6 feat信贷客户实体关系 2026-02-13 10:15:23 +08:00
wkc
112463fcd3 feat信贷客户家庭关系 身份证模糊搜索 2026-02-12 09:45:16 +08:00
wkc
a46ffdb7db Merge branch 'feat/staff-relation-import-person-id-validation' into dev_1 2026-02-12 09:29:01 +08:00
wkc
1595605817 feat信贷客户家庭关系 2026-02-12 09:27:04 +08:00
wkc
12e384ab19 feat: 添加信贷客户家庭关系表单前端校验
**必填字段校验:**
- 信贷客户身份证号(必填+18位格式校验)
- 关系类型(必填)
- 关系人姓名(必填+长度2-50+字符格式)
- 性别(必填)
- 关系人证件类型(必填)
- 关系人证件号码(必填+动态格式校验)

**格式校验:**
- 身份证号:18位国家标准格式+校验位验证
- 护照:字母开头6-20位字符
- 手机号码:11位1开头格式验证
- 姓名:仅支持中英文和·符号

**业务逻辑校验:**
- 出生日期:不能晚于当前日期,不能早于150年前
- 生效/失效日期:失效日期不能早于生效日期

**长度限制:**
- 微信名称1/2/3:最多50字符
- 详细联系地址:最多200字符
- 关系详细描述:最多500字符
2026-02-11 17:09:36 +08:00
wkc
29b541730b docs: 更新导入API文档,添加身份证号验证说明
- 更新员工调动记录导入API文档,添加导入验证规则说明
- 新增员工实体关系导入API文档
- 新增员工亲属关系导入API文档
- 说明新增的身份证号存在性校验功能
- 记录性能优化(批量预验证、1次遍历)
2026-02-11 17:06:36 +08:00
wkc
45e4096366 feat: 执行信贷客户家庭关系菜单权限SQL
- 插入主菜单(信息维护下第5位)
- 插入6个按钮权限(查询/新增/修改/删除/导出/导入)
- 菜单ID: 2068
- 权限前缀: ccdi:custFmyRelation
2026-02-11 16:59:42 +08:00
wkc
2037ee81f1 feat: 优化信贷客户家庭关系页面与员工亲属关系保持一致
- 添加状态筛选条件
- 添加详情查看功能
- 添加表单状态编辑功能
- 添加查看导入失败记录按钮
- 统一按钮顺序和颜色(新增/导入/导出/查看失败记录)
- 统一表单布局(分隔线、gutter、宽度800px)
- 优化导入失败记录功能(分页、清除历史记录)
- 统一操作按钮文字(详情/编辑/删除)
- 添加创建时间格式化显示
- 添加完整导入状态管理和轮询机制
2026-02-11 16:44:28 +08:00
wkc
ecb421482d feat: 添加信贷客户家庭关系页面组件 2026-02-11 16:19:46 +08:00
wkc
89a3434177 feat: 添加信贷客户家庭关系API接口 2026-02-11 16:17:05 +08:00
wkc
611c676fbe Merge branch 'feat/cust-fmy-relation-backend' into dev_1 2026-02-11 16:04:22 +08:00
wkc
7b1ddeae8a feat: 添加信贷客户家庭关系菜单权限和Controller 2026-02-11 15:52:48 +08:00
wkc
38ef48f656 feat: 添加信贷客户家庭关系Service实现类和Controller 2026-02-11 15:51:59 +08:00
wkc
aaa6256735 fix: 员工ID验证错误信息添加行号 2026-02-11 15:48:30 +08:00
wkc
6ae545a06b Merge branch 'feat/staff-enterprise-relation-person-name' into dev_1 2026-02-11 15:47:24 +08:00
wkc
74f3c04146 feat: 添加信贷客户家庭关系Mapper、Service接口 2026-02-11 15:45:05 +08:00
wkc
5992502f2f feat: 添加信贷客户家庭关系VO类 2026-02-11 15:41:50 +08:00
wkc
b314c75574 fix: 为员工调动导入的数据库重复错误信息添加行号
在员工调动导入功能中,当检测到数据库中已存在相同的调动记录时,
错误信息现在会包含行号,便于用户快速定位问题数据。

修改文件:
- CcdiStaffTransferImportServiceImpl.java

修改内容:
- 将 "该员工在%s的调动记录已存在"
- 改为 "第%d行: 该员工在%s的调动记录已存在"

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 15:40:35 +08:00
wkc
ddec208f0d feat: 添加信贷客户家庭关系DTO类 2026-02-11 15:39:50 +08:00
wkc
a061b8e64d review(staff-enterprise-relation): 最终代码审查报告
- 完成Task 16自我代码审查
- 检查VO类、Mapper XML、前端代码
- 验证测试覆盖和文档完整性
- 综合评分: 93/100 (优秀)
- 审查结论: 代码质量优秀,符合上线标准
- 准备进入Task 17提交和合并
2026-02-11 15:36:24 +08:00
wkc
b8e13ce4ef docs(staff-enterprise-relation): 添加Task 14和Task 15完成记录到实施笔记 2026-02-11 15:32:23 +08:00
wkc
9e3609b8ad refactor: 优化员工调动导入验证逻辑,从2次遍历优化为1次遍历 2026-02-11 15:31:31 +08:00
wkc
93f5be29ce docs(staff-enterprise-relation): 更新数据库设计文档,添加关联查询说明 2026-02-11 15:30:18 +08:00
wkc
b3e0f97f71 feat: 添加信贷客户家庭关系实体类 2026-02-11 15:29:20 +08:00
wkc
719f02bdad feat: 创建信贷客户家庭关系表 2026-02-11 15:28:35 +08:00
wkc
fd9e208fa3 docs(staff-enterprise-relation): 更新API文档,添加员工姓名字段说明
- 新增员工实体关系管理API文档
- 在列表接口和详情接口响应中添加personName字段
- 说明personName通过LEFT JOIN ccdi_base_staff表获取
- 如果personId在员工信息表中不存在,personName为null
2026-02-11 15:27:40 +08:00
wkc
9776d76d1a feat: 员工亲属关系导入添加身份证号存在性校验 2026-02-11 15:20:08 +08:00
wkc
97c9525c2d feat(staff-enterprise-relation): Task 8完成前端编译验证 2026-02-11 15:18:48 +08:00
wkc
af7ec6f43d fix: 调整身份证号验证顺序,避免空指针风险
- 将身份证号存在性检查移到基本数据验证之后
- 此时 personId 已确保不为空且格式正确
- 错误信息更准确,包含操作建议
2026-02-11 15:09:47 +08:00
wkc
1d5e31a2df feat(staff-enterprise-relation): 列表页面添加员工姓名列
- 在身份证号列后添加员工姓名列
- prop名称为personName,与后端VO类保持一致
- 列宽设置为100px
2026-02-11 15:05:12 +08:00
wkc
497e040c81 feat: 员工实体关系导入添加身份证号存在性校验 2026-02-11 15:00:17 +08:00
wkc
eec2f8ccef feat(staff-enterprise-relation): Task 6完成后端编译验证
 后端代码编译成功
 VO类包含personName字段
 Mapper XML LEFT JOIN查询正确
 更新实施笔记

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 14:59:00 +08:00
wkc
51efb477d8 test(staff-enterprise-relation): 添加员工姓名字段测试脚本
- 创建测试脚本验证接口返回personName字段
- 测试列表接口和详情接口
- 自动检查响应中是否包含personName字段

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 14:55:15 +08:00
wkc
6f66108a8e feat(staff-enterprise-relation): 列表查询添加员工姓名JOIN 2026-02-11 14:48:26 +08:00
wkc
17edc7208d feat(staff-enterprise-relation): 添加员工姓名字段到VO 2026-02-11 14:40:29 +08:00
wkc
e2ee494bba fix: 修复信贷客户家庭关系表-添加唯一约束和统一字段类型
- 添加唯一约束 uk_person_cert (person_id, relation_cert_no)
- 统一字段类型与员工表保持一致:
  - id: BIGINT(20)
  - person_id: VARCHAR(100)
  - status: INT(11)
  - created_by/updated_by: VARCHAR(100)
  - update_time: DATETIME NOT NULL
- 添加 IF NOT EXISTS 防止重复创建
- 添加表头注释说明创建时间和用途
2026-02-11 14:38:06 +08:00
wkc
e1a1083c21 docs(staff-enterprise-relation): 标记Task 1为已完成 2026-02-11 14:32:51 +08:00