变更项目缩写

This commit is contained in:
wkc
2026-01-30 14:15:21 +08:00
parent e99b05acc2
commit 29a2e60ee1
107 changed files with 1134 additions and 990 deletions

View File

@@ -4,7 +4,7 @@
中介黑名单管理模块提供个人和机构两类中介信息的增删改查、类型化模板下载和批量导入导出功能。
**基础路径**: `/dpc/intermediary`
**基础路径**: `/ccdi/intermediary`
**权限标识前缀**: `dpc:intermediary`
@@ -14,7 +14,7 @@
### 1. 查询中介黑名单列表
**接口地址**: `GET /dpc/intermediary/list`
**接口地址**: `GET /ccdi/intermediary/list`
**权限要求**: `dpc:intermediary:list`
@@ -69,7 +69,7 @@
### 2. 获取中介黑名单详细信息
**接口地址**: `GET /dpc/intermediary/{intermediaryId}`
**接口地址**: `GET /ccdi/intermediary/{intermediaryId}`
**权限要求**: `dpc:intermediary:query`
@@ -136,7 +136,7 @@
#### 3.1 新增个人中介黑名单
**接口地址**: `POST /dpc/intermediary/person`
**接口地址**: `POST /ccdi/intermediary/person`
**权限要求**: `dpc:intermediary:add`
@@ -189,7 +189,7 @@
#### 3.2 新增机构中介黑名单
**接口地址**: `POST /dpc/intermediary/entity`
**接口地址**: `POST /ccdi/intermediary/entity`
**权限要求**: `dpc:intermediary:add`
@@ -252,7 +252,7 @@
#### 4.1 修改个人中介黑名单
**接口地址**: `PUT /dpc/intermediary/person`
**接口地址**: `PUT /ccdi/intermediary/person`
**权限要求**: `dpc:intermediary:edit`
@@ -309,7 +309,7 @@
#### 4.2 修改机构中介黑名单
**接口地址**: `PUT /dpc/intermediary/entity`
**接口地址**: `PUT /ccdi/intermediary/entity`
**权限要求**: `dpc:intermediary:edit`
@@ -377,7 +377,7 @@
### 5. 删除中介黑名单
**接口地址**: `DELETE /dpc/intermediary/{intermediaryIds}`
**接口地址**: `DELETE /ccdi/intermediary/{intermediaryIds}`
**权限要求**: `dpc:intermediary:remove`
@@ -399,7 +399,7 @@
### 6. 导出中介黑名单
**接口地址**: `POST /dpc/intermediary/export`
**接口地址**: `POST /ccdi/intermediary/export`
**权限要求**: `dpc:intermediary:export`
@@ -411,7 +411,7 @@
### 7. 下载个人中介导入模板(带字典下拉框)
**接口地址**: `POST /dpc/intermediary/importPersonTemplate`
**接口地址**: `POST /ccdi/intermediary/importPersonTemplate`
**权限要求**: 无
@@ -427,14 +427,14 @@
| 张三 | 中介 | 本人 | 男 | 身份证 | 110101199001011234 | 13800138000 | zhangsan | 北京市朝阳区 | XX公司 | 经纪人 | - | - | 测试 |
**注**:带 ▼ 标记的列包含下拉框,选项来自字典:
- 性别:`dpc_indiv_gender`
- 证件类型:`dpc_certificate_type`
- 性别:`ccdi_indiv_gender`
- 证件类型:`ccdi_certificate_type`
---
### 8. 下载机构中介导入模板(带字典下拉框)
**接口地址**: `POST /dpc/intermediary/importEntityTemplate`
**接口地址**: `POST /ccdi/intermediary/importEntityTemplate`
**权限要求**: 无
@@ -450,14 +450,14 @@
| XX公司 | 91110000XXXXXXXXXX | 有限责任公司 | 民企 | 房地产 | 房地产业 | 2020-01-01 | 北京市朝阳区 | 张三 | 身份证 | 110101199001011234 | 李四 | 王五 | - | - | - | - |
**注**:带 ▼ 标记的列包含下拉框,选项来自字典:
- 主体类型:`dpc_entity_type`
- 企业性质:`dpc_enterprise_nature`
- 主体类型:`ccdi_entity_type`
- 企业性质:`ccdi_enterprise_nature`
---
### 9. 导入个人中介黑名单
**接口地址**: `POST /dpc/intermediary/importPersonData`
**接口地址**: `POST /ccdi/intermediary/importPersonData`
**权限要求**: `dpc:intermediary:import`
@@ -490,7 +490,7 @@
### 10. 导入机构中介黑名单
**接口地址**: `POST /dpc/intermediary/importEntityData`
**接口地址**: `POST /ccdi/intermediary/importEntityData`
**权限要求**: `dpc:intermediary:import`
@@ -528,21 +528,21 @@
| 字典类型 | 字典名称 | 用途 |
|---------|---------|------|
| dpc_indiv_gender | 个人中介性别 | 个人中介模板性别下拉框 |
| dpc_certificate_type | 证件类型 | 个人中介模板证件类型下拉框 |
| ccdi_indiv_gender | 个人中介性别 | 个人中介模板性别下拉框 |
| ccdi_certificate_type | 证件类型 | 个人中介模板证件类型下拉框 |
### 机构中介字典
| 字典类型 | 字典名称 | 用途 |
|---------|---------|------|
| dpc_entity_type | 主体类型 | 机构中介模板主体类型下拉框 |
| dpc_enterprise_nature | 企业性质 | 机构中介模板企业性质下拉框 |
| ccdi_entity_type | 主体类型 | 机构中介模板主体类型下拉框 |
| ccdi_enterprise_nature | 企业性质 | 机构中介模板企业性质下拉框 |
### 通用字典
| 字典类型 | 字典名称 | 用途 |
|---------|---------|------|
| dpc_data_source | 数据来源 | 数据来源字段映射 |
| ccdi_data_source | 数据来源 | 数据来源字段映射 |
---

View File

@@ -40,7 +40,7 @@
### 2. 查询中介黑名单列表
**接口:** `GET /dpc/intermediary/list`
**接口:** `GET /ccdi/intermediary/list`
**描述:** 分页查询中介黑名单列表
**请求参数:**
@@ -56,7 +56,7 @@
### 3. 新增个人中介黑名单
**接口:** `POST /dpc/intermediary`
**接口:** `POST /ccdi/intermediary`
**描述:** 新增个人类型的中介黑名单记录
**请求参数:**
@@ -78,7 +78,7 @@
### 4. 新增机构中介黑名单
**接口:** `POST /dpc/intermediary`
**接口:** `POST /ccdi/intermediary`
**描述:** 新增机构类型的中介黑名单记录
**请求参数:**
@@ -100,7 +100,7 @@
### 5. 获取中介详情
**接口:** `GET /dpc/intermediary/{intermediaryId}`
**接口:** `GET /ccdi/intermediary/{intermediaryId}`
**描述:** 根据ID获取中介详细信息
**请求参数:**
@@ -115,7 +115,7 @@
### 6. 修改中介黑名单
**接口:** `PUT /dpc/intermediary`
**接口:** `PUT /ccdi/intermediary`
**描述:** 修改已存在的中介信息
**请求参数:**
@@ -139,7 +139,7 @@
### 7. 导出中介黑名单列表
**接口:** `POST /dpc/intermediary/export`
**接口:** `POST /ccdi/intermediary/export`
**描述:** 导出中介黑名单数据为Excel文件
**请求参数:**
@@ -156,7 +156,7 @@
### 8. 下载个人中介导入模板
**接口:** `POST /dpc/intermediary/importPersonTemplate`
**接口:** `POST /ccdi/intermediary/importPersonTemplate`
**描述:** 下载个人中介导入Excel模板
**测试结果:** ✅ 通过
@@ -168,7 +168,7 @@
### 9. 下载机构中介导入模板
**接口:** `POST /dpc/intermediary/importEntityTemplate`
**接口:** `POST /ccdi/intermediary/importEntityTemplate`
**描述:** 下载机构中介导入Excel模板
**测试结果:** ✅ 通过
@@ -180,7 +180,7 @@
### 10. 条件查询(按中介类型)
**接口:** `GET /dpc/intermediary/list`
**接口:** `GET /ccdi/intermediary/list`
**描述:** 按中介类型筛选查询
**请求参数:**
@@ -197,7 +197,7 @@
### 11. 条件查询(按状态)
**接口:** `GET /dpc/intermediary/list`
**接口:** `GET /ccdi/intermediary/list`
**描述:** 按状态筛选查询
**请求参数:**
@@ -214,7 +214,7 @@
### 12. 删除中介黑名单
**接口:** `DELETE /dpc/intermediary/{intermediaryIds}`
**接口:** `DELETE /ccdi/intermediary/{intermediaryIds}`
**描述:** 批量删除中介黑名单记录
**请求参数:**

View File

@@ -4,7 +4,7 @@
员工信息管理模块提供员工及其亲属信息的增删改查、批量导入导出功能。
**基础路径**: `/dpc/employee`
**基础路径**: `/ccdi/employee`
**权限标识前缀**: `dpc:employee`
@@ -14,7 +14,7 @@
### 1. 查询员工列表
**接口地址**: `GET /dpc/employee/list`
**接口地址**: `GET /ccdi/employee/list`
**权限要求**: `dpc:employee:list`
@@ -74,7 +74,7 @@
### 2. 查询员工详情
**接口地址**: `GET /dpc/employee/{employeeId}`
**接口地址**: `GET /ccdi/employee/{employeeId}`
**权限要求**: `dpc:employee:query`
@@ -118,7 +118,7 @@
### 3. 新增员工
**接口地址**: `POST /dpc/employee`
**接口地址**: `POST /ccdi/employee`
**权限要求**: `dpc:employee:add`
@@ -183,7 +183,7 @@ Authorization: Bearer {token}
### 4. 编辑员工
**接口地址**: `PUT /dpc/employee`
**接口地址**: `PUT /ccdi/employee`
**权限要求**: `dpc:employee:edit`
@@ -223,7 +223,7 @@ Authorization: Bearer {token}
### 5. 删除员工
**接口地址**: `DELETE /dpc/employee/{employeeIds}`
**接口地址**: `DELETE /ccdi/employee/{employeeIds}`
**权限要求**: `dpc:employee:remove`
@@ -247,7 +247,7 @@ Authorization: Bearer {token}
### 6. 导出员工信息
**接口地址**: `POST /dpc/employee/export`
**接口地址**: `POST /ccdi/employee/export`
**权限要求**: `dpc:employee:export`
@@ -259,7 +259,7 @@ Authorization: Bearer {token}
### 7. 下载导入模板(带字典下拉框)
**接口地址**: `POST /dpc/employee/importTemplate`
**接口地址**: `POST /ccdi/employee/importTemplate`
**权限要求**: 无
@@ -274,10 +274,10 @@ Authorization: Bearer {token}
|------|--------|------------|----------|------|----------|------|
| 张三 | 001 | 100 | 110101199001011234 | 13800138000 | 2020-01-01 | 在职 |
**注**:带 ▼ 标记的列包含下拉框,选项来自字典 `dpc_employee_status`
**注**:带 ▼ 标记的列包含下拉框,选项来自字典 `ccdi_employee_status`
**使用 @DictDropdown 注解实现**:
- 状态字段使用 `@DictDropdown(dictType = "dpc_employee_status")` 注解
- 状态字段使用 `@DictDropdown(dictType = "ccdi_employee_status")` 注解
- 系统自动从 Redis 缓存读取字典数据并生成下拉框
- 下拉选项可动态更新,刷新字典缓存后生效
@@ -285,7 +285,7 @@ Authorization: Bearer {token}
### 8. 导入员工信息
**接口地址**: `POST /dpc/employee/importData`
**接口地址**: `POST /ccdi/employee/importData`
**权限要求**: `dpc:employee:import`

View File

@@ -51,7 +51,7 @@ import com.ruoyi.common.annotation.DictDropdown;
import lombok.Data;
@Data
public class DpcEmployeeExcel {
public class CcdiEmployeeExcel {
@ExcelProperty(value = "姓名", index = 0)
@ColumnWidth(15)
@@ -64,7 +64,7 @@ public class DpcEmployeeExcel {
// 添加字典下拉框注解
@ExcelProperty(value = "状态", index = 6)
@ColumnWidth(10)
@DictDropdown(dictType = "dpc_employee_status")
@DictDropdown(dictType = "ccdi_employee_status")
private String status;
}
```
@@ -73,8 +73,8 @@ public class DpcEmployeeExcel {
```java
@RestController
@RequestMapping("/dpc/employee")
public class DpcEmployeeController {
@RequestMapping("/ccdi/employee")
public class CcdiEmployeeController {
/**
* 下载带字典下拉框的导入模板
@@ -83,7 +83,7 @@ public class DpcEmployeeController {
public void importTemplateWithDropdown(HttpServletResponse response) {
EasyExcelUtil.importTemplateWithDictDropdown(
response,
DpcEmployeeExcel.class,
CcdiEmployeeExcel.class,
"员工信息"
);
}
@@ -93,11 +93,11 @@ public class DpcEmployeeController {
*/
@PostMapping("/exportWithDropdown")
public void exportWithDropdown(HttpServletResponse response) {
List<DpcEmployeeExcel> list = employeeService.selectEmployeeList();
List<CcdiEmployeeExcel> list = employeeService.selectEmployeeList();
EasyExcelUtil.exportExcelWithDictDropdown(
response,
list,
DpcEmployeeExcel.class,
CcdiEmployeeExcel.class,
"员工信息"
);
}
@@ -109,21 +109,21 @@ public class DpcEmployeeController {
### 1. 显示字典键值而非标签
```java
@DictDropdown(dictType = "dpc_employee_status", displayType = DisplayType.VALUE)
@DictDropdown(dictType = "ccdi_employee_status", displayType = DisplayType.VALUE)
private String status;
```
### 2. 允许手动输入(非严格模式)
```java
@DictDropdown(dictType = "dpc_employee_status", strict = false)
@DictDropdown(dictType = "ccdi_employee_status", strict = false)
private String status;
```
### 3. 自定义隐藏Sheet名称
```java
@DictDropdown(dictType = "dpc_employee_status", hiddenSheetName = "employee_status_dict")
@DictDropdown(dictType = "ccdi_employee_status", hiddenSheetName = "employee_status_dict")
private String status;
```
@@ -150,7 +150,7 @@ private String status;
1. 启动项目后访问Swagger UI`http://localhost:8080/swagger-ui/index.html`
2. 找到员工信息管理相关接口:
- `POST /dpc/employee/importTemplateWithDropdown` - 下载带字典下拉框的模板
- `POST /ccdi/employee/importTemplateWithDropdown` - 下载带字典下拉框的模板
3. 调用接口下载模板检查Excel中的下拉框是否正常

File diff suppressed because one or more lines are too long

View File

@@ -143,7 +143,7 @@ project_status项目状态:
```sql
-- 项目信息表
CREATE TABLE dpc_project (
CREATE TABLE ccdi_project (
project_id bigint(20) not null auto_increment comment '项目ID',
project_name varchar(100) not null comment '项目名称',
project_desc varchar(500) default null comment '项目描述',
@@ -182,7 +182,7 @@ CREATE TABLE dpc_project (
示例:
```
POST /dpc/project/list
POST /ccdi/project/list
功能: 查询项目列表
请求参数:
{

View File

@@ -10,9 +10,9 @@ Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationExceptio
## 问题原因
1. **数据库约束**`dpc_intermediary_blacklist` 表的 `certificate_no` 字段设置为 `NOT NULL`,不允许存储 null 值。
1. **数据库约束**`ccdi_intermediary_blacklist` 表的 `certificate_no` 字段设置为 `NOT NULL`,不允许存储 null 值。
2. **代码缺陷**:在 `DpcIntermediaryBlacklistServiceImpl.java``importEntityIntermediary` 方法中,导入机构中介时只设置了 `corpCreditCode`(统一社会信用代码),但没有设置 `certificateNo` 字段,导致该字段为 null。
2. **代码缺陷**:在 `CcdiIntermediaryBlacklistServiceImpl.java``importEntityIntermediary` 方法中,导入机构中介时只设置了 `corpCreditCode`(统一社会信用代码),但没有设置 `certificateNo` 字段,导致该字段为 null。
3. **批量插入失败**`batchInsert` 方法明确插入 `certificate_no` 字段,当值为 null 时违反数据库约束。
@@ -20,14 +20,14 @@ Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationExceptio
### 1. 代码修改
**文件**[DpcIntermediaryBlacklistServiceImpl.java](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-dpc\src\main\java\com\ruoyi\dpc\service\impl\DpcIntermediaryBlacklistServiceImpl.java)
**文件**[CcdiIntermediaryBlacklistServiceImpl.java](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-ccdi\src\main\java\com\ruoyi\dpc\service\impl\CcdiIntermediaryBlacklistServiceImpl.java)
**修改位置**:第 390-394 行
**修改前**
```java
// 转换为实体
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
intermediary.setName(excel.getName());
intermediary.setIntermediaryType("2");
```
@@ -35,7 +35,7 @@ intermediary.setIntermediaryType("2");
**修改后**
```java
// 转换为实体
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
intermediary.setName(excel.getName());
// 对于机构中介,使用统一社会信用代码作为证件号
intermediary.setCertificateNo(excel.getCorpCreditCode());
@@ -44,13 +44,13 @@ intermediary.setIntermediaryType("2");
### 2. 验证逻辑增强
**文件**[DpcIntermediaryBlacklistServiceImpl.java](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-dpc\src\main\java\com\ruoyi\dpc\service\impl\DpcIntermediaryBlacklistServiceImpl.java)
**文件**[CcdiIntermediaryBlacklistServiceImpl.java](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-ccdi\src\main\java\com\ruoyi\dpc\service\impl\CcdiIntermediaryBlacklistServiceImpl.java)
**修改位置**:第 484-488 行
**修改前**
```java
private void validateEntityIntermediaryData(DpcIntermediaryEntityExcel excel) {
private void validateEntityIntermediaryData(CcdiIntermediaryEntityExcel excel) {
if (StringUtils.isEmpty(excel.getName())) {
throw new RuntimeException("机构名称不能为空");
}
@@ -59,7 +59,7 @@ private void validateEntityIntermediaryData(DpcIntermediaryEntityExcel excel) {
**修改后**
```java
private void validateEntityIntermediaryData(DpcIntermediaryEntityExcel excel) {
private void validateEntityIntermediaryData(CcdiIntermediaryEntityExcel excel) {
if (StringUtils.isEmpty(excel.getName())) {
throw new RuntimeException("机构名称不能为空");
}
@@ -72,7 +72,7 @@ private void validateEntityIntermediaryData(DpcIntermediaryEntityExcel excel) {
### 3. 批量更新 XML 配置优化
**文件**[DpcIntermediaryBlacklistMapper.xml](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-dpc\src\main\resources\mapper\dpc\DpcIntermediaryBlacklistMapper.xml)
**文件**[CcdiIntermediaryBlacklistMapper.xml](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-ccdi\src\main\resources\mapper\dpc\CcdiIntermediaryBlacklistMapper.xml)
**修改位置**:第 125-127 行
@@ -140,7 +140,7 @@ python doc/test-data/test_import_fix.py
1. **数据迁移**:如果数据库中已存在机构中介数据且 `certificate_no` 为 null需要执行以下 SQL 进行数据修复:
```sql
UPDATE dpc_intermediary_blacklist
UPDATE ccdi_intermediary_blacklist
SET certificate_no = corp_credit_code
WHERE intermediary_type = '2' AND certificate_no IS NULL AND corp_credit_code IS NOT NULL;
```
@@ -151,8 +151,8 @@ WHERE intermediary_type = '2' AND certificate_no IS NULL AND corp_credit_code IS
## 修改文件列表
1. [DpcIntermediaryBlacklistServiceImpl.java](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-dpc\src\main\java\com\ruoyi\dpc\service\impl\DpcIntermediaryBlacklistServiceImpl.java) - 服务层实现
2. [DpcIntermediaryBlacklistMapper.xml](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-dpc\src\main\resources\mapper\dpc\DpcIntermediaryBlacklistMapper.xml) - MyBatis 映射文件
1. [CcdiIntermediaryBlacklistServiceImpl.java](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-ccdi\src\main\java\com\ruoyi\dpc\service\impl\CcdiIntermediaryBlacklistServiceImpl.java) - 服务层实现
2. [CcdiIntermediaryBlacklistMapper.xml](d:\discipline-prelim-check\discipline-prelim-check\ruoyi-ccdi\src\main\resources\mapper\dpc\CcdiIntermediaryBlacklistMapper.xml) - MyBatis 映射文件
3. [test_import_fix.py](d:\discipline-prelim-check\discipline-prelim-check\doc\test-data\test_import_fix.py) - 测试脚本
## 版本历史