变更项目缩写
This commit is contained in:
@@ -35,7 +35,14 @@
|
||||
"Skill(frontend-design:frontend-design)",
|
||||
"mcp__web-reader__webReader",
|
||||
"mcp__fetch__imageFetch",
|
||||
"Skill(frontend-design)"
|
||||
"Skill(frontend-design)",
|
||||
"Bash(find:*)",
|
||||
"Bash(mvn clean:*)",
|
||||
"Bash(mvn install:*)",
|
||||
"Bash(git mv:*)",
|
||||
"Bash(powershell.exe:*)",
|
||||
"Bash(git rm:*)",
|
||||
"Bash(git add:*)"
|
||||
]
|
||||
},
|
||||
"enabledMcpjsonServers": [
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
|
||||
## 运行
|
||||
- 使用mcp:dpc_intermediary_blacklist进行数据库相关操作
|
||||
- 使用mcp:ccdi_intermediary_blacklist进行数据库相关操作
|
||||
- 不要在命令行中启动后端进行测试
|
||||
- 测试方式为生成可执行的测试脚本
|
||||
- 测试脚本在运行完成后需要保存所有接口输出并生成测试用例报告
|
||||
|
||||
@@ -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 | 数据来源 | 数据来源字段映射 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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}`
|
||||
**描述:** 批量删除中介黑名单记录
|
||||
|
||||
**请求参数:**
|
||||
|
||||
@@ -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`
|
||||
|
||||
|
||||
@@ -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
@@ -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
|
||||
功能: 查询项目列表
|
||||
请求参数:
|
||||
{
|
||||
|
||||
@@ -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) - 测试脚本
|
||||
|
||||
## 版本历史
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
**约束条件:**
|
||||
- 必须遵循若依框架的代码规范
|
||||
- 必须使用项目已定义的命名规范(模块前缀 `dpc_`)
|
||||
- 必须使用项目已定义的命名规范(模块前缀 `ccdi_`)
|
||||
- 必须支持 Excel 导入导出功能
|
||||
- 亲属信息需要与员工信息关联管理
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
1. 提供完整的员工信息 CRUD 接口
|
||||
2. 支持员工亲属信息的关联管理(一对多关系)
|
||||
3. 支持 Excel 批量导入导出,导入时可同时导入亲属信息
|
||||
4. 遵循现有代码模式(参考 `dpc_intermediary_blacklist` 模块)
|
||||
4. 遵循现有代码模式(参考 `ccdi_intermediary_blacklist` 模块)
|
||||
|
||||
### Non-Goals
|
||||
- 不涉及前端页面的实现(本次仅实现后端接口)
|
||||
@@ -34,7 +34,7 @@
|
||||
**决策:使用两张表存储员工和亲属信息**
|
||||
|
||||
```
|
||||
dpc_employee (员工主表)
|
||||
ccdi_employee (员工主表)
|
||||
├── employee_id (主键)
|
||||
├── name (姓名)
|
||||
├── teller_no (柜员号, UNIQUE)
|
||||
@@ -45,9 +45,9 @@ dpc_employee (员工主表)
|
||||
├── status (状态: 0=在职, 1=离职)
|
||||
└── 审计字段 (create_by, create_time, update_by, update_time)
|
||||
|
||||
dpc_employee_relative (员工亲属表)
|
||||
ccdi_employee_relative (员工亲属表)
|
||||
├── relative_id (主键)
|
||||
├── employee_id (外键 → dpc_employee.employee_id)
|
||||
├── employee_id (外键 → ccdi_employee.employee_id)
|
||||
├── relative_name (亲属姓名)
|
||||
├── relative_id_card (亲属身份证号)
|
||||
├── relative_phone (亲属手机号)
|
||||
@@ -126,10 +126,10 @@ Sheet2: 亲属信息 (可选)
|
||||
**决策:使用字典管理"与员工关系"字段和"员工状态"字段**
|
||||
|
||||
```
|
||||
字典类型: dpc_relative_relationship
|
||||
字典类型: ccdi_relative_relationship
|
||||
字典数据: 配偶、父亲、母亲、子女、兄弟姐妹、其他
|
||||
|
||||
字典类型: dpc_employee_status
|
||||
字典类型: ccdi_employee_status
|
||||
字典数据: 在职(0)、离职(1)
|
||||
```
|
||||
|
||||
@@ -156,14 +156,14 @@ UNIQUE KEY `uk_id_card` (`id_card`)
|
||||
|
||||
**决策:遵循项目规范**
|
||||
|
||||
- 表名: `dpc_employee`, `dpc_employee_relative`
|
||||
- 实体类: `DpcEmployee`, `DpcEmployeeRelative`
|
||||
- Controller: `DpcEmployeeController`
|
||||
- 表名: `ccdi_employee`, `ccdi_employee_relative`
|
||||
- 实体类: `CcdiEmployee`, `CcdiEmployeeRelative`
|
||||
- Controller: `CcdiEmployeeController`
|
||||
- 权限标识: `dpc:employee:*`
|
||||
- **所有实体类、DTO、VO 类统一使用 @Data 注解**
|
||||
|
||||
**理由:**
|
||||
- 与现有 `dpc_intermediary_blacklist` 模块保持一致
|
||||
- 与现有 `ccdi_intermediary_blacklist` 模块保持一致
|
||||
- 符合项目编码规范
|
||||
- @Data 注解自动生成 getter/setter,代码简洁
|
||||
|
||||
@@ -186,8 +186,8 @@ UNIQUE KEY `uk_id_card` (`id_card`)
|
||||
```java
|
||||
// 简单查询 - 使用 MyBatis Plus
|
||||
employeeMapper.selectById(id);
|
||||
employeeMapper.selectList(new LambdaQueryWrapper<DpcEmployee>()
|
||||
.eq(DpcEmployee::getTellerNo, tellerNo));
|
||||
employeeMapper.selectList(new LambdaQueryWrapper<CcdiEmployee>()
|
||||
.eq(CcdiEmployee::getTellerNo, tellerNo));
|
||||
|
||||
// 复杂查询 - 使用 XML
|
||||
EmployeeWithRelativesVO selectEmployeeWithRelatives(Long id);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
- 员工亲属管理:支持在员工信息中维护亲属关系
|
||||
|
||||
### 数据模型
|
||||
**员工主表 (dpc_employee)**
|
||||
**员工主表 (ccdi_employee)**
|
||||
- 员工ID (主键)
|
||||
- 姓名
|
||||
- 柜员号 (唯一约束)
|
||||
@@ -28,7 +28,7 @@
|
||||
- 状态 (0=在职, 1=离职)
|
||||
- 审计字段(创建者、创建时间、更新者、更新时间)
|
||||
|
||||
**员工亲属表 (dpc_employee_relative)**
|
||||
**员工亲属表 (ccdi_employee_relative)**
|
||||
- 亲属ID (主键)
|
||||
- 员工ID (外键)
|
||||
- 亲属姓名
|
||||
@@ -54,11 +54,11 @@
|
||||
|
||||
### 影响的代码 (Affected Code)
|
||||
- **新增模块**: `ruoyi-dpc` (DPC业务模块)
|
||||
- `com.ruoyi.dpc.domain.DpcEmployee` - 员工实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.DpcEmployeeRelative` - 亲属实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.CcdiEmployee` - 员工实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.CcdiEmployeeRelative` - 亲属实体(使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.dto.*` - DTO类(统一使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.domain.vo.*` - VO类(统一使用 @Data 注解)
|
||||
- `com.ruoyi.dpc.controller.DpcEmployeeController` - 控制器
|
||||
- `com.ruoyi.dpc.controller.CcdiEmployeeController` - 控制器
|
||||
- `com.ruoyi.dpc.service.*` - 服务层
|
||||
- `com.ruoyi.dpc.mapper.*` - 数据访问层(继承 MyBatis Plus BaseMapper)
|
||||
- **技术实现**:
|
||||
@@ -66,8 +66,8 @@
|
||||
- 复杂查询(如多表关联)使用 XML 映射文件
|
||||
|
||||
- **数据库**: 新增表
|
||||
- `dpc_employee` - 员工信息表
|
||||
- `dpc_employee_relative` - 员工亲属表
|
||||
- `ccdi_employee` - 员工信息表
|
||||
- `ccdi_employee_relative` - 员工亲属表
|
||||
- `sys_dict_type` - 字典类型表(员工状态、亲属关系)
|
||||
|
||||
- **菜单系统**: (将在前端开发阶段处理)
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
## 1. 数据库设计与实现
|
||||
|
||||
- [x] 1.1 创建 `dpc_employee` 员工信息表,包含字段:employee_id, name, teller_no, org_no, id_card, phone, hire_date, status, create_by, create_time, update_by, update_time
|
||||
- [x] 1.2 为 `dpc_employee` 表创建唯一约束:uk_teller_no (柜员号唯一), uk_id_card (身份证号唯一)
|
||||
- [x] 1.3 为 `dpc_employee` 表创建索引:idx_org_no, idx_status
|
||||
- [x] 1.4 创建 `dpc_employee_relative` 员工亲属表,包含字段:relative_id, employee_id, relative_name, relative_id_card, relative_phone, relationship, create_by, create_time, update_by, update_time
|
||||
- [x] 1.5 为 `dpc_employee_relative` 表创建索引:idx_employee_id, idx_relative_id_card
|
||||
- [x] 1.6 添加外键约束:dpc_employee_relative.employee_id → dpc_employee.employee_id(可选,根据项目规范决定)
|
||||
- [x] 1.7 创建 `dpc_relative_relationship` 字典类型及字典数据(配偶、父亲、母亲、子女、兄弟姐妹、其他)
|
||||
- [x] 1.8 创建 `dpc_employee_status` 字典类型及字典数据(在职=0、离职=1)
|
||||
- [x] 1.1 创建 `ccdi_employee` 员工信息表,包含字段:employee_id, name, teller_no, org_no, id_card, phone, hire_date, status, create_by, create_time, update_by, update_time
|
||||
- [x] 1.2 为 `ccdi_employee` 表创建唯一约束:uk_teller_no (柜员号唯一), uk_id_card (身份证号唯一)
|
||||
- [x] 1.3 为 `ccdi_employee` 表创建索引:idx_org_no, idx_status
|
||||
- [x] 1.4 创建 `ccdi_employee_relative` 员工亲属表,包含字段:relative_id, employee_id, relative_name, relative_id_card, relative_phone, relationship, create_by, create_time, update_by, update_time
|
||||
- [x] 1.5 为 `ccdi_employee_relative` 表创建索引:idx_employee_id, idx_relative_id_card
|
||||
- [x] 1.6 添加外键约束:ccdi_employee_relative.employee_id → ccdi_employee.employee_id(可选,根据项目规范决定)
|
||||
- [x] 1.7 创建 `ccdi_relative_relationship` 字典类型及字典数据(配偶、父亲、母亲、子女、兄弟姐妹、其他)
|
||||
- [x] 1.8 创建 `ccdi_employee_status` 字典类型及字典数据(在职=0、离职=1)
|
||||
|
||||
## 2. 后端实体类创建
|
||||
|
||||
- [x] 2.1 创建 `DpcEmployee.java` 实体类,使用 @Data 注解,包含 @Excel 注解用于导入导出
|
||||
- [x] 2.2 创建 `DpcEmployeeRelative.java` 实体类,使用 @Data 注解
|
||||
- [x] 2.3 创建 `DpcEmployeeAddDTO.java` 新增 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.4 创建 `DpcEmployeeEditDTO.java` 编辑 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.5 创建 `DpcEmployeeQueryDTO.java` 查询 DTO,使用 @Data 注解
|
||||
- [x] 2.6 创建 `DpcEmployeeVO.java` 视图对象,使用 @Data 注解,包含亲属列表
|
||||
- [x] 2.7 创建 `DpcEmployeeRelativeVO.java` 亲属视图对象,使用 @Data 注解
|
||||
- [x] 2.8 创建 `DpcEmployeeRelativeAddDTO.java` 亲属新增 DTO,使用 @Data 注解
|
||||
- [x] 2.1 创建 `CcdiEmployee.java` 实体类,使用 @Data 注解,包含 @Excel 注解用于导入导出
|
||||
- [x] 2.2 创建 `CcdiEmployeeRelative.java` 实体类,使用 @Data 注解
|
||||
- [x] 2.3 创建 `CcdiEmployeeAddDTO.java` 新增 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.4 创建 `CcdiEmployeeEditDTO.java` 编辑 DTO,使用 @Data 注解,包含 @Validated 校验注解
|
||||
- [x] 2.5 创建 `CcdiEmployeeQueryDTO.java` 查询 DTO,使用 @Data 注解
|
||||
- [x] 2.6 创建 `CcdiEmployeeVO.java` 视图对象,使用 @Data 注解,包含亲属列表
|
||||
- [x] 2.7 创建 `CcdiEmployeeRelativeVO.java` 亲属视图对象,使用 @Data 注解
|
||||
- [x] 2.8 创建 `CcdiEmployeeRelativeAddDTO.java` 亲属新增 DTO,使用 @Data 注解
|
||||
|
||||
## 3. Mapper 层实现
|
||||
|
||||
- [x] 3.1 创建 `DpcEmployeeMapper.java` 接口,继承 `BaseMapper<DpcEmployee>`
|
||||
- [x] 3.2 创建 `DpcEmployeeMapper.xml` MyBatis 映射文件,仅实现复杂查询(如:员工详情包含亲属列表)
|
||||
- [x] 3.1 创建 `CcdiEmployeeMapper.java` 接口,继承 `BaseMapper<CcdiEmployee>`
|
||||
- [x] 3.2 创建 `CcdiEmployeeMapper.xml` MyBatis 映射文件,仅实现复杂查询(如:员工详情包含亲属列表)
|
||||
- [x] 3.3 在 XML 中实现 `selectEmployeeWithRelatives` 方法,关联查询员工及其亲属信息
|
||||
- [x] 3.4 创建 `DpcEmployeeRelativeMapper.java` 接口,继承 `BaseMapper<DpcEmployeeRelative>`
|
||||
- [x] 3.5 创建 `DpcEmployeeRelativeMapper.xml` MyBatis 映射文件(如需复杂查询)
|
||||
- [x] 3.4 创建 `CcdiEmployeeRelativeMapper.java` 接口,继承 `BaseMapper<CcdiEmployeeRelative>`
|
||||
- [x] 3.5 创建 `CcdiEmployeeRelativeMapper.xml` MyBatis 映射文件(如需复杂查询)
|
||||
- [x] 3.6 简单 CRUD 操作使用 MyBatis Plus 提供的 BaseMapper 方法(insert, deleteById, deleteByIds, updateById, selectById, selectList)
|
||||
- [x] 3.7 简单条件查询使用 LambdaQueryWrapper 或 QueryWrapper(如:按柜员号、身份证号查询)
|
||||
- [x] 3.8 复杂多条件查询在 XML 中编写自定义 SQL
|
||||
|
||||
## 4. Service 层实现
|
||||
|
||||
- [x] 4.1 创建 `IDpcEmployeeService.java` 接口
|
||||
- [x] 4.2 创建 `DpcEmployeeServiceImpl.java` 实现类
|
||||
- [x] 4.1 创建 `ICcdiEmployeeService.java` 接口
|
||||
- [x] 4.2 创建 `CcdiEmployeeServiceImpl.java` 实现类
|
||||
- [x] 4.3 实现查询员工列表方法 `selectEmployeeList`,支持分页和多条件查询
|
||||
- [x] 4.4 实现查询员工详情方法 `selectEmployeeById`,包含亲属信息
|
||||
- [x] 4.5 实现新增员工方法 `insertEmployee`,支持同时插入亲属信息
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
## 5. Controller 层实现
|
||||
|
||||
- [x] 5.1 创建 `DpcEmployeeController.java` 控制器类
|
||||
- [x] 5.1 创建 `CcdiEmployeeController.java` 控制器类
|
||||
- [x] 5.2 实现 `GET /dpc/employee/list` 查询列表接口,添加 @PreAuthorize 权限注解
|
||||
- [x] 5.3 实现 `GET /dpc/employee/{id}` 查询详情接口
|
||||
- [x] 5.4 实现 `POST /dpc/employee` 新增接口
|
||||
@@ -61,8 +61,8 @@
|
||||
|
||||
## 6. 导入导出功能实现
|
||||
|
||||
- [x] 6.1 配置 `DpcEmployee` 实体的 @Excel 注解,定义导出列
|
||||
- [x] 6.2 配置 `DpcEmployeeRelative` 实体的 @Excel 注解(用于多 Sheet 导入)
|
||||
- [x] 6.1 配置 `CcdiEmployee` 实体的 @Excel 注解,定义导出列
|
||||
- [x] 6.2 配置 `CcdiEmployeeRelative` 实体的 @Excel 注解(用于多 Sheet 导入)
|
||||
- [x] 6.3 实现导入模板的 Excel 格式定义
|
||||
- [x] 6.4 实现 Excel 解析逻辑,支持多 Sheet 读取
|
||||
- [x] 6.5 实现员工和亲属数据的关联逻辑(通过身份证号)
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
## 数据库设计
|
||||
|
||||
### 表:dpc_intermediary_blacklist
|
||||
### 表:ccdi_intermediary_blacklist
|
||||
|
||||
中介人员/机构黑名单主表。
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dpc_intermediary_blacklist` (
|
||||
CREATE TABLE `ccdi_intermediary_blacklist` (
|
||||
`intermediary_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '中介ID',
|
||||
`name` VARCHAR(100) NOT NULL COMMENT '姓名/机构名称',
|
||||
`certificate_no` VARCHAR(50) DEFAULT NULL COMMENT '证件号',
|
||||
@@ -55,40 +55,40 @@ CREATE TABLE `dpc_intermediary_blacklist` (
|
||||
ruoyi-dpc/
|
||||
├── src/main/java/com/ruoyi/dpc/
|
||||
│ ├── controller/
|
||||
│ │ └── DpcIntermediaryBlacklistController.java
|
||||
│ │ └── CcdiIntermediaryBlacklistController.java
|
||||
│ ├── domain/
|
||||
│ │ ├── DpcIntermediaryBlacklist.java
|
||||
│ │ ├── CcdiIntermediaryBlacklist.java
|
||||
│ │ ├── dto/
|
||||
│ │ │ ├── DpcIntermediaryBlacklistAddDTO.java
|
||||
│ │ │ ├── DpcIntermediaryBlacklistEditDTO.java
|
||||
│ │ │ └── DpcIntermediaryBlacklistQueryDTO.java
|
||||
│ │ │ ├── CcdiIntermediaryBlacklistAddDTO.java
|
||||
│ │ │ ├── CcdiIntermediaryBlacklistEditDTO.java
|
||||
│ │ │ └── CcdiIntermediaryBlacklistQueryDTO.java
|
||||
│ │ └── vo/
|
||||
│ │ └── DpcIntermediaryBlacklistVO.java
|
||||
│ │ └── CcdiIntermediaryBlacklistVO.java
|
||||
│ ├── mapper/
|
||||
│ │ └── DpcIntermediaryBlacklistMapper.java
|
||||
│ │ └── CcdiIntermediaryBlacklistMapper.java
|
||||
│ └── service/
|
||||
│ ├── IDpcIntermediaryBlacklistService.java
|
||||
│ ├── ICcdiIntermediaryBlacklistService.java
|
||||
│ └── impl/
|
||||
│ └── DpcIntermediaryBlacklistServiceImpl.java
|
||||
│ └── CcdiIntermediaryBlacklistServiceImpl.java
|
||||
└── src/main/resources/mapper/dpc/
|
||||
└── DpcIntermediaryBlacklistMapper.xml
|
||||
└── CcdiIntermediaryBlacklistMapper.xml
|
||||
```
|
||||
|
||||
### Controller 层设计
|
||||
|
||||
**DpcIntermediaryBlacklistController**
|
||||
**CcdiIntermediaryBlacklistController**
|
||||
|
||||
```java
|
||||
@RestController
|
||||
@RequestMapping("/dpc/intermediary")
|
||||
public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
public class CcdiIntermediaryBlacklistController extends BaseController {
|
||||
|
||||
/**
|
||||
* 查询中介黑名单列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
public TableDataInfo list(CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
// 分页查询逻辑
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:export')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
public void export(HttpServletResponse response, CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
// 导出逻辑
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:add')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@Validated @RequestBody DpcIntermediaryBlacklistAddDTO addDTO) {
|
||||
public AjaxResult add(@Validated @RequestBody CcdiIntermediaryBlacklistAddDTO addDTO) {
|
||||
// 新增逻辑
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:edit')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@Validated @RequestBody DpcIntermediaryBlacklistEditDTO editDTO) {
|
||||
public AjaxResult edit(@Validated @RequestBody CcdiIntermediaryBlacklistEditDTO editDTO) {
|
||||
// 修改逻辑
|
||||
}
|
||||
|
||||
@@ -163,30 +163,30 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
|
||||
### Service 层设计
|
||||
|
||||
**IDpcIntermediaryBlacklistService**
|
||||
**ICcdiIntermediaryBlacklistService**
|
||||
|
||||
```java
|
||||
public interface IDpcIntermediaryBlacklistService {
|
||||
public interface ICcdiIntermediaryBlacklistService {
|
||||
|
||||
/**
|
||||
* 查询中介黑名单列表
|
||||
*/
|
||||
List<DpcIntermediaryBlacklistVO> selectIntermediaryList(DpcIntermediaryBlacklistQueryDTO queryDTO);
|
||||
List<CcdiIntermediaryBlacklistVO> selectIntermediaryList(CcdiIntermediaryBlacklistQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 查询中介黑名单详细信息
|
||||
*/
|
||||
DpcIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId);
|
||||
CcdiIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId);
|
||||
|
||||
/**
|
||||
* 新增中介黑名单
|
||||
*/
|
||||
int insertIntermediary(DpcIntermediaryBlacklistAddDTO addDTO);
|
||||
int insertIntermediary(CcdiIntermediaryBlacklistAddDTO addDTO);
|
||||
|
||||
/**
|
||||
* 修改中介黑名单
|
||||
*/
|
||||
int updateIntermediary(DpcIntermediaryBlacklistEditDTO editDTO);
|
||||
int updateIntermediary(CcdiIntermediaryBlacklistEditDTO editDTO);
|
||||
|
||||
/**
|
||||
* 批量删除中介黑名单
|
||||
@@ -196,7 +196,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
/**
|
||||
* 导入中介黑名单数据
|
||||
*/
|
||||
String importIntermediary(List<DpcIntermediaryBlacklistAddDTO> addDTOList, boolean isUpdateSupport);
|
||||
String importIntermediary(List<CcdiIntermediaryBlacklistAddDTO> addDTOList, boolean isUpdateSupport);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -205,7 +205,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
**实体类注解**
|
||||
|
||||
```java
|
||||
public class DpcIntermediaryBlacklist {
|
||||
public class CcdiIntermediaryBlacklist {
|
||||
|
||||
/** 中介ID */
|
||||
private Long intermediaryId;
|
||||
@@ -424,7 +424,7 @@ INSERT INTO sys_menu VALUES (2007, '中介导入', 2001, 6, 0, '', '', 1, 0, 'F'
|
||||
|
||||
## 字典数据设计
|
||||
|
||||
### 中介类型(dpc_intermediary_type)
|
||||
### 中介类型(ccdi_intermediary_type)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
|
||||
@@ -76,9 +76,9 @@
|
||||
|
||||
### 后端影响
|
||||
- 新建 `ruoyi-dpc` 模块(如果不存在),与若依框架代码分离
|
||||
- 新增表:`dpc_intermediary_blacklist`(中介黑名单主表)
|
||||
- 新增表:`ccdi_intermediary_blacklist`(中介黑名单主表)
|
||||
- 新增权限:`dpc:intermediary:list`, `dpc:intermediary:query`, `dpc:intermediary:add`, `dpc:intermediary:edit`, `dpc:intermediary:remove`, `dpc:intermediary:export`, `dpc:intermediary:import`
|
||||
- Controller 层:`ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/DpcIntermediaryBlacklistController.java`
|
||||
- Controller 层:`ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/CcdiIntermediaryBlacklistController.java`
|
||||
|
||||
### 前端影响
|
||||
- 新增视图:`ruoyi-ui/src/views/dpcIntermediary/`
|
||||
@@ -86,7 +86,7 @@
|
||||
- 新增菜单:信息维护 > 中介库管理(注意与数据库中菜单表进行联动修改)
|
||||
|
||||
### 数据库影响
|
||||
- 新增表:`dpc_intermediary_blacklist`
|
||||
- 新增表:`ccdi_intermediary_blacklist`
|
||||
|
||||
## Dependencies
|
||||
- 依赖 EasyExcel 进行 Excel 导入导出(参考 `replace-poi-with-easyexcel` change)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
## 数据库设计
|
||||
|
||||
- [ ] 2.1 编写数据库建表 SQL
|
||||
- [ ] 2.1.1 创建 `dpc_intermediary_blacklist` 表
|
||||
- [ ] 2.1.1 创建 `ccdi_intermediary_blacklist` 表
|
||||
- [ ] 2.1.2 添加索引(name, id_card, intermediary_type)
|
||||
- [ ] 2.1.3 添加表注释和字段注释
|
||||
|
||||
@@ -19,24 +19,24 @@
|
||||
- [ ] 2.2.3 添加按钮权限(查询、新增、修改、删除、导出、导入)
|
||||
|
||||
- [ ] 2.3 编写字典数据 SQL
|
||||
- [ ] 2.3.1 添加"中介类型"字典(dpc_intermediary_type)
|
||||
- [ ] 2.3.2 添加"风险等级"字典(dpc_risk_level)
|
||||
- [ ] 2.3.1 添加"中介类型"字典(ccdi_intermediary_type)
|
||||
- [ ] 2.3.2 添加"风险等级"字典(ccdi_risk_level)
|
||||
|
||||
- [ ] 2.4 执行 SQL 脚本初始化数据
|
||||
|
||||
## 后端开发
|
||||
|
||||
- [ ] 3.1 创建 Domain 层
|
||||
- [ ] 3.1.1 创建 `DpcIntermediaryBlacklist.java` 实体类
|
||||
- [ ] 3.1.2 创建 `DpcIntermediaryBlacklistAddDTO.java` 新增 DTO
|
||||
- [ ] 3.1.3 创建 `DpcIntermediaryBlacklistEditDTO.java` 编辑 DTO
|
||||
- [ ] 3.1.4 创建 `DpcIntermediaryBlacklistQueryDTO.java` 查询 DTO
|
||||
- [ ] 3.1.5 创建 `DpcIntermediaryBlacklistVO.java` 视图对象
|
||||
- [ ] 3.1.1 创建 `CcdiIntermediaryBlacklist.java` 实体类
|
||||
- [ ] 3.1.2 创建 `CcdiIntermediaryBlacklistAddDTO.java` 新增 DTO
|
||||
- [ ] 3.1.3 创建 `CcdiIntermediaryBlacklistEditDTO.java` 编辑 DTO
|
||||
- [ ] 3.1.4 创建 `CcdiIntermediaryBlacklistQueryDTO.java` 查询 DTO
|
||||
- [ ] 3.1.5 创建 `CcdiIntermediaryBlacklistVO.java` 视图对象
|
||||
- [ ] 3.1.6 添加 `@Excel` 注解支持导入导出
|
||||
|
||||
- [ ] 3.2 创建 Mapper 层
|
||||
- [ ] 3.2.1 创建 `DpcIntermediaryBlacklistMapper.java` 接口
|
||||
- [ ] 3.2.2 创建 `DpcIntermediaryBlacklistMapper.xml` 映射文件
|
||||
- [ ] 3.2.1 创建 `CcdiIntermediaryBlacklistMapper.java` 接口
|
||||
- [ ] 3.2.2 创建 `CcdiIntermediaryBlacklistMapper.xml` 映射文件
|
||||
- [ ] 3.2.3 实现 `selectIntermediaryList` 方法(支持条件查询)
|
||||
- [ ] 3.2.4 实现 `selectIntermediaryById` 方法
|
||||
- [ ] 3.2.5 实现 `insertIntermediary` 方法
|
||||
@@ -44,8 +44,8 @@
|
||||
- [ ] 3.2.7 实现 `deleteIntermediaryByIds` 方法
|
||||
|
||||
- [ ] 3.3 创建 Service 层
|
||||
- [ ] 3.3.1 创建 `IDpcIntermediaryBlacklistService.java` 接口
|
||||
- [ ] 3.3.2 创建 `DpcIntermediaryBlacklistServiceImpl.java` 实现类
|
||||
- [ ] 3.3.1 创建 `ICcdiIntermediaryBlacklistService.java` 接口
|
||||
- [ ] 3.3.2 创建 `CcdiIntermediaryBlacklistServiceImpl.java` 实现类
|
||||
- [ ] 3.3.3 实现查询列表业务逻辑(分页)
|
||||
- [ ] 3.3.4 实现查询详情业务逻辑
|
||||
- [ ] 3.3.5 实现新增业务逻辑(含数据校验)
|
||||
@@ -55,7 +55,7 @@
|
||||
- [ ] 3.3.9 实现导入业务逻辑(含数据验证)
|
||||
|
||||
- [ ] 3.4 创建 Controller 层
|
||||
- [ ] 3.4.1 创建 `DpcIntermediaryBlacklistController.java`
|
||||
- [ ] 3.4.1 创建 `CcdiIntermediaryBlacklistController.java`
|
||||
- [ ] 3.4.2 实现 `list` 接口(查询列表)
|
||||
- [ ] 3.4.3 实现 `getInfo` 接口(查询详情)
|
||||
- [ ] 3.4.4 实现 `add` 接口(新增)
|
||||
|
||||
@@ -13,27 +13,27 @@ ruoyi-dpc/ (新建模块)
|
||||
├── pom.xml # 模块依赖配置
|
||||
├── src/main/java/com/ruoyi/dpc/
|
||||
│ ├── controller/
|
||||
│ │ └── DpcProjectController.java # 项目控制器
|
||||
│ │ └── CcdiProjectController.java # 项目控制器
|
||||
│ ├── domain/
|
||||
│ │ ├── DpcProject.java # 项目实体
|
||||
│ │ ├── DpcProjectPerson.java # 项目人员关联
|
||||
│ │ ├── CcdiProject.java # 项目实体
|
||||
│ │ ├── CcdiProjectPerson.java # 项目人员关联
|
||||
│ │ ├── dto/
|
||||
│ │ │ ├── DpcProjectDTO.java # 项目数据传输对象
|
||||
│ │ │ ├── DpcProjectQueryDTO.java # 项目查询DTO
|
||||
│ │ │ └── DpcProjectImportDTO.java # 项目导入DTO
|
||||
│ │ │ ├── CcdiProjectDTO.java # 项目数据传输对象
|
||||
│ │ │ ├── CcdiProjectQueryDTO.java # 项目查询DTO
|
||||
│ │ │ └── CcdiProjectImportDTO.java # 项目导入DTO
|
||||
│ │ └── vo/
|
||||
│ │ ├── DpcProjectVO.java # 项目视图对象
|
||||
│ │ └── DpcProjectQueryVO.java # 查询视图对象
|
||||
│ │ ├── CcdiProjectVO.java # 项目视图对象
|
||||
│ │ └── CcdiProjectQueryVO.java # 查询视图对象
|
||||
│ ├── mapper/
|
||||
│ │ ├── DpcProjectMapper.java
|
||||
│ │ └── DpcProjectPersonMapper.java
|
||||
│ │ ├── CcdiProjectMapper.java
|
||||
│ │ └── CcdiProjectPersonMapper.java
|
||||
│ └── service/
|
||||
│ ├── IDpcProjectService.java
|
||||
│ ├── ICcdiProjectService.java
|
||||
│ └── impl/
|
||||
│ └── DpcProjectServiceImpl.java
|
||||
│ └── CcdiProjectServiceImpl.java
|
||||
└── src/main/resources/mapper/dpc/
|
||||
├── DpcProjectMapper.xml
|
||||
└── DpcProjectPersonMapper.xml
|
||||
├── CcdiProjectMapper.xml
|
||||
└── CcdiProjectPersonMapper.xml
|
||||
|
||||
ruoyi-ui/src/
|
||||
├── api/
|
||||
@@ -49,7 +49,7 @@ ruoyi-ui/src/
|
||||
|
||||
### 数据库表设计
|
||||
|
||||
#### dpc_project (项目主表)
|
||||
#### ccdi_project (项目主表)
|
||||
|
||||
| 字段名 | 类型 | 说明 | 约束 |
|
||||
|-------|------|------|-----|
|
||||
@@ -74,12 +74,12 @@ ruoyi-ui/src/
|
||||
- `1`: 已完成
|
||||
- `2`: 已归档
|
||||
|
||||
#### dpc_project_person (项目人员关联表)
|
||||
#### ccdi_project_person (项目人员关联表)
|
||||
|
||||
| 字段名 | 类型 | 说明 | 约束 |
|
||||
|-------|------|------|-----|
|
||||
| id | BIGINT | 主键ID | PK, AUTO_INCREMENT |
|
||||
| project_id | BIGINT | 项目ID | FK -> dpc_project.project_id |
|
||||
| project_id | BIGINT | 项目ID | FK -> ccdi_project.project_id |
|
||||
| person_id | BIGINT | 人员ID | FK -> sys_user.user_id |
|
||||
| person_name | VARCHAR(30) | 人员姓名 | 冗余字段 |
|
||||
| person_dept_id | BIGINT | 部门ID | 冗余字段 |
|
||||
@@ -90,11 +90,11 @@ ruoyi-ui/src/
|
||||
|
||||
### 实体类设计
|
||||
|
||||
#### DpcProject.java
|
||||
#### CcdiProject.java
|
||||
```java
|
||||
@Data
|
||||
@TableName("dpc_project")
|
||||
public class DpcProject {
|
||||
@TableName("ccdi_project")
|
||||
public class CcdiProject {
|
||||
/** 项目ID */
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long projectId;
|
||||
@@ -164,7 +164,7 @@ public class DpcProject {
|
||||
* MyBatis Plus 审计字段自动填充处理器
|
||||
*/
|
||||
@Component
|
||||
public class DpcMetaObjectHandler implements MetaObjectHandler {
|
||||
public class CcdiMetaObjectHandler implements MetaObjectHandler {
|
||||
|
||||
@Resource
|
||||
private TokenService tokenService;
|
||||
@@ -199,8 +199,8 @@ public class DpcMetaObjectHandler implements MetaObjectHandler {
|
||||
|
||||
```java
|
||||
@Data
|
||||
@TableName("dpc_project")
|
||||
public class DpcProject {
|
||||
@TableName("ccdi_project")
|
||||
public class CcdiProject {
|
||||
// ... 其他字段
|
||||
|
||||
/** 创建者 */
|
||||
@@ -233,10 +233,10 @@ public class DpcProject {
|
||||
|
||||
按照全局配置要求,接口传参使用单独的 DTO,不与 entity 混用。
|
||||
|
||||
#### DpcProjectDTO.java(新增/修改项目DTO)
|
||||
#### CcdiProjectDTO.java(新增/修改项目DTO)
|
||||
```java
|
||||
@Data
|
||||
public class DpcProjectDTO {
|
||||
public class CcdiProjectDTO {
|
||||
/** 项目名称 */
|
||||
@NotBlank(message = "项目名称不能为空")
|
||||
@Size(max = 100, message = "项目名称不能超过100个字符")
|
||||
@@ -260,10 +260,10 @@ public class DpcProjectDTO {
|
||||
}
|
||||
```
|
||||
|
||||
#### DpcProjectQueryDTO.java(查询项目DTO)
|
||||
#### CcdiProjectQueryDTO.java(查询项目DTO)
|
||||
```java
|
||||
@Data
|
||||
public class DpcProjectQueryDTO {
|
||||
public class CcdiProjectQueryDTO {
|
||||
/** 项目名称(模糊搜索) */
|
||||
private String projectName;
|
||||
|
||||
@@ -280,10 +280,10 @@ public class DpcProjectQueryDTO {
|
||||
}
|
||||
```
|
||||
|
||||
#### DpcProjectImportDTO.java(导入历史项目DTO)
|
||||
#### CcdiProjectImportDTO.java(导入历史项目DTO)
|
||||
```java
|
||||
@Data
|
||||
public class DpcProjectImportDTO {
|
||||
public class CcdiProjectImportDTO {
|
||||
/** 历史项目ID */
|
||||
@NotNull(message = "请选择要导入的历史项目")
|
||||
private Long historyProjectId;
|
||||
@@ -300,16 +300,16 @@ public class DpcProjectImportDTO {
|
||||
/**
|
||||
* DTO 与 Entity 转换工具类
|
||||
*/
|
||||
public class DpcProjectConverter {
|
||||
public class CcdiProjectConverter {
|
||||
|
||||
/**
|
||||
* DTO 转 Entity(新增/修改)
|
||||
*/
|
||||
public static DpcProject toEntity(DpcProjectDTO dto) {
|
||||
public static CcdiProject toEntity(CcdiProjectDTO dto) {
|
||||
if (dto == null) {
|
||||
return null;
|
||||
}
|
||||
DpcProject entity = new DpcProject();
|
||||
CcdiProject entity = new CcdiProject();
|
||||
entity.setProjectName(dto.getProjectName());
|
||||
entity.setDescription(dto.getDescription());
|
||||
entity.setStartDate(dto.getStartDate());
|
||||
@@ -320,11 +320,11 @@ public class DpcProjectConverter {
|
||||
/**
|
||||
* Entity 转 VO
|
||||
*/
|
||||
public static DpcProjectVO toVO(DpcProject entity) {
|
||||
public static CcdiProjectVO toVO(CcdiProject entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
DpcProjectVO vo = new DpcProjectVO();
|
||||
CcdiProjectVO vo = new CcdiProjectVO();
|
||||
BeanUtils.copyProperties(entity, vo);
|
||||
return vo;
|
||||
}
|
||||
@@ -332,12 +332,12 @@ public class DpcProjectConverter {
|
||||
/**
|
||||
* Entity 列表转 VO 列表
|
||||
*/
|
||||
public static List<DpcProjectVO> toVOList(List<DpcProject> entityList) {
|
||||
public static List<CcdiProjectVO> toVOList(List<CcdiProject> entityList) {
|
||||
if (entityList == null || entityList.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return entityList.stream()
|
||||
.map(DpcProjectConverter::toVO)
|
||||
.map(CcdiProjectConverter::toVO)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
@@ -347,34 +347,34 @@ public class DpcProjectConverter {
|
||||
```java
|
||||
@RestController
|
||||
@RequestMapping("/dpc/project")
|
||||
public class DpcProjectController {
|
||||
public class CcdiProjectController {
|
||||
|
||||
@Resource
|
||||
private IDpcProjectService projectService;
|
||||
private ICcdiProjectService projectService;
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('dpc:project:add')")
|
||||
@PostMapping
|
||||
public AjaxResult add(@Validated @RequestBody DpcProjectDTO dto) {
|
||||
DpcProject project = DpcProjectConverter.toEntity(dto);
|
||||
public AjaxResult add(@Validated @RequestBody CcdiProjectDTO dto) {
|
||||
CcdiProject project = CcdiProjectConverter.toEntity(dto);
|
||||
return AjaxResult.success(projectService.insertProject(project));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('dpc:project:edit')")
|
||||
@PutMapping
|
||||
public AjaxResult edit(@Validated @RequestBody DpcProjectDTO dto) {
|
||||
DpcProject project = DpcProjectConverter.toEntity(dto);
|
||||
public AjaxResult edit(@Validated @RequestBody CcdiProjectDTO dto) {
|
||||
CcdiProject project = CcdiProjectConverter.toEntity(dto);
|
||||
return AjaxResult.success(projectService.updateProject(project));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('dpc:project:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(DpcProjectQueryDTO queryDTO) {
|
||||
DpcProject project = new DpcProject();
|
||||
public TableDataInfo list(CcdiProjectQueryDTO queryDTO) {
|
||||
CcdiProject project = new CcdiProject();
|
||||
// 将查询条件转换到实体
|
||||
BeanUtils.copyProperties(queryDTO, project);
|
||||
startPage();
|
||||
List<DpcProject> list = projectService.selectProjectList(project);
|
||||
List<DpcProjectVO> voList = DpcProjectConverter.toVOList(list);
|
||||
List<CcdiProject> list = projectService.selectProjectList(project);
|
||||
List<CcdiProjectVO> voList = CcdiProjectConverter.toVOList(list);
|
||||
return getDataTable(voList);
|
||||
}
|
||||
}
|
||||
@@ -585,7 +585,7 @@ export function importProject(data) {
|
||||
|
||||
3. **数据库**
|
||||
- MySQL 8.2.0
|
||||
- 表名使用 `dpc_` 前缀(项目英文名首字母集合)
|
||||
- 表名使用 `ccdi_` 前缀(项目英文名首字母集合)
|
||||
|
||||
4. **安全**
|
||||
- 所有API需要 `@PreAuthorize` 权限注解
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
|
||||
### 后端影响
|
||||
- 新建 `ruoyi-dpc` 模块,与若依框架代码分离(包含 Controller、Service、Mapper、Domain 层)
|
||||
- 新增表:`dpc_project`(项目主表)、`dpc_project_person`(项目人员关联表)
|
||||
- 新增表:`ccdi_project`(项目主表)、`ccdi_project_person`(项目人员关联表)
|
||||
- 新增权限:`dpc:project:list`, `dpc:project:query`, `dpc:project:add`, `dpc:project:edit`, `dpc:project:remove`, `dpc:project:archive`, `dpc:project:reanalyze`
|
||||
- Controller层:`ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/DpcProjectController.java`
|
||||
- Controller层:`ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/CcdiProjectController.java`
|
||||
|
||||
### 前端影响
|
||||
- 新增视图:`ruoyi-ui/src/views/dpcProject/`
|
||||
@@ -77,8 +77,8 @@
|
||||
- 新增菜单:项目管理(在系统菜单中添加,注意与数据库中菜单表进行联动修改)
|
||||
|
||||
### 数据库影响
|
||||
- 新增表:`dpc_project`(项目主表)
|
||||
- 新增表:`dpc_project_person`(项目人员关联表)
|
||||
- 新增表:`ccdi_project`(项目主表)
|
||||
- 新增表:`ccdi_project_person`(项目人员关联表)
|
||||
|
||||
## Dependencies
|
||||
- 依赖现有用户系统(`SysUser`)进行人员选择
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
## Open Questions
|
||||
1. **项目人员关联方式**:使用多对多关联表还是JSON字段存储人员列表?
|
||||
- 建议:使用 `dpc_project_person` 关联表,便于查询和扩展
|
||||
- 建议:使用 `ccdi_project_person` 关联表,便于查询和扩展
|
||||
|
||||
2. **归档PDF生成**:使用什么工具生成PDF?
|
||||
- 建议:使用 iText 或 Apache POI,需要后续确认
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
## 阶段1:基础架构搭建
|
||||
|
||||
### 1.1 创建数据库表
|
||||
- [ ] 创建 `dpc_project` 表
|
||||
- [ ] 创建 `dpc_project_person` 表
|
||||
- [ ] 创建 `ccdi_project` 表
|
||||
- [ ] 创建 `ccdi_project_person` 表
|
||||
- [ ] 创建索引和外键约束
|
||||
- [ ] 准备测试数据
|
||||
|
||||
**验证**:执行SQL脚本,表结构创建成功,可以使用 `DESC dpc_project;` 查看表结构
|
||||
**验证**:执行SQL脚本,表结构创建成功,可以使用 `DESC ccdi_project;` 查看表结构
|
||||
|
||||
### 1.2 创建后端模块结构
|
||||
- [ ] 创建 `ruoyi-dpc` 新模块
|
||||
@@ -23,27 +23,27 @@
|
||||
**验证**:项目可以正常编译启动
|
||||
|
||||
### 1.3 创建实体类和DTO
|
||||
- [ ] 创建 `DpcProject.java` 实体类(使用 `@Data` 注解,不继承 BaseEntity)
|
||||
- [ ] 创建 `DpcProjectPerson.java` 实体类(使用 `@Data` 注解)
|
||||
- [ ] 创建 `DpcProjectVO.java` 视图对象
|
||||
- [ ] 创建 `DpcProjectQueryVO.java` 查询视图对象
|
||||
- [ ] 创建 `DpcProjectDTO.java` 数据传输对象(新增/修改)
|
||||
- [ ] 创建 `DpcProjectQueryDTO.java` 查询DTO
|
||||
- [ ] 创建 `DpcProjectImportDTO.java` 导入DTO
|
||||
- [ ] 创建 `CcdiProject.java` 实体类(使用 `@Data` 注解,不继承 BaseEntity)
|
||||
- [ ] 创建 `CcdiProjectPerson.java` 实体类(使用 `@Data` 注解)
|
||||
- [ ] 创建 `CcdiProjectVO.java` 视图对象
|
||||
- [ ] 创建 `CcdiProjectQueryVO.java` 查询视图对象
|
||||
- [ ] 创建 `CcdiProjectDTO.java` 数据传输对象(新增/修改)
|
||||
- [ ] 创建 `CcdiProjectQueryDTO.java` 查询DTO
|
||||
- [ ] 创建 `CcdiProjectImportDTO.java` 导入DTO
|
||||
- [ ] 为审计字段添加 `@TableField` 注解配置自动填充
|
||||
|
||||
**验证**:实体类和DTO编译通过,字段注解正确
|
||||
|
||||
### 1.4 创建DTO转换工具类
|
||||
- [ ] 创建 `DpcProjectConverter.java` 工具类
|
||||
- [ ] 实现 `toEntity(DpcProjectDTO)` 方法
|
||||
- [ ] 实现 `toVO(DpcProject)` 方法
|
||||
- [ ] 实现 `toVOList(List<DpcProject>)` 方法
|
||||
- [ ] 创建 `CcdiProjectConverter.java` 工具类
|
||||
- [ ] 实现 `toEntity(CcdiProjectDTO)` 方法
|
||||
- [ ] 实现 `toVO(CcdiProject)` 方法
|
||||
- [ ] 实现 `toVOList(List<CcdiProject>)` 方法
|
||||
|
||||
**验证**:转换逻辑正确,覆盖所有字段
|
||||
|
||||
### 1.5 配置审计字段自动填充
|
||||
- [ ] 创建 `DpcMetaObjectHandler.java` 实现 `MetaObjectHandler` 接口
|
||||
- [ ] 创建 `CcdiMetaObjectHandler.java` 实现 `MetaObjectHandler` 接口
|
||||
- [ ] 实现 `insertFill` 方法自动填充 `create_by` 和 `create_time`
|
||||
- [ ] 实现 `updateFill` 方法自动填充 `update_by` 和 `update_time`
|
||||
- [ ] 从 Spring Security 上下文获取当前登录用户
|
||||
@@ -54,12 +54,12 @@
|
||||
## 阶段2:数据访问层开发
|
||||
|
||||
### 2.1 创建Mapper接口
|
||||
- [ ] 创建 `DpcProjectMapper.java`(使用 MyBatis Plus)
|
||||
- [ ] 创建 `DpcProjectPersonMapper.java`(使用 MyBatis Plus)
|
||||
- [ ] 创建 `CcdiProjectMapper.java`(使用 MyBatis Plus)
|
||||
- [ ] 创建 `CcdiProjectPersonMapper.java`(使用 MyBatis Plus)
|
||||
|
||||
### 2.2 创建Mapper XML
|
||||
- [ ] 创建 `DpcProjectMapper.xml`
|
||||
- [ ] 创建 `DpcProjectPersonMapper.xml`
|
||||
- [ ] 创建 `CcdiProjectMapper.xml`
|
||||
- [ ] 创建 `CcdiProjectPersonMapper.xml`
|
||||
- [ ] 定义基础CRUD SQL(MyBatis Plus 自动生成)
|
||||
- [ ] 定义关联查询SQL(项目+人员)
|
||||
|
||||
@@ -68,19 +68,19 @@
|
||||
## 阶段3:服务层开发
|
||||
|
||||
### 3.1 创建Service接口
|
||||
- [ ] 创建 `IDpcProjectService.java`
|
||||
- [ ] 创建 `ICcdiProjectService.java`
|
||||
- [ ] 定义方法签名:
|
||||
- `List<DpcProject> selectProjectList(DpcProject project)`
|
||||
- `DpcProject selectProjectById(Long projectId)`
|
||||
- `int insertProject(DpcProject project)`
|
||||
- `int updateProject(DpcProject project)`
|
||||
- `List<CcdiProject> selectProjectList(CcdiProject project)`
|
||||
- `CcdiProject selectProjectById(Long projectId)`
|
||||
- `int insertProject(CcdiProject project)`
|
||||
- `int updateProject(CcdiProject project)`
|
||||
- `int deleteProjectByIds(Long[] projectIds)`
|
||||
- `boolean checkProjectNameUnique(DpcProject project)`
|
||||
- `boolean checkProjectNameUnique(CcdiProject project)`
|
||||
- `void archiveProject(Long projectId)`
|
||||
- `void reanalyzeProject(Long projectId)`
|
||||
|
||||
### 3.2 实现Service
|
||||
- [ ] 创建 `DpcProjectServiceImpl.java`
|
||||
- [ ] 创建 `CcdiProjectServiceImpl.java`
|
||||
- [ ] 使用 `@Resource` 注入依赖
|
||||
- [ ] 实现基础CRUD方法
|
||||
- [ ] 实现项目名称唯一性校验
|
||||
@@ -92,7 +92,7 @@
|
||||
## 阶段4:控制器层开发
|
||||
|
||||
### 4.1 创建Controller
|
||||
- [ ] 创建 `DpcProjectController.java`(位于 `ruoyi-dpc` 模块的 `com.ruoyi.dpc.controller` 包中)
|
||||
- [ ] 创建 `CcdiProjectController.java`(位于 `ruoyi-dpc` 模块的 `com.ruoyi.dpc.controller` 包中)
|
||||
- [ ] 实现列表查询接口 `GET /dpc/project/list`
|
||||
- [ ] 实现详情查询接口 `GET /dpc/project/{id}`
|
||||
- [ ] 实现新增接口 `POST /dpc/project`
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 数据库设计
|
||||
|
||||
### 表扩展:dpc_intermediary_blacklist
|
||||
### 表扩展:ccdi_intermediary_blacklist
|
||||
|
||||
在现有表基础上添加以下字段:
|
||||
|
||||
@@ -10,47 +10,47 @@
|
||||
-- ============================================================
|
||||
-- 个人类型字段 (以 indiv_ 前缀标识,individual 缩写)
|
||||
-- ============================================================
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_type` VARCHAR(30) DEFAULT NULL COMMENT '人员类型(中介、职业背债人、房产中介等)';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_sub_type` VARCHAR(50) DEFAULT NULL COMMENT '人员子类型(本人、配偶等)';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_gender` CHAR(1) DEFAULT NULL COMMENT '性别(M男 F女 O其他)';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_cert_type` VARCHAR(30) DEFAULT '身份证' COMMENT '证件类型';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号码(加密存储)';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_wechat` VARCHAR(50) DEFAULT NULL COMMENT '微信号';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_address` VARCHAR(200) DEFAULT NULL COMMENT '联系地址';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_company` VARCHAR(100) DEFAULT NULL COMMENT '所在公司';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_position` VARCHAR(100) DEFAULT NULL COMMENT '职位/职务';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_related_id` VARCHAR(20) DEFAULT NULL COMMENT '关联人员ID';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `indiv_relation` VARCHAR(50) DEFAULT NULL COMMENT '关联关系';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_type` VARCHAR(30) DEFAULT NULL COMMENT '人员类型(中介、职业背债人、房产中介等)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_sub_type` VARCHAR(50) DEFAULT NULL COMMENT '人员子类型(本人、配偶等)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_gender` CHAR(1) DEFAULT NULL COMMENT '性别(M男 F女 O其他)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_cert_type` VARCHAR(30) DEFAULT '身份证' COMMENT '证件类型';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号码(加密存储)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_wechat` VARCHAR(50) DEFAULT NULL COMMENT '微信号';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_address` VARCHAR(200) DEFAULT NULL COMMENT '联系地址';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_company` VARCHAR(100) DEFAULT NULL COMMENT '所在公司';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_position` VARCHAR(100) DEFAULT NULL COMMENT '职位/职务';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_related_id` VARCHAR(20) DEFAULT NULL COMMENT '关联人员ID';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `indiv_relation` VARCHAR(50) DEFAULT NULL COMMENT '关联关系';
|
||||
|
||||
-- ============================================================
|
||||
-- 机构类型字段 (以 corp_ 前缀标识,corporation 缩写)
|
||||
-- ============================================================
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_credit_code` VARCHAR(18) DEFAULT NULL COMMENT '统一社会信用代码';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_type` VARCHAR(50) DEFAULT NULL COMMENT '主体类型(有限责任公司、股份有限公司等)';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_nature` VARCHAR(50) DEFAULT NULL COMMENT '企业性质(国企、民企、外企等)';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_industry_category` VARCHAR(100) DEFAULT NULL COMMENT '行业分类';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_industry` VARCHAR(100) DEFAULT NULL COMMENT '所属行业';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_establish_date` DATE DEFAULT NULL COMMENT '成立日期';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_address` VARCHAR(500) DEFAULT NULL COMMENT '注册地址';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_legal_rep` VARCHAR(50) DEFAULT NULL COMMENT '法定代表人';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_legal_cert_type` VARCHAR(30) DEFAULT NULL COMMENT '法定代表人证件类型';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_legal_cert_no` VARCHAR(30) DEFAULT NULL COMMENT '法定代表人证件号码';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_shareholder_1` VARCHAR(30) DEFAULT NULL COMMENT '股东1';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_shareholder_2` VARCHAR(30) DEFAULT NULL COMMENT '股东2';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_shareholder_3` VARCHAR(30) DEFAULT NULL COMMENT '股东3';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_shareholder_4` VARCHAR(30) DEFAULT NULL COMMENT '股东4';
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `corp_shareholder_5` VARCHAR(30) DEFAULT NULL COMMENT '股东5';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_credit_code` VARCHAR(18) DEFAULT NULL COMMENT '统一社会信用代码';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_type` VARCHAR(50) DEFAULT NULL COMMENT '主体类型(有限责任公司、股份有限公司等)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_nature` VARCHAR(50) DEFAULT NULL COMMENT '企业性质(国企、民企、外企等)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_industry_category` VARCHAR(100) DEFAULT NULL COMMENT '行业分类';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_industry` VARCHAR(100) DEFAULT NULL COMMENT '所属行业';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_establish_date` DATE DEFAULT NULL COMMENT '成立日期';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_address` VARCHAR(500) DEFAULT NULL COMMENT '注册地址';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_legal_rep` VARCHAR(50) DEFAULT NULL COMMENT '法定代表人';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_legal_cert_type` VARCHAR(30) DEFAULT NULL COMMENT '法定代表人证件类型';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_legal_cert_no` VARCHAR(30) DEFAULT NULL COMMENT '法定代表人证件号码';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_shareholder_1` VARCHAR(30) DEFAULT NULL COMMENT '股东1';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_shareholder_2` VARCHAR(30) DEFAULT NULL COMMENT '股东2';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_shareholder_3` VARCHAR(30) DEFAULT NULL COMMENT '股东3';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_shareholder_4` VARCHAR(30) DEFAULT NULL COMMENT '股东4';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `corp_shareholder_5` VARCHAR(30) DEFAULT NULL COMMENT '股东5';
|
||||
|
||||
-- ============================================================
|
||||
-- 通用字段
|
||||
-- ============================================================
|
||||
ALTER TABLE dpc_intermediary_blacklist ADD COLUMN `data_source` VARCHAR(30) DEFAULT 'MANUAL' COMMENT '数据来源(MANUAL手动录入 SYSTEM系统同步 IMPORT批量导入 API接口获取)';
|
||||
ALTER TABLE ccdi_intermediary_blacklist ADD COLUMN `data_source` VARCHAR(30) DEFAULT 'MANUAL' COMMENT '数据来源(MANUAL手动录入 SYSTEM系统同步 IMPORT批量导入 API接口获取)';
|
||||
```
|
||||
|
||||
### 完整表结构
|
||||
|
||||
```sql
|
||||
CREATE TABLE `dpc_intermediary_blacklist` (
|
||||
CREATE TABLE `ccdi_intermediary_blacklist` (
|
||||
`intermediary_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '中介ID',
|
||||
|
||||
-- ============================================================
|
||||
@@ -163,31 +163,31 @@ CREATE TABLE `dpc_intermediary_blacklist` (
|
||||
ruoyi-dpc/
|
||||
├── src/main/java/com/ruoyi/dpc/
|
||||
│ ├── controller/
|
||||
│ │ └── DpcIntermediaryBlacklistController.java (修改)
|
||||
│ │ └── CcdiIntermediaryBlacklistController.java (修改)
|
||||
│ ├── domain/
|
||||
│ │ ├── DpcIntermediaryBlacklist.java (修改 - 添加新字段)
|
||||
│ │ ├── CcdiIntermediaryBlacklist.java (修改 - 添加新字段)
|
||||
│ │ ├── dto/
|
||||
│ │ │ ├── DpcIntermediaryBlacklistAddDTO.java (保留 - 兼容)
|
||||
│ │ │ ├── DpcIntermediaryBlacklistEditDTO.java (保留 - 兼容)
|
||||
│ │ │ ├── DpcIntermediaryBlacklistQueryDTO.java (保留)
|
||||
│ │ │ ├── DpcIntermediaryPersonAddDTO.java (新增)
|
||||
│ │ │ └── DpcIntermediaryEntityAddDTO.java (新增)
|
||||
│ │ │ ├── CcdiIntermediaryBlacklistAddDTO.java (保留 - 兼容)
|
||||
│ │ │ ├── CcdiIntermediaryBlacklistEditDTO.java (保留 - 兼容)
|
||||
│ │ │ ├── CcdiIntermediaryBlacklistQueryDTO.java (保留)
|
||||
│ │ │ ├── CcdiIntermediaryPersonAddDTO.java (新增)
|
||||
│ │ │ └── CcdiIntermediaryEntityAddDTO.java (新增)
|
||||
│ │ ├── vo/
|
||||
│ │ │ ├── DpcIntermediaryBlacklistVO.java (保留 - 列表用)
|
||||
│ │ │ ├── DpcIntermediaryPersonDetailVO.java (新增)
|
||||
│ │ │ └── DpcIntermediaryEntityDetailVO.java (新增)
|
||||
│ │ │ ├── CcdiIntermediaryBlacklistVO.java (保留 - 列表用)
|
||||
│ │ │ ├── CcdiIntermediaryPersonDetailVO.java (新增)
|
||||
│ │ │ └── CcdiIntermediaryEntityDetailVO.java (新增)
|
||||
│ │ └── excel/
|
||||
│ │ ├── DpcIntermediaryBlacklistExcel.java (保留 - 通用模板)
|
||||
│ │ ├── DpcIntermediaryPersonExcel.java (新增)
|
||||
│ │ └── DpcIntermediaryEntityExcel.java (新增)
|
||||
│ │ ├── CcdiIntermediaryBlacklistExcel.java (保留 - 通用模板)
|
||||
│ │ ├── CcdiIntermediaryPersonExcel.java (新增)
|
||||
│ │ └── CcdiIntermediaryEntityExcel.java (新增)
|
||||
│ ├── mapper/
|
||||
│ │ └── DpcIntermediaryBlacklistMapper.java
|
||||
│ │ └── CcdiIntermediaryBlacklistMapper.java
|
||||
│ └── service/
|
||||
│ ├── IDpcIntermediaryBlacklistService.java (修改接口)
|
||||
│ ├── ICcdiIntermediaryBlacklistService.java (修改接口)
|
||||
│ └── impl/
|
||||
│ └── DpcIntermediaryBlacklistServiceImpl.java (修改实现)
|
||||
│ └── CcdiIntermediaryBlacklistServiceImpl.java (修改实现)
|
||||
└── src/main/resources/mapper/dpc/
|
||||
└── DpcIntermediaryBlacklistMapper.xml
|
||||
└── CcdiIntermediaryBlacklistMapper.xml
|
||||
```
|
||||
|
||||
### Controller 层设计
|
||||
@@ -197,7 +197,7 @@ ruoyi-dpc/
|
||||
```java
|
||||
@RestController
|
||||
@RequestMapping("/dpc/intermediary")
|
||||
public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
public class CcdiIntermediaryBlacklistController extends BaseController {
|
||||
|
||||
// ... 现有接口保持不变 ...
|
||||
|
||||
@@ -209,7 +209,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
public void importPersonTemplate(HttpServletResponse response) {
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(
|
||||
response,
|
||||
DpcIntermediaryPersonExcel.class,
|
||||
CcdiIntermediaryPersonExcel.class,
|
||||
"个人中介黑名单"
|
||||
);
|
||||
}
|
||||
@@ -222,7 +222,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
public void importEntityTemplate(HttpServletResponse response) {
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(
|
||||
response,
|
||||
DpcIntermediaryEntityExcel.class,
|
||||
CcdiIntermediaryEntityExcel.class,
|
||||
"机构中介黑名单"
|
||||
);
|
||||
}
|
||||
@@ -235,8 +235,8 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importPersonData")
|
||||
public AjaxResult importPersonData(MultipartFile file, boolean updateSupport) throws Exception {
|
||||
List<DpcIntermediaryPersonExcel> list = EasyExcelUtil.importExcel(
|
||||
file.getInputStream(), DpcIntermediaryPersonExcel.class);
|
||||
List<CcdiIntermediaryPersonExcel> list = EasyExcelUtil.importExcel(
|
||||
file.getInputStream(), CcdiIntermediaryPersonExcel.class);
|
||||
String message = intermediaryService.importPersonIntermediary(list, updateSupport);
|
||||
return success(message);
|
||||
}
|
||||
@@ -249,8 +249,8 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importEntityData")
|
||||
public AjaxResult importEntityData(MultipartFile file, boolean updateSupport) throws Exception {
|
||||
List<DpcIntermediaryEntityExcel> list = EasyExcelUtil.importExcel(
|
||||
file.getInputStream(), DpcIntermediaryEntityExcel.class);
|
||||
List<CcdiIntermediaryEntityExcel> list = EasyExcelUtil.importExcel(
|
||||
file.getInputStream(), CcdiIntermediaryEntityExcel.class);
|
||||
String message = intermediaryService.importEntityIntermediary(list, updateSupport);
|
||||
return success(message);
|
||||
}
|
||||
@@ -262,7 +262,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
**接口扩展:**
|
||||
|
||||
```java
|
||||
public interface IDpcIntermediaryBlacklistService {
|
||||
public interface ICcdiIntermediaryBlacklistService {
|
||||
|
||||
// ... 现有方法保持不变 ...
|
||||
|
||||
@@ -274,12 +274,12 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
/**
|
||||
* 导入个人中介数据
|
||||
*/
|
||||
String importPersonIntermediary(List<DpcIntermediaryPersonExcel> list, boolean isUpdateSupport);
|
||||
String importPersonIntermediary(List<CcdiIntermediaryPersonExcel> list, boolean isUpdateSupport);
|
||||
|
||||
/**
|
||||
* 导入机构中介数据
|
||||
*/
|
||||
String importEntityIntermediary(List<DpcIntermediaryEntityExcel> list, boolean isUpdateSupport);
|
||||
String importEntityIntermediary(List<CcdiIntermediaryEntityExcel> list, boolean isUpdateSupport);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -293,7 +293,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
|
||||
```java
|
||||
@Data
|
||||
public class DpcIntermediaryPersonExcel implements Serializable {
|
||||
public class CcdiIntermediaryPersonExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -312,12 +312,12 @@ public class DpcIntermediaryPersonExcel implements Serializable {
|
||||
|
||||
@ExcelProperty(value = "性别", index = 3)
|
||||
@ColumnWidth(10)
|
||||
@DictDropdown(dictType = "dpc_indiv_gender")
|
||||
@DictDropdown(dictType = "ccdi_indiv_gender")
|
||||
private String indivGender; // 对应 indiv_gender,字典下拉框:男/女/其他
|
||||
|
||||
@ExcelProperty(value = "证件类型", index = 4)
|
||||
@ColumnWidth(15)
|
||||
@DictDropdown(dictType = "dpc_certificate_type")
|
||||
@DictDropdown(dictType = "ccdi_certificate_type")
|
||||
private String indivCertType; // 对应 indiv_cert_type,字典下拉框:身份证/护照/港澳通行证/台胞证/军官证
|
||||
|
||||
@ExcelProperty(value = "证件号码", index = 5)
|
||||
@@ -366,7 +366,7 @@ public class DpcIntermediaryPersonExcel implements Serializable {
|
||||
|
||||
```java
|
||||
@Data
|
||||
public class DpcIntermediaryEntityExcel implements Serializable {
|
||||
public class CcdiIntermediaryEntityExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -381,12 +381,12 @@ public class DpcIntermediaryEntityExcel implements Serializable {
|
||||
|
||||
@ExcelProperty(value = "主体类型", index = 2)
|
||||
@ColumnWidth(20)
|
||||
@DictDropdown(dictType = "dpc_entity_type")
|
||||
@DictDropdown(dictType = "ccdi_entity_type")
|
||||
private String corpType; // 对应 corp_type,字典下拉框:有限责任公司/股份有限公司/合伙企业/个体工商户/外资企业
|
||||
|
||||
@ExcelProperty(value = "企业性质", index = 3)
|
||||
@ColumnWidth(15)
|
||||
@DictDropdown(dictType = "dpc_enterprise_nature")
|
||||
@DictDropdown(dictType = "ccdi_enterprise_nature")
|
||||
private String corpNature; // 对应 corp_nature,字典下拉框:国企/民企/外企/合资/其他
|
||||
|
||||
@ExcelProperty(value = "行业分类", index = 4)
|
||||
@@ -453,7 +453,7 @@ public class DpcIntermediaryEntityExcel implements Serializable {
|
||||
|
||||
```java
|
||||
@Data
|
||||
public class DpcIntermediaryPersonDetailVO implements Serializable {
|
||||
public class CcdiIntermediaryPersonDetailVO implements Serializable {
|
||||
|
||||
// 核心字段
|
||||
private Long intermediaryId;
|
||||
@@ -492,7 +492,7 @@ public class DpcIntermediaryPersonDetailVO implements Serializable {
|
||||
|
||||
```java
|
||||
@Data
|
||||
public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
public class CcdiIntermediaryEntityDetailVO implements Serializable {
|
||||
|
||||
// 核心字段
|
||||
private Long intermediaryId;
|
||||
@@ -541,14 +541,14 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
| 列名 | 下拉框选项 | 说明 |
|
||||
|------|-----------|------|
|
||||
| 性别 | 男, 女, 其他 | 对应值:M, F, O |
|
||||
| 证件类型 | 身份证, 护照, 港澳通行证, 台胞证, 军官证 | 从字典 dpc_certificate_type 加载 |
|
||||
| 证件类型 | 身份证, 护照, 港澳通行证, 台胞证, 军官证 | 从字典 ccdi_certificate_type 加载 |
|
||||
|
||||
#### 机构中介模板下拉框
|
||||
|
||||
| 列名 | 下拉框选项 | 说明 |
|
||||
|------|-----------|------|
|
||||
| 主体类型 | 有限责任公司, 股份有限公司, 合伙企业, 个体工商户, 外资企业 | 从字典 dpc_entity_type 加载 |
|
||||
| 企业性质 | 国企, 民企, 外企, 合资, 其他 | 从字典 dpc_enterprise_nature 加载 |
|
||||
| 主体类型 | 有限责任公司, 股份有限公司, 合伙企业, 个体工商户, 外资企业 | 从字典 ccdi_entity_type 加载 |
|
||||
| 企业性质 | 国企, 民企, 外企, 合资, 其他 | 从字典 ccdi_enterprise_nature 加载 |
|
||||
|
||||
**注意**:
|
||||
- **状态字段**:不在 Excel 模板中显示,导入时默认设置为"正常"(0)
|
||||
@@ -610,7 +610,7 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
|
||||
## 字典数据设计
|
||||
|
||||
### 人员类型(dpc_person_type)
|
||||
### 人员类型(ccdi_person_type)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
@@ -618,7 +618,7 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
| 职业背债人 | 职业背债人 | 2 | 正常 |
|
||||
| 房产中介 | 房产中介 | 3 | 正常 |
|
||||
|
||||
### 人员子类型(dpc_person_sub_type)
|
||||
### 人员子类型(ccdi_person_sub_type)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
@@ -627,7 +627,7 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
| 子女 | 子女 | 3 | 正常 |
|
||||
| 其他 | 其他 | 9 | 正常 |
|
||||
|
||||
### 证件类型(dpc_certificate_type)
|
||||
### 证件类型(ccdi_certificate_type)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
@@ -637,7 +637,7 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
| 台胞证 | 台胞证 | 4 | 正常 |
|
||||
| 军官证 | 军官证 | 5 | 正常 |
|
||||
|
||||
### 主体类型(dpc_entity_type)
|
||||
### 主体类型(ccdi_entity_type)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
@@ -647,7 +647,7 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
| 个体工商户 | 个体工商户 | 4 | 正常 |
|
||||
| 外资企业 | 外资企业 | 5 | 正常 |
|
||||
|
||||
### 企业性质(dpc_enterprise_nature)
|
||||
### 企业性质(ccdi_enterprise_nature)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
@@ -657,7 +657,7 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
| 合资 | 合资 | 4 | 正常 |
|
||||
| 其他 | 其他 | 9 | 正常 |
|
||||
|
||||
### 数据来源(dpc_data_source)
|
||||
### 数据来源(ccdi_data_source)
|
||||
|
||||
| 字典值 | 字典标签 | 排序 | 状态 |
|
||||
|-------|---------|-----|------|
|
||||
@@ -685,14 +685,14 @@ public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
// 生成个人中介模板(带字典下拉框)
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(
|
||||
response,
|
||||
DpcIntermediaryPersonExcel.class,
|
||||
CcdiIntermediaryPersonExcel.class,
|
||||
"个人中介黑名单"
|
||||
);
|
||||
|
||||
// 生成机构中介模板(带字典下拉框)
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(
|
||||
response,
|
||||
DpcIntermediaryEntityExcel.class,
|
||||
CcdiIntermediaryEntityExcel.class,
|
||||
"机构中介黑名单"
|
||||
);
|
||||
```
|
||||
|
||||
@@ -94,11 +94,11 @@
|
||||
## Impact
|
||||
|
||||
### 后端影响
|
||||
- **数据库**:扩展 `dpc_intermediary_blacklist` 表,添加约30个新字段
|
||||
- **实体类**:`DpcIntermediaryBlacklist` 添加新字段属性
|
||||
- **DTO**:创建 `DpcIntermediaryPersonAddDTO` 和 `DpcIntermediaryEntityAddDTO`
|
||||
- **VO**:创建 `DpcIntermediaryPersonDetailVO` 和 `DpcIntermediaryEntityDetailVO`
|
||||
- **Excel**:创建 `DpcIntermediaryPersonExcel` 和 `DpcIntermediaryEntityExcel`
|
||||
- **数据库**:扩展 `ccdi_intermediary_blacklist` 表,添加约30个新字段
|
||||
- **实体类**:`CcdiIntermediaryBlacklist` 添加新字段属性
|
||||
- **DTO**:创建 `CcdiIntermediaryPersonAddDTO` 和 `CcdiIntermediaryEntityAddDTO`
|
||||
- **VO**:创建 `CcdiIntermediaryPersonDetailVO` 和 `CcdiIntermediaryEntityDetailVO`
|
||||
- **Excel**:创建 `CcdiIntermediaryPersonExcel` 和 `CcdiIntermediaryEntityExcel`
|
||||
- **Controller**:添加两个模板下载接口,修改详情接口
|
||||
- **Service**:扩展导入逻辑,支持不同类型的模板
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
- 扩展现有表,添加新字段(默认允许 NULL,保持向后兼容)
|
||||
|
||||
## Dependencies
|
||||
- 依赖现有 `dpc_intermediary_blacklist` 表和基础功能
|
||||
- 依赖现有 `ccdi_intermediary_blacklist` 表和基础功能
|
||||
- 依赖 EasyExcel 进行 Excel 导入导出
|
||||
|
||||
## Related Changes
|
||||
|
||||
@@ -97,8 +97,8 @@
|
||||
**Given** 用户调用详情接口,只提供中介ID
|
||||
**When** 系统查询到该中介记录
|
||||
**Then** 系统应根据中介类型自动返回对应类型的 VO
|
||||
**And** 个人类型返回 DpcIntermediaryPersonDetailVO
|
||||
**And** 机构类型返回 DpcIntermediaryEntityDetailVO
|
||||
**And** 个人类型返回 CcdiIntermediaryPersonDetailVO
|
||||
**And** 机构类型返回 CcdiIntermediaryEntityDetailVO
|
||||
|
||||
### Requirement: 保持现有功能兼容性
|
||||
所有新增功能必须保持现有接口和功能的正常运行。
|
||||
@@ -170,7 +170,7 @@
|
||||
- `excel-import-export` (Excel 导入导出基础功能)
|
||||
|
||||
### Dependencies
|
||||
- 依赖现有 `dpc_intermediary_blacklist` 表结构
|
||||
- 依赖现有 `ccdi_intermediary_blacklist` 表结构
|
||||
- 依赖 EasyExcel 工具类
|
||||
- 依赖现有权限控制体系
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
- [ ] 编写 ALTER TABLE 语句,添加机构类型字段(15个字段)
|
||||
- [ ] 编写 ALTER TABLE 语句,添加通用字段(1个字段:data_source)
|
||||
- [ ] 添加必要的索引(idx_credit_code, idx_phone_number)
|
||||
- [ ] 将 SQL 脚本保存到 `sql/` 目录,命名格式:`dpc_intermediary_enhance_YYYYMMDD.sql`
|
||||
- [ ] 将 SQL 脚本保存到 `sql/` 目录,命名格式:`ccdi_intermediary_enhance_YYYYMMDD.sql`
|
||||
|
||||
**验证方式**:SQL 语法检查,确保所有字段正确添加
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
- [ ] 确认所有字段添加成功且类型正确
|
||||
- [ ] 确认索引创建成功
|
||||
|
||||
**验证方式**:DESCRIBE dpc_intermediary_blacklist; SHOW INDEX FROM dpc_intermediary_blacklist;
|
||||
**验证方式**:DESCRIBE ccdi_intermediary_blacklist; SHOW INDEX FROM ccdi_intermediary_blacklist;
|
||||
|
||||
**依赖**:任务 1.1
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
### 阶段二:后端实体类和 DTO/VO 更新
|
||||
|
||||
#### 任务 2.1:更新实体类 DpcIntermediaryBlacklist
|
||||
#### 任务 2.1:更新实体类 CcdiIntermediaryBlacklist
|
||||
- [ ] 添加个人类型字段属性(11个)
|
||||
- [ ] 添加机构类型字段属性(15个)
|
||||
- [ ] 添加通用字段属性(1个:dataSource)
|
||||
@@ -49,7 +49,7 @@
|
||||
---
|
||||
|
||||
#### 任务 2.2:创建个人中介 DTO
|
||||
- [ ] 创建 `DpcIntermediaryPersonAddDTO.java`
|
||||
- [ ] 创建 `CcdiIntermediaryPersonAddDTO.java`
|
||||
- [ ] 添加个人专属字段
|
||||
- [ ] 添加适当的验证注解(@NotBlank, @Size 等)
|
||||
- [ ] 实现 Serializable 接口
|
||||
@@ -61,7 +61,7 @@
|
||||
---
|
||||
|
||||
#### 任务 2.3:创建机构中介 DTO
|
||||
- [ ] 创建 `DpcIntermediaryEntityAddDTO.java`
|
||||
- [ ] 创建 `CcdiIntermediaryEntityAddDTO.java`
|
||||
- [ ] 添加机构专属字段
|
||||
- [ ] 添加适当的验证注解
|
||||
- [ ] 实现 Serializable 接口
|
||||
@@ -73,7 +73,7 @@
|
||||
---
|
||||
|
||||
#### 任务 2.4:创建个人详情 VO
|
||||
- [ ] 创建 `DpcIntermediaryPersonDetailVO.java`
|
||||
- [ ] 创建 `CcdiIntermediaryPersonDetailVO.java`
|
||||
- [ ] 包含核心字段 + 个人专属字段
|
||||
- [ ] 添加关联字段名称(如 genderName, certificateTypeName)
|
||||
- [ ] 添加审计字段
|
||||
@@ -86,7 +86,7 @@
|
||||
---
|
||||
|
||||
#### 任务 2.5:创建机构详情 VO
|
||||
- [ ] 创建 `DpcIntermediaryEntityDetailVO.java`
|
||||
- [ ] 创建 `CcdiIntermediaryEntityDetailVO.java`
|
||||
- [ ] 包含核心字段 + 机构专属字段
|
||||
- [ ] 添加关联字段名称
|
||||
- [ ] 添加审计字段
|
||||
@@ -101,14 +101,14 @@
|
||||
### 阶段三:Excel 类创建
|
||||
|
||||
#### 任务 3.1:创建个人中介 Excel 类
|
||||
- [ ] 创建 `DpcIntermediaryPersonExcel.java`
|
||||
- [ ] 创建 `CcdiIntermediaryPersonExcel.java`
|
||||
- [ ] 使用 @ExcelProperty 注解定义 Excel 列
|
||||
- [ ] 使用 @ColumnWidth 注解设置列宽
|
||||
- [ ] 字段顺序:姓名 -> 人员类型 -> ... -> 备注(共14列)
|
||||
- [ ] **不在模板中显示**:状态、数据来源字段(由系统自动设置)
|
||||
- [ ] **添加字典下拉框注解**:
|
||||
- `@DictDropdown(dictType = "dpc_indiv_gender")` - 性别字段
|
||||
- `@DictDropdown(dictType = "dpc_certificate_type")` - 证件类型字段
|
||||
- `@DictDropdown(dictType = "ccdi_indiv_gender")` - 性别字段
|
||||
- `@DictDropdown(dictType = "ccdi_certificate_type")` - 证件类型字段
|
||||
|
||||
**验证方式**:编译通过,Excel 注解正确
|
||||
|
||||
@@ -117,14 +117,14 @@
|
||||
---
|
||||
|
||||
#### 任务 3.2:创建机构中介 Excel 类
|
||||
- [ ] 创建 `DpcIntermediaryEntityExcel.java`
|
||||
- [ ] 创建 `CcdiIntermediaryEntityExcel.java`
|
||||
- [ ] 使用 @ExcelProperty 注解定义 Excel 列
|
||||
- [ ] 使用 @ColumnWidth 注解设置列宽
|
||||
- [ ] 字段顺序:机构名称 -> 统一社会信用代码 -> ... -> 备注(共17列)
|
||||
- [ ] **不在模板中显示**:状态、数据来源字段(由系统自动设置)
|
||||
- [ ] **添加字典下拉框注解**:
|
||||
- `@DictDropdown(dictType = "dpc_entity_type")` - 主体类型字段
|
||||
- `@DictDropdown(dictType = "dpc_enterprise_nature")` - 企业性质字段
|
||||
- `@DictDropdown(dictType = "ccdi_entity_type")` - 主体类型字段
|
||||
- `@DictDropdown(dictType = "ccdi_enterprise_nature")` - 企业性质字段
|
||||
|
||||
**验证方式**:编译通过,Excel 注解正确
|
||||
|
||||
@@ -135,10 +135,10 @@
|
||||
### 阶段四:Service 层实现
|
||||
|
||||
#### 任务 4.1:扩展 Service 接口
|
||||
- [ ] 在 `IDpcIntermediaryBlacklistService` 中添加新方法:
|
||||
- [ ] 在 `ICcdiIntermediaryBlacklistService` 中添加新方法:
|
||||
- `Object selectIntermediaryDetailById(Long intermediaryId)`
|
||||
- `String importPersonIntermediary(List<DpcIntermediaryPersonExcel> list, boolean isUpdateSupport)`
|
||||
- `String importEntityIntermediary(List<DpcIntermediaryEntityExcel> list, boolean isUpdateSupport)`
|
||||
- `String importPersonIntermediary(List<CcdiIntermediaryPersonExcel> list, boolean isUpdateSupport)`
|
||||
- `String importEntityIntermediary(List<CcdiIntermediaryEntityExcel> list, boolean isUpdateSupport)`
|
||||
|
||||
**验证方式**:编译通过,接口方法签名正确
|
||||
|
||||
@@ -147,10 +147,10 @@
|
||||
---
|
||||
|
||||
#### 任务 4.2:实现详情查询方法
|
||||
- [ ] 在 `DpcIntermediaryBlacklistServiceImpl` 中实现 `selectIntermediaryDetailById`
|
||||
- [ ] 在 `CcdiIntermediaryBlacklistServiceImpl` 中实现 `selectIntermediaryDetailById`
|
||||
- [ ] 根据中介类型返回不同的 VO
|
||||
- [ ] 个人类型返回 `DpcIntermediaryPersonDetailVO`
|
||||
- [ ] 机构类型返回 `DpcIntermediaryEntityDetailVO`
|
||||
- [ ] 个人类型返回 `CcdiIntermediaryPersonDetailVO`
|
||||
- [ ] 机构类型返回 `CcdiIntermediaryEntityDetailVO`
|
||||
- [ ] 填充关联字段名称(字典转换)
|
||||
|
||||
**验证方式**:单元测试验证不同类型返回正确的 VO
|
||||
@@ -234,13 +234,13 @@
|
||||
### 阶段六:字典数据配置
|
||||
|
||||
#### 任务 6.1:创建字典数据 SQL 脚本
|
||||
- [ ] 添加人员类型字典(dpc_person_type)
|
||||
- [ ] 添加人员子类型字典(dpc_person_sub_type)
|
||||
- [ ] **添加性别字典(dpc_indiv_gender)** - 用于个人中介下拉框
|
||||
- [ ] **添加证件类型字典(dpc_certificate_type)** - 用于个人中介下拉框
|
||||
- [ ] **添加主体类型字典(dpc_entity_type)** - 用于机构中介下拉框
|
||||
- [ ] **添加企业性质字典(dpc_enterprise_nature)** - 用于机构中介下拉框
|
||||
- [ ] 添加数据来源字典(dpc_data_source)
|
||||
- [ ] 添加人员类型字典(ccdi_person_type)
|
||||
- [ ] 添加人员子类型字典(ccdi_person_sub_type)
|
||||
- [ ] **添加性别字典(ccdi_indiv_gender)** - 用于个人中介下拉框
|
||||
- [ ] **添加证件类型字典(ccdi_certificate_type)** - 用于个人中介下拉框
|
||||
- [ ] **添加主体类型字典(ccdi_entity_type)** - 用于机构中介下拉框
|
||||
- [ ] **添加企业性质字典(ccdi_enterprise_nature)** - 用于机构中介下拉框
|
||||
- [ ] 添加数据来源字典(ccdi_data_source)
|
||||
- [ ] 将 SQL 脚本保存到 `sql/` 目录
|
||||
|
||||
**验证方式**:SQL 语法检查
|
||||
|
||||
4
pom.xml
4
pom.xml
@@ -204,7 +204,7 @@
|
||||
<!-- 纪检初核系统模块-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-dpc</artifactId>
|
||||
<artifactId>ruoyi-ccdi</artifactId>
|
||||
<version>${ruoyi.version}</version>
|
||||
</dependency>
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
<module>ruoyi-quartz</module>
|
||||
<module>ruoyi-generator</module>
|
||||
<module>ruoyi-common</module>
|
||||
<module>ruoyi-dpc</module>
|
||||
<module>ruoyi-ccdi</module>
|
||||
</modules>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<!-- 纪检初核系统模块-->
|
||||
<dependency>
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-dpc</artifactId>
|
||||
<artifactId>ruoyi-ccdi</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>ruoyi-dpc</artifactId>
|
||||
<artifactId>ruoyi-ccdi</artifactId>
|
||||
|
||||
<description>
|
||||
纪检初核系统模块
|
||||
@@ -41,4 +41,22 @@
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.30</version>
|
||||
</path>
|
||||
</annotationProcessorPaths>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@@ -1,6 +1,13 @@
|
||||
package com.ruoyi.dpc.controller;
|
||||
package com.ruoyi.ccdi.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeAddDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeEditDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiEmployeeExcel;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO;
|
||||
import com.ruoyi.ccdi.service.ICcdiEmployeeService;
|
||||
import com.ruoyi.ccdi.utils.EasyExcelUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@@ -8,13 +15,6 @@ import com.ruoyi.common.core.page.PageDomain;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.page.TableSupport;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeAddDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeEditDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeQueryDTO;
|
||||
import com.ruoyi.dpc.domain.excel.DpcEmployeeExcel;
|
||||
import com.ruoyi.dpc.domain.vo.DpcEmployeeVO;
|
||||
import com.ruoyi.dpc.service.IDpcEmployeeService;
|
||||
import com.ruoyi.dpc.utils.EasyExcelUtil;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -34,23 +34,23 @@ import java.util.List;
|
||||
*/
|
||||
@Tag(name = "员工信息管理")
|
||||
@RestController
|
||||
@RequestMapping("/dpc/employee")
|
||||
public class DpcEmployeeController extends BaseController {
|
||||
@RequestMapping("/ccdi/employee")
|
||||
public class CcdiEmployeeController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IDpcEmployeeService employeeService;
|
||||
private ICcdiEmployeeService employeeService;
|
||||
|
||||
/**
|
||||
* 查询员工列表
|
||||
*/
|
||||
@Operation(summary = "查询员工列表")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:list')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(DpcEmployeeQueryDTO queryDTO) {
|
||||
public TableDataInfo list(CcdiEmployeeQueryDTO queryDTO) {
|
||||
// 使用MyBatis Plus分页
|
||||
PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||
Page<DpcEmployeeVO> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
Page<DpcEmployeeVO> result = employeeService.selectEmployeePage(page, queryDTO);
|
||||
Page<CcdiEmployeeVO> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
Page<CcdiEmployeeVO> result = employeeService.selectEmployeePage(page, queryDTO);
|
||||
return getDataTable(result.getRecords(), result.getTotal());
|
||||
}
|
||||
|
||||
@@ -58,19 +58,19 @@ public class DpcEmployeeController extends BaseController {
|
||||
* 导出员工列表
|
||||
*/
|
||||
@Operation(summary = "导出员工列表")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:export')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:export')")
|
||||
@Log(title = "员工信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, DpcEmployeeQueryDTO queryDTO) {
|
||||
List<DpcEmployeeExcel> list = employeeService.selectEmployeeListForExport(queryDTO);
|
||||
EasyExcelUtil.exportExcel(response, list, DpcEmployeeExcel.class, "员工信息");
|
||||
public void export(HttpServletResponse response, CcdiEmployeeQueryDTO queryDTO) {
|
||||
List<CcdiEmployeeExcel> list = employeeService.selectEmployeeListForExport(queryDTO);
|
||||
EasyExcelUtil.exportExcel(response, list, CcdiEmployeeExcel.class, "员工信息");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取员工详细信息
|
||||
*/
|
||||
@Operation(summary = "获取员工详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:query')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:query')")
|
||||
@GetMapping(value = "/{employeeId}")
|
||||
public AjaxResult getInfo(@PathVariable Long employeeId) {
|
||||
return success(employeeService.selectEmployeeById(employeeId));
|
||||
@@ -80,10 +80,10 @@ public class DpcEmployeeController extends BaseController {
|
||||
* 新增员工
|
||||
*/
|
||||
@Operation(summary = "新增员工")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:add')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:add')")
|
||||
@Log(title = "员工信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@Validated @RequestBody DpcEmployeeAddDTO addDTO) {
|
||||
public AjaxResult add(@Validated @RequestBody CcdiEmployeeAddDTO addDTO) {
|
||||
return toAjax(employeeService.insertEmployee(addDTO));
|
||||
}
|
||||
|
||||
@@ -91,10 +91,10 @@ public class DpcEmployeeController extends BaseController {
|
||||
* 修改员工
|
||||
*/
|
||||
@Operation(summary = "修改员工")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:edit')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:edit')")
|
||||
@Log(title = "员工信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@Validated @RequestBody DpcEmployeeEditDTO editDTO) {
|
||||
public AjaxResult edit(@Validated @RequestBody CcdiEmployeeEditDTO editDTO) {
|
||||
return toAjax(employeeService.updateEmployee(editDTO));
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ public class DpcEmployeeController extends BaseController {
|
||||
* 删除员工
|
||||
*/
|
||||
@Operation(summary = "删除员工")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:remove')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:remove')")
|
||||
@Log(title = "员工信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{employeeIds}")
|
||||
public AjaxResult remove(@PathVariable Long[] employeeIds) {
|
||||
@@ -116,18 +116,18 @@ public class DpcEmployeeController extends BaseController {
|
||||
@Operation(summary = "下载导入模板")
|
||||
@PostMapping("/importTemplate")
|
||||
public void importTemplate(HttpServletResponse response) {
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(response, DpcEmployeeExcel.class, "员工信息");
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(response, CcdiEmployeeExcel.class, "员工信息");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入员工信息
|
||||
*/
|
||||
@Operation(summary = "导入员工信息")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:employee:import')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:employee:import')")
|
||||
@Log(title = "员工信息", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importData")
|
||||
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
|
||||
List<DpcEmployeeExcel> list = EasyExcelUtil.importExcel(file.getInputStream(), DpcEmployeeExcel.class);
|
||||
List<CcdiEmployeeExcel> list = EasyExcelUtil.importExcel(file.getInputStream(), CcdiEmployeeExcel.class);
|
||||
String message = employeeService.importEmployee(list, updateSupport);
|
||||
return success(message);
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.ruoyi.dpc.controller;
|
||||
package com.ruoyi.ccdi.controller;
|
||||
|
||||
import com.ruoyi.ccdi.domain.vo.EnumOptionVO;
|
||||
import com.ruoyi.ccdi.enums.*;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.dpc.domain.vo.EnumOptionVO;
|
||||
import com.ruoyi.dpc.enums.*;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -19,8 +19,8 @@ import java.util.List;
|
||||
*/
|
||||
@Tag(name = "DPC枚举接口", description = "中介黑名单相关枚举选项接口")
|
||||
@RestController
|
||||
@RequestMapping("/dpc/enum")
|
||||
public class DpcEnumController {
|
||||
@RequestMapping("/ccdi/enum")
|
||||
public class CcdiEnumController {
|
||||
|
||||
/**
|
||||
* 获取人员类型选项
|
||||
@@ -1,6 +1,14 @@
|
||||
package com.ruoyi.dpc.controller;
|
||||
package com.ruoyi.ccdi.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.ccdi.domain.CcdiIntermediaryBlacklist;
|
||||
import com.ruoyi.ccdi.domain.dto.*;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryBlacklistExcel;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryEntityExcel;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryPersonExcel;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiIntermediaryBlacklistVO;
|
||||
import com.ruoyi.ccdi.service.ICcdiIntermediaryBlacklistService;
|
||||
import com.ruoyi.ccdi.utils.EasyExcelUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@@ -8,14 +16,6 @@ import com.ruoyi.common.core.page.PageDomain;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.page.TableSupport;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
|
||||
import com.ruoyi.dpc.domain.dto.*;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryBlacklistExcel;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryEntityExcel;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryPersonExcel;
|
||||
import com.ruoyi.dpc.domain.vo.DpcIntermediaryBlacklistVO;
|
||||
import com.ruoyi.dpc.service.IDpcIntermediaryBlacklistService;
|
||||
import com.ruoyi.dpc.utils.EasyExcelUtil;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -35,23 +35,23 @@ import java.util.List;
|
||||
*/
|
||||
@Tag(name = "中介黑名单管理")
|
||||
@RestController
|
||||
@RequestMapping("/dpc/intermediary")
|
||||
public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@RequestMapping("/ccdi/intermediary")
|
||||
public class CcdiIntermediaryBlacklistController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IDpcIntermediaryBlacklistService intermediaryService;
|
||||
private ICcdiIntermediaryBlacklistService intermediaryService;
|
||||
|
||||
/**
|
||||
* 查询中介黑名单列表
|
||||
*/
|
||||
@Operation(summary = "查询中介黑名单列表")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:list')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
public TableDataInfo list(CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
// 使用MyBatis Plus分页
|
||||
PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||
Page<DpcIntermediaryBlacklist> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
Page<DpcIntermediaryBlacklistVO> result = intermediaryService.selectIntermediaryPage(page, queryDTO);
|
||||
Page<CcdiIntermediaryBlacklist> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
|
||||
Page<CcdiIntermediaryBlacklistVO> result = intermediaryService.selectIntermediaryPage(page, queryDTO);
|
||||
return getDataTable(result.getRecords(), result.getTotal());
|
||||
}
|
||||
|
||||
@@ -59,19 +59,19 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 导出中介黑名单列表
|
||||
*/
|
||||
@Operation(summary = "导出中介黑名单列表")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:export')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:export')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
List<DpcIntermediaryBlacklistExcel> list = intermediaryService.selectIntermediaryListForExport(queryDTO);
|
||||
EasyExcelUtil.exportExcel(response, list, DpcIntermediaryBlacklistExcel.class, "中介黑名单");
|
||||
public void export(HttpServletResponse response, CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
List<CcdiIntermediaryBlacklistExcel> list = intermediaryService.selectIntermediaryListForExport(queryDTO);
|
||||
EasyExcelUtil.exportExcel(response, list, CcdiIntermediaryBlacklistExcel.class, "中介黑名单");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取中介黑名单详细信息(根据类型返回不同结构)
|
||||
*/
|
||||
@Operation(summary = "获取中介黑名单详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:query')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:query')")
|
||||
@GetMapping(value = "/{intermediaryId}")
|
||||
public AjaxResult getInfo(@PathVariable Long intermediaryId) {
|
||||
return success(intermediaryService.selectIntermediaryDetailById(intermediaryId));
|
||||
@@ -81,11 +81,11 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 新增中介黑名单(已废弃,请使用类型专用接口)
|
||||
*/
|
||||
@Operation(summary = "新增中介黑名单(已废弃,请使用类型专用接口)")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:add')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:add')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@Deprecated
|
||||
public AjaxResult add(@Validated @RequestBody DpcIntermediaryBlacklistAddDTO addDTO) {
|
||||
public AjaxResult add(@Validated @RequestBody CcdiIntermediaryBlacklistAddDTO addDTO) {
|
||||
return toAjax(intermediaryService.insertIntermediary(addDTO));
|
||||
}
|
||||
|
||||
@@ -93,10 +93,10 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 新增个人中介黑名单
|
||||
*/
|
||||
@Operation(summary = "新增个人中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:add')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:add')")
|
||||
@Log(title = "个人中介黑名单", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/person")
|
||||
public AjaxResult addPerson(@Validated @RequestBody DpcIntermediaryPersonAddDTO addDTO) {
|
||||
public AjaxResult addPerson(@Validated @RequestBody CcdiIntermediaryPersonAddDTO addDTO) {
|
||||
return toAjax(intermediaryService.insertPersonIntermediary(addDTO));
|
||||
}
|
||||
|
||||
@@ -104,10 +104,10 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 新增机构中介黑名单
|
||||
*/
|
||||
@Operation(summary = "新增机构中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:add')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:add')")
|
||||
@Log(title = "机构中介黑名单", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/entity")
|
||||
public AjaxResult addEntity(@Validated @RequestBody DpcIntermediaryEntityAddDTO addDTO) {
|
||||
public AjaxResult addEntity(@Validated @RequestBody CcdiIntermediaryEntityAddDTO addDTO) {
|
||||
return toAjax(intermediaryService.insertEntityIntermediary(addDTO));
|
||||
}
|
||||
|
||||
@@ -115,11 +115,11 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 修改中介黑名单
|
||||
*/
|
||||
@Operation(summary = "修改中介黑名单(已废弃,请使用类型专用接口)")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:edit')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:edit')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@Deprecated
|
||||
public AjaxResult edit(@Validated @RequestBody DpcIntermediaryBlacklistEditDTO editDTO) {
|
||||
public AjaxResult edit(@Validated @RequestBody CcdiIntermediaryBlacklistEditDTO editDTO) {
|
||||
return toAjax(intermediaryService.updateIntermediary(editDTO));
|
||||
}
|
||||
|
||||
@@ -127,10 +127,10 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 修改个人中介黑名单
|
||||
*/
|
||||
@Operation(summary = "修改个人中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:edit')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:edit')")
|
||||
@Log(title = "个人中介黑名单", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/person")
|
||||
public AjaxResult editPerson(@Validated @RequestBody DpcIntermediaryPersonEditDTO editDTO) {
|
||||
public AjaxResult editPerson(@Validated @RequestBody CcdiIntermediaryPersonEditDTO editDTO) {
|
||||
return toAjax(intermediaryService.updatePersonIntermediary(editDTO));
|
||||
}
|
||||
|
||||
@@ -138,10 +138,10 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 修改机构中介黑名单
|
||||
*/
|
||||
@Operation(summary = "修改机构中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:edit')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:edit')")
|
||||
@Log(title = "机构中介黑名单", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/entity")
|
||||
public AjaxResult editEntity(@Validated @RequestBody DpcIntermediaryEntityEditDTO editDTO) {
|
||||
public AjaxResult editEntity(@Validated @RequestBody CcdiIntermediaryEntityEditDTO editDTO) {
|
||||
return toAjax(intermediaryService.updateEntityIntermediary(editDTO));
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 删除中介黑名单
|
||||
*/
|
||||
@Operation(summary = "删除中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:remove')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:remove')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{intermediaryIds}")
|
||||
public AjaxResult remove(@PathVariable Long[] intermediaryIds) {
|
||||
@@ -162,7 +162,7 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@Operation(summary = "下载个人中介导入模板")
|
||||
@PostMapping("/importPersonTemplate")
|
||||
public void importPersonTemplate(HttpServletResponse response) {
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(response, DpcIntermediaryPersonExcel.class, "个人中介黑名单");
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(response, CcdiIntermediaryPersonExcel.class, "个人中介黑名单");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -171,18 +171,18 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
@Operation(summary = "下载机构中介导入模板")
|
||||
@PostMapping("/importEntityTemplate")
|
||||
public void importEntityTemplate(HttpServletResponse response) {
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(response, DpcIntermediaryEntityExcel.class, "机构中介黑名单");
|
||||
EasyExcelUtil.importTemplateWithDictDropdown(response, CcdiIntermediaryEntityExcel.class, "机构中介黑名单");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入个人中介黑名单
|
||||
*/
|
||||
@Operation(summary = "导入个人中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:import')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:import')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importPersonData")
|
||||
public AjaxResult importPersonData(@RequestParam("file") MultipartFile file, @RequestParam(value = "updateSupport", defaultValue = "false") boolean updateSupport) throws Exception {
|
||||
List<DpcIntermediaryPersonExcel> list = EasyExcelUtil.importExcel(file.getInputStream(), DpcIntermediaryPersonExcel.class);
|
||||
List<CcdiIntermediaryPersonExcel> list = EasyExcelUtil.importExcel(file.getInputStream(), CcdiIntermediaryPersonExcel.class);
|
||||
String message = intermediaryService.importPersonIntermediary(list, updateSupport);
|
||||
return success(message);
|
||||
}
|
||||
@@ -191,11 +191,11 @@ public class DpcIntermediaryBlacklistController extends BaseController {
|
||||
* 导入机构中介黑名单
|
||||
*/
|
||||
@Operation(summary = "导入机构中介黑名单")
|
||||
@PreAuthorize("@ss.hasPermi('dpc:intermediary:import')")
|
||||
@PreAuthorize("@ss.hasPermi('ccdi:intermediary:import')")
|
||||
@Log(title = "中介黑名单", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importEntityData")
|
||||
public AjaxResult importEntityData(@RequestParam("file") MultipartFile file, @RequestParam(value = "updateSupport", defaultValue = "false") boolean updateSupport) throws Exception {
|
||||
List<DpcIntermediaryEntityExcel> list = EasyExcelUtil.importExcel(file.getInputStream(), DpcIntermediaryEntityExcel.class);
|
||||
List<CcdiIntermediaryEntityExcel> list = EasyExcelUtil.importExcel(file.getInputStream(), CcdiIntermediaryEntityExcel.class);
|
||||
String message = intermediaryService.importEntityIntermediary(list, updateSupport);
|
||||
return success(message);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain;
|
||||
package com.ruoyi.ccdi.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
@@ -17,7 +17,7 @@ import java.util.Date;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployee implements Serializable {
|
||||
public class CcdiEmployee implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain;
|
||||
package com.ruoyi.ccdi.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
@@ -17,7 +17,7 @@ import java.util.Date;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeRelative implements Serializable {
|
||||
public class CcdiEmployeeRelative implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain;
|
||||
package com.ruoyi.ccdi.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
@@ -17,7 +17,7 @@ import java.util.Date;
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryBlacklist implements Serializable {
|
||||
public class CcdiIntermediaryBlacklist implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
@@ -17,7 +17,7 @@ import java.util.List;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeAddDTO implements Serializable {
|
||||
public class CcdiEmployeeAddDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -52,5 +52,5 @@ public class DpcEmployeeAddDTO implements Serializable {
|
||||
private String status;
|
||||
|
||||
/** 亲属列表 */
|
||||
private List<DpcEmployeeRelativeAddDTO> relatives;
|
||||
private List<CcdiEmployeeRelativeAddDTO> relatives;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
@@ -17,7 +17,7 @@ import java.util.List;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeEditDTO implements Serializable {
|
||||
public class CcdiEmployeeEditDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -52,5 +52,5 @@ public class DpcEmployeeEditDTO implements Serializable {
|
||||
private String status;
|
||||
|
||||
/** 亲属列表 */
|
||||
private List<DpcEmployeeRelativeAddDTO> relatives;
|
||||
private List<CcdiEmployeeRelativeAddDTO> relatives;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeQueryDTO implements Serializable {
|
||||
public class CcdiEmployeeQueryDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
@@ -15,7 +15,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeRelativeAddDTO implements Serializable {
|
||||
public class CcdiEmployeeRelativeAddDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
@@ -12,7 +12,7 @@ import java.io.Serializable;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
public class DpcIntermediaryBlacklistAddDTO implements Serializable {
|
||||
public class CcdiIntermediaryBlacklistAddDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@@ -14,7 +14,7 @@ import java.util.Date;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
public class DpcIntermediaryBlacklistEditDTO implements Serializable {
|
||||
public class CcdiIntermediaryBlacklistEditDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@@ -9,7 +9,7 @@ import java.io.Serializable;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
public class DpcIntermediaryBlacklistQueryDTO implements Serializable {
|
||||
public class CcdiIntermediaryBlacklistQueryDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
@@ -15,7 +15,7 @@ import java.util.Date;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryEntityAddDTO implements Serializable {
|
||||
public class CcdiIntermediaryEntityAddDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@@ -16,7 +16,7 @@ import java.util.Date;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryEntityEditDTO implements Serializable {
|
||||
public class CcdiIntermediaryEntityEditDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
@@ -14,7 +14,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryPersonAddDTO implements Serializable {
|
||||
public class CcdiIntermediaryPersonAddDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.dto;
|
||||
package com.ruoyi.ccdi.domain.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@@ -15,7 +15,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryPersonEditDTO implements Serializable {
|
||||
public class CcdiIntermediaryPersonEditDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.excel;
|
||||
package com.ruoyi.ccdi.domain.excel;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
@@ -16,7 +16,7 @@ import java.util.Date;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeExcel implements Serializable {
|
||||
public class CcdiEmployeeExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.excel;
|
||||
package com.ruoyi.ccdi.domain.excel;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
@@ -14,7 +14,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeRelativeExcel implements Serializable {
|
||||
public class CcdiEmployeeRelativeExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.ruoyi.dpc.domain.excel;
|
||||
package com.ruoyi.ccdi.domain.excel;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import com.ruoyi.dpc.utils.converter.IntermediaryStatusConverter;
|
||||
import com.ruoyi.dpc.utils.converter.IntermediaryTypeConverter;
|
||||
import com.ruoyi.ccdi.utils.converter.IntermediaryStatusConverter;
|
||||
import com.ruoyi.ccdi.utils.converter.IntermediaryTypeConverter;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
@@ -16,7 +16,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryBlacklistExcel implements Serializable {
|
||||
public class CcdiIntermediaryBlacklistExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.excel;
|
||||
package com.ruoyi.ccdi.domain.excel;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
@@ -15,7 +15,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryEntityExcel implements Serializable {
|
||||
public class CcdiIntermediaryEntityExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.excel;
|
||||
package com.ruoyi.ccdi.domain.excel;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
@@ -15,7 +15,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryPersonExcel implements Serializable {
|
||||
public class CcdiIntermediaryPersonExcel implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.vo;
|
||||
package com.ruoyi.ccdi.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.io.Serializable;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeRelativeVO implements Serializable {
|
||||
public class CcdiEmployeeRelativeVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.vo;
|
||||
package com.ruoyi.ccdi.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.List;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Data
|
||||
public class DpcEmployeeVO implements Serializable {
|
||||
public class CcdiEmployeeVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -62,5 +62,5 @@ public class DpcEmployeeVO implements Serializable {
|
||||
private String updateBy;
|
||||
|
||||
/** 亲属列表 */
|
||||
private List<DpcEmployeeRelativeVO> relatives;
|
||||
private List<CcdiEmployeeRelativeVO> relatives;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.vo;
|
||||
package com.ruoyi.ccdi.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
@@ -14,7 +14,7 @@ import java.util.Date;
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryBlacklistVO implements Serializable {
|
||||
public class CcdiIntermediaryBlacklistVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.vo;
|
||||
package com.ruoyi.ccdi.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
@@ -14,7 +14,7 @@ import java.util.Date;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryEntityDetailVO implements Serializable {
|
||||
public class CcdiIntermediaryEntityDetailVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.vo;
|
||||
package com.ruoyi.ccdi.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
@@ -14,7 +14,7 @@ import java.util.Date;
|
||||
* @date 2026-01-29
|
||||
*/
|
||||
@Data
|
||||
public class DpcIntermediaryPersonDetailVO implements Serializable {
|
||||
public class CcdiIntermediaryPersonDetailVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.domain.vo;
|
||||
package com.ruoyi.ccdi.domain.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 证件类型枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CertType {
|
||||
|
||||
/** 身份证 */
|
||||
@@ -27,6 +23,19 @@ public enum CertType {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
CertType(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 企业性质枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CorpNature {
|
||||
|
||||
/** 国有企业 */
|
||||
@@ -39,6 +35,19 @@ public enum CorpNature {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
CorpNature(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 主体类型枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum CorpType {
|
||||
|
||||
/** 有限责任公司 */
|
||||
@@ -42,6 +38,19 @@ public enum CorpType {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
CorpType(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,10 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
/**
|
||||
* 数据来源枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DataSource {
|
||||
|
||||
/** 手动录入 */
|
||||
@@ -27,6 +22,19 @@ public enum DataSource {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
DataSource(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 员工状态枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EmployeeStatus {
|
||||
|
||||
/** 在职 */
|
||||
@@ -21,6 +17,19 @@ public enum EmployeeStatus {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
EmployeeStatus(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 性别枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum Gender {
|
||||
|
||||
/** 男 */
|
||||
@@ -24,6 +20,19 @@ public enum Gender {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
Gender(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 人员子类型枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum IndivSubType {
|
||||
|
||||
/** 本人 */
|
||||
@@ -36,6 +32,19 @@ public enum IndivSubType {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
IndivSubType(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 人员类型枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum IndivType {
|
||||
|
||||
/** 房产中介 */
|
||||
@@ -30,6 +26,19 @@ public enum IndivType {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
IndivType(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 中介状态枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum IntermediaryStatus {
|
||||
|
||||
/** 正常 */
|
||||
@@ -21,6 +17,19 @@ public enum IntermediaryStatus {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
IntermediaryStatus(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 中介类型枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum IntermediaryType {
|
||||
|
||||
/** 个人 */
|
||||
@@ -21,6 +17,19 @@ public enum IntermediaryType {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
IntermediaryType(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,15 +1,11 @@
|
||||
package com.ruoyi.dpc.enums;
|
||||
package com.ruoyi.ccdi.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 关联关系枚举
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum RelationType {
|
||||
|
||||
/** 配偶 */
|
||||
@@ -39,6 +35,19 @@ public enum RelationType {
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
RelationType(String code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据编码获取描述
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.handler;
|
||||
package com.ruoyi.ccdi.handler;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.write.handler.SheetWriteHandler;
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.ruoyi.dpc.mapper;
|
||||
package com.ruoyi.ccdi.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.dpc.domain.DpcEmployee;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeQueryDTO;
|
||||
import com.ruoyi.dpc.domain.vo.DpcEmployeeVO;
|
||||
import com.ruoyi.ccdi.domain.CcdiEmployee;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
public interface DpcEmployeeMapper extends BaseMapper<DpcEmployee> {
|
||||
public interface CcdiEmployeeMapper extends BaseMapper<CcdiEmployee> {
|
||||
|
||||
/**
|
||||
* 分页查询员工列表(包含部门名称)
|
||||
@@ -22,8 +22,8 @@ public interface DpcEmployeeMapper extends BaseMapper<DpcEmployee> {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 员工VO分页结果
|
||||
*/
|
||||
Page<DpcEmployeeVO> selectEmployeePageWithDept(@Param("page") Page<DpcEmployeeVO> page,
|
||||
@Param("query") DpcEmployeeQueryDTO queryDTO);
|
||||
Page<CcdiEmployeeVO> selectEmployeePageWithDept(@Param("page") Page<CcdiEmployeeVO> page,
|
||||
@Param("query") CcdiEmployeeQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 查询员工详情(包含亲属列表)
|
||||
@@ -31,5 +31,5 @@ public interface DpcEmployeeMapper extends BaseMapper<DpcEmployee> {
|
||||
* @param employeeId 员工ID
|
||||
* @return 员工VO
|
||||
*/
|
||||
DpcEmployeeVO selectEmployeeWithRelatives(@Param("employeeId") Long employeeId);
|
||||
CcdiEmployeeVO selectEmployeeWithRelatives(@Param("employeeId") Long employeeId);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.ruoyi.ccdi.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.ccdi.domain.CcdiEmployeeRelative;
|
||||
|
||||
/**
|
||||
* 员工亲属 数据层
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
public interface CcdiEmployeeRelativeMapper extends BaseMapper<CcdiEmployeeRelative> {
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.dpc.mapper;
|
||||
package com.ruoyi.ccdi.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
|
||||
import com.ruoyi.ccdi.domain.CcdiIntermediaryBlacklist;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
public interface DpcIntermediaryBlacklistMapper extends BaseMapper<DpcIntermediaryBlacklist> {
|
||||
public interface CcdiIntermediaryBlacklistMapper extends BaseMapper<CcdiIntermediaryBlacklist> {
|
||||
|
||||
/**
|
||||
* 批量插入中介黑名单数据
|
||||
@@ -20,7 +20,7 @@ public interface DpcIntermediaryBlacklistMapper extends BaseMapper<DpcIntermedia
|
||||
* @param list 中介黑名单列表
|
||||
* @return 插入行数
|
||||
*/
|
||||
int batchInsert(@Param("list") List<DpcIntermediaryBlacklist> list);
|
||||
int batchInsert(@Param("list") List<CcdiIntermediaryBlacklist> list);
|
||||
|
||||
/**
|
||||
* 批量更新中介黑名单数据
|
||||
@@ -28,5 +28,5 @@ public interface DpcIntermediaryBlacklistMapper extends BaseMapper<DpcIntermedia
|
||||
* @param list 中介黑名单列表
|
||||
* @return 更新行数
|
||||
*/
|
||||
int batchUpdate(@Param("list") List<DpcIntermediaryBlacklist> list);
|
||||
int batchUpdate(@Param("list") List<CcdiIntermediaryBlacklist> list);
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.ruoyi.dpc.service;
|
||||
package com.ruoyi.ccdi.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeAddDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeEditDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeQueryDTO;
|
||||
import com.ruoyi.dpc.domain.excel.DpcEmployeeExcel;
|
||||
import com.ruoyi.dpc.domain.vo.DpcEmployeeVO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeAddDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeEditDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiEmployeeExcel;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
public interface IDpcEmployeeService {
|
||||
public interface ICcdiEmployeeService {
|
||||
|
||||
/**
|
||||
* 查询员工列表
|
||||
@@ -23,7 +23,7 @@ public interface IDpcEmployeeService {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 员工VO集合
|
||||
*/
|
||||
List<DpcEmployeeVO> selectEmployeeList(DpcEmployeeQueryDTO queryDTO);
|
||||
List<CcdiEmployeeVO> selectEmployeeList(CcdiEmployeeQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 分页查询员工列表
|
||||
@@ -32,7 +32,7 @@ public interface IDpcEmployeeService {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 员工VO分页结果
|
||||
*/
|
||||
Page<DpcEmployeeVO> selectEmployeePage(Page<DpcEmployeeVO> page, DpcEmployeeQueryDTO queryDTO);
|
||||
Page<CcdiEmployeeVO> selectEmployeePage(Page<CcdiEmployeeVO> page, CcdiEmployeeQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 查询员工列表(用于导出)
|
||||
@@ -40,7 +40,7 @@ public interface IDpcEmployeeService {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 员工Excel实体集合
|
||||
*/
|
||||
List<DpcEmployeeExcel> selectEmployeeListForExport(DpcEmployeeQueryDTO queryDTO);
|
||||
List<CcdiEmployeeExcel> selectEmployeeListForExport(CcdiEmployeeQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 查询员工详情
|
||||
@@ -48,7 +48,7 @@ public interface IDpcEmployeeService {
|
||||
* @param employeeId 员工ID
|
||||
* @return 员工VO
|
||||
*/
|
||||
DpcEmployeeVO selectEmployeeById(Long employeeId);
|
||||
CcdiEmployeeVO selectEmployeeById(Long employeeId);
|
||||
|
||||
/**
|
||||
* 新增员工
|
||||
@@ -56,7 +56,7 @@ public interface IDpcEmployeeService {
|
||||
* @param addDTO 新增DTO
|
||||
* @return 结果
|
||||
*/
|
||||
int insertEmployee(DpcEmployeeAddDTO addDTO);
|
||||
int insertEmployee(CcdiEmployeeAddDTO addDTO);
|
||||
|
||||
/**
|
||||
* 修改员工
|
||||
@@ -64,7 +64,7 @@ public interface IDpcEmployeeService {
|
||||
* @param editDTO 编辑DTO
|
||||
* @return 结果
|
||||
*/
|
||||
int updateEmployee(DpcEmployeeEditDTO editDTO);
|
||||
int updateEmployee(CcdiEmployeeEditDTO editDTO);
|
||||
|
||||
/**
|
||||
* 批量删除员工
|
||||
@@ -81,5 +81,5 @@ public interface IDpcEmployeeService {
|
||||
* @param isUpdateSupport 是否更新支持
|
||||
* @return 结果
|
||||
*/
|
||||
String importEmployee(List<DpcEmployeeExcel> excelList, Boolean isUpdateSupport);
|
||||
String importEmployee(List<CcdiEmployeeExcel> excelList, Boolean isUpdateSupport);
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.ruoyi.dpc.service;
|
||||
package com.ruoyi.ccdi.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
|
||||
import com.ruoyi.dpc.domain.dto.*;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryBlacklistExcel;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryEntityExcel;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryPersonExcel;
|
||||
import com.ruoyi.dpc.domain.vo.DpcIntermediaryBlacklistVO;
|
||||
import com.ruoyi.ccdi.domain.CcdiIntermediaryBlacklist;
|
||||
import com.ruoyi.ccdi.domain.dto.*;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryBlacklistExcel;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryEntityExcel;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryPersonExcel;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiIntermediaryBlacklistVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
* @author ruoyi
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
public interface IDpcIntermediaryBlacklistService {
|
||||
public interface ICcdiIntermediaryBlacklistService {
|
||||
|
||||
/**
|
||||
* 查询中介黑名单列表
|
||||
@@ -24,7 +24,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 中介黑名单集合
|
||||
*/
|
||||
List<DpcIntermediaryBlacklistVO> selectIntermediaryList(DpcIntermediaryBlacklistQueryDTO queryDTO);
|
||||
List<CcdiIntermediaryBlacklistVO> selectIntermediaryList(CcdiIntermediaryBlacklistQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 分页查询中介黑名单列表
|
||||
@@ -33,7 +33,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 中介黑名单VO分页结果
|
||||
*/
|
||||
Page<DpcIntermediaryBlacklistVO> selectIntermediaryPage(Page<DpcIntermediaryBlacklist> page, DpcIntermediaryBlacklistQueryDTO queryDTO);
|
||||
Page<CcdiIntermediaryBlacklistVO> selectIntermediaryPage(Page<CcdiIntermediaryBlacklist> page, CcdiIntermediaryBlacklistQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 查询中介黑名单列表(用于导出)
|
||||
@@ -41,7 +41,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param queryDTO 查询条件
|
||||
* @return 中介黑名单Excel实体集合
|
||||
*/
|
||||
List<DpcIntermediaryBlacklistExcel> selectIntermediaryListForExport(DpcIntermediaryBlacklistQueryDTO queryDTO);
|
||||
List<CcdiIntermediaryBlacklistExcel> selectIntermediaryListForExport(CcdiIntermediaryBlacklistQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 查询中介黑名单详细
|
||||
@@ -49,7 +49,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param intermediaryId 中介ID
|
||||
* @return 中介黑名单VO
|
||||
*/
|
||||
DpcIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId);
|
||||
CcdiIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId);
|
||||
|
||||
/**
|
||||
* 新增中介黑名单(通用接口,不推荐使用)
|
||||
@@ -59,7 +59,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @deprecated 请使用 insertPersonIntermediary 或 insertEntityIntermediary 代替
|
||||
*/
|
||||
@Deprecated
|
||||
int insertIntermediary(DpcIntermediaryBlacklistAddDTO addDTO);
|
||||
int insertIntermediary(CcdiIntermediaryBlacklistAddDTO addDTO);
|
||||
|
||||
/**
|
||||
* 新增个人中介黑名单
|
||||
@@ -67,7 +67,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param addDTO 个人中介新增DTO
|
||||
* @return 结果
|
||||
*/
|
||||
int insertPersonIntermediary(DpcIntermediaryPersonAddDTO addDTO);
|
||||
int insertPersonIntermediary(CcdiIntermediaryPersonAddDTO addDTO);
|
||||
|
||||
/**
|
||||
* 新增机构中介黑名单
|
||||
@@ -75,7 +75,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param addDTO 机构中介新增DTO
|
||||
* @return 结果
|
||||
*/
|
||||
int insertEntityIntermediary(DpcIntermediaryEntityAddDTO addDTO);
|
||||
int insertEntityIntermediary(CcdiIntermediaryEntityAddDTO addDTO);
|
||||
|
||||
/**
|
||||
* 修改中介黑名单(通用接口,不推荐使用)
|
||||
@@ -85,7 +85,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @deprecated 请使用 updatePersonIntermediary 或 updateEntityIntermediary 代替
|
||||
*/
|
||||
@Deprecated
|
||||
int updateIntermediary(DpcIntermediaryBlacklistEditDTO editDTO);
|
||||
int updateIntermediary(CcdiIntermediaryBlacklistEditDTO editDTO);
|
||||
|
||||
/**
|
||||
* 修改个人中介黑名单
|
||||
@@ -93,7 +93,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param editDTO 个人中介编辑DTO
|
||||
* @return 结果
|
||||
*/
|
||||
int updatePersonIntermediary(DpcIntermediaryPersonEditDTO editDTO);
|
||||
int updatePersonIntermediary(CcdiIntermediaryPersonEditDTO editDTO);
|
||||
|
||||
/**
|
||||
* 修改机构中介黑名单
|
||||
@@ -101,7 +101,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param editDTO 机构中介编辑DTO
|
||||
* @return 结果
|
||||
*/
|
||||
int updateEntityIntermediary(DpcIntermediaryEntityEditDTO editDTO);
|
||||
int updateEntityIntermediary(CcdiIntermediaryEntityEditDTO editDTO);
|
||||
|
||||
/**
|
||||
* 批量删除中介黑名单
|
||||
@@ -118,13 +118,13 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param isUpdateSupport 是否更新支持
|
||||
* @return 结果
|
||||
*/
|
||||
String importIntermediary(List<DpcIntermediaryBlacklistExcel> excelList, Boolean isUpdateSupport);
|
||||
String importIntermediary(List<CcdiIntermediaryBlacklistExcel> excelList, Boolean isUpdateSupport);
|
||||
|
||||
/**
|
||||
* 根据中介类型获取详情(返回不同类型)
|
||||
*
|
||||
* @param intermediaryId 中介ID
|
||||
* @return 个人返回 DpcIntermediaryPersonDetailVO,机构返回 DpcIntermediaryEntityDetailVO
|
||||
* @return 个人返回 CcdiIntermediaryPersonDetailVO,机构返回 CcdiIntermediaryEntityDetailVO
|
||||
*/
|
||||
Object selectIntermediaryDetailById(Long intermediaryId);
|
||||
|
||||
@@ -135,7 +135,7 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param isUpdateSupport 是否更新支持
|
||||
* @return 结果
|
||||
*/
|
||||
String importPersonIntermediary(List<DpcIntermediaryPersonExcel> excelList, Boolean isUpdateSupport);
|
||||
String importPersonIntermediary(List<CcdiIntermediaryPersonExcel> excelList, Boolean isUpdateSupport);
|
||||
|
||||
/**
|
||||
* 导入机构中介数据
|
||||
@@ -144,5 +144,5 @@ public interface IDpcIntermediaryBlacklistService {
|
||||
* @param isUpdateSupport 是否更新支持
|
||||
* @return 结果
|
||||
*/
|
||||
String importEntityIntermediary(List<DpcIntermediaryEntityExcel> excelList, Boolean isUpdateSupport);
|
||||
String importEntityIntermediary(List<CcdiIntermediaryEntityExcel> excelList, Boolean isUpdateSupport);
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
package com.ruoyi.dpc.service.impl;
|
||||
package com.ruoyi.ccdi.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.ccdi.domain.CcdiEmployee;
|
||||
import com.ruoyi.ccdi.domain.CcdiEmployeeRelative;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeAddDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeEditDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO;
|
||||
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeRelativeAddDTO;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiEmployeeExcel;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO;
|
||||
import com.ruoyi.ccdi.enums.EmployeeStatus;
|
||||
import com.ruoyi.ccdi.mapper.CcdiEmployeeMapper;
|
||||
import com.ruoyi.ccdi.mapper.CcdiEmployeeRelativeMapper;
|
||||
import com.ruoyi.ccdi.service.ICcdiEmployeeService;
|
||||
import com.ruoyi.common.utils.IdCardUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.dpc.domain.DpcEmployee;
|
||||
import com.ruoyi.dpc.domain.DpcEmployeeRelative;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeAddDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeEditDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeQueryDTO;
|
||||
import com.ruoyi.dpc.domain.dto.DpcEmployeeRelativeAddDTO;
|
||||
import com.ruoyi.dpc.domain.excel.DpcEmployeeExcel;
|
||||
import com.ruoyi.dpc.domain.vo.DpcEmployeeVO;
|
||||
import com.ruoyi.dpc.enums.EmployeeStatus;
|
||||
import com.ruoyi.dpc.mapper.DpcEmployeeMapper;
|
||||
import com.ruoyi.dpc.mapper.DpcEmployeeRelativeMapper;
|
||||
import com.ruoyi.dpc.service.IDpcEmployeeService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -31,13 +31,13 @@ import java.util.List;
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
@Service
|
||||
public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
public class CcdiEmployeeServiceImpl implements ICcdiEmployeeService {
|
||||
|
||||
@Resource
|
||||
private DpcEmployeeMapper employeeMapper;
|
||||
private CcdiEmployeeMapper employeeMapper;
|
||||
|
||||
@Resource
|
||||
private DpcEmployeeRelativeMapper relativeMapper;
|
||||
private CcdiEmployeeRelativeMapper relativeMapper;
|
||||
|
||||
/**
|
||||
* 查询员工列表
|
||||
@@ -46,11 +46,11 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
* @return 员工VO集合
|
||||
*/
|
||||
@Override
|
||||
public List<DpcEmployeeVO> selectEmployeeList(DpcEmployeeQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<DpcEmployee> list = employeeMapper.selectList(wrapper);
|
||||
List<DpcEmployeeVO> voList = new ArrayList<>();
|
||||
for (DpcEmployee employee : list) {
|
||||
public List<CcdiEmployeeVO> selectEmployeeList(CcdiEmployeeQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<CcdiEmployee> list = employeeMapper.selectList(wrapper);
|
||||
List<CcdiEmployeeVO> voList = new ArrayList<>();
|
||||
for (CcdiEmployee employee : list) {
|
||||
voList.add(convertToVO(employee));
|
||||
}
|
||||
return voList;
|
||||
@@ -64,10 +64,10 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
* @return 员工VO分页结果
|
||||
*/
|
||||
@Override
|
||||
public Page<DpcEmployeeVO> selectEmployeePage(Page<DpcEmployeeVO> page, DpcEmployeeQueryDTO queryDTO) {
|
||||
public Page<CcdiEmployeeVO> selectEmployeePage(Page<CcdiEmployeeVO> page, CcdiEmployeeQueryDTO queryDTO) {
|
||||
// 使用关联查询获取部门名称
|
||||
Page<DpcEmployeeVO> voPage = new Page<>(page.getCurrent(), page.getSize());
|
||||
Page<DpcEmployeeVO> resultPage = employeeMapper.selectEmployeePageWithDept(voPage, queryDTO);
|
||||
Page<CcdiEmployeeVO> voPage = new Page<>(page.getCurrent(), page.getSize());
|
||||
Page<CcdiEmployeeVO> resultPage = employeeMapper.selectEmployeePageWithDept(voPage, queryDTO);
|
||||
|
||||
// 设置状态描述
|
||||
resultPage.getRecords().forEach(vo ->
|
||||
@@ -84,11 +84,11 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
* @return 员工Excel实体集合
|
||||
*/
|
||||
@Override
|
||||
public List<DpcEmployeeExcel> selectEmployeeListForExport(DpcEmployeeQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<DpcEmployee> list = employeeMapper.selectList(wrapper);
|
||||
public List<CcdiEmployeeExcel> selectEmployeeListForExport(CcdiEmployeeQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<CcdiEmployee> list = employeeMapper.selectList(wrapper);
|
||||
return list.stream().map(employee -> {
|
||||
DpcEmployeeExcel excel = new DpcEmployeeExcel();
|
||||
CcdiEmployeeExcel excel = new CcdiEmployeeExcel();
|
||||
BeanUtils.copyProperties(employee, excel);
|
||||
return excel;
|
||||
}).toList();
|
||||
@@ -101,7 +101,7 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
* @return 员工VO
|
||||
*/
|
||||
@Override
|
||||
public DpcEmployeeVO selectEmployeeById(Long employeeId) {
|
||||
public CcdiEmployeeVO selectEmployeeById(Long employeeId) {
|
||||
return employeeMapper.selectEmployeeWithRelatives(employeeId);
|
||||
}
|
||||
|
||||
@@ -113,29 +113,29 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertEmployee(DpcEmployeeAddDTO addDTO) {
|
||||
public int insertEmployee(CcdiEmployeeAddDTO addDTO) {
|
||||
// 检查柜员号唯一性
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployee::getTellerNo, addDTO.getTellerNo());
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiEmployee::getTellerNo, addDTO.getTellerNo());
|
||||
if (employeeMapper.selectCount(wrapper) > 0) {
|
||||
throw new RuntimeException("该柜员号已存在");
|
||||
}
|
||||
|
||||
// 检查身份证号唯一性
|
||||
wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployee::getIdCard, addDTO.getIdCard());
|
||||
wrapper.eq(CcdiEmployee::getIdCard, addDTO.getIdCard());
|
||||
if (employeeMapper.selectCount(wrapper) > 0) {
|
||||
throw new RuntimeException("该身份证号已存在");
|
||||
}
|
||||
|
||||
DpcEmployee employee = new DpcEmployee();
|
||||
CcdiEmployee employee = new CcdiEmployee();
|
||||
BeanUtils.copyProperties(addDTO, employee);
|
||||
int result = employeeMapper.insert(employee);
|
||||
|
||||
// 插入亲属信息
|
||||
if (addDTO.getRelatives() != null && !addDTO.getRelatives().isEmpty()) {
|
||||
for (DpcEmployeeRelativeAddDTO relativeAddDTO : addDTO.getRelatives()) {
|
||||
DpcEmployeeRelative relative = new DpcEmployeeRelative();
|
||||
for (CcdiEmployeeRelativeAddDTO relativeAddDTO : addDTO.getRelatives()) {
|
||||
CcdiEmployeeRelative relative = new CcdiEmployeeRelative();
|
||||
BeanUtils.copyProperties(relativeAddDTO, relative);
|
||||
relative.setEmployeeId(employee.getEmployeeId());
|
||||
relativeMapper.insert(relative);
|
||||
@@ -153,12 +153,12 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateEmployee(DpcEmployeeEditDTO editDTO) {
|
||||
public int updateEmployee(CcdiEmployeeEditDTO editDTO) {
|
||||
// 检查柜员号唯一性(排除自己)
|
||||
if (StringUtils.isNotEmpty(editDTO.getTellerNo())) {
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployee::getTellerNo, editDTO.getTellerNo())
|
||||
.ne(DpcEmployee::getEmployeeId, editDTO.getEmployeeId());
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiEmployee::getTellerNo, editDTO.getTellerNo())
|
||||
.ne(CcdiEmployee::getEmployeeId, editDTO.getEmployeeId());
|
||||
if (employeeMapper.selectCount(wrapper) > 0) {
|
||||
throw new RuntimeException("该柜员号已存在");
|
||||
}
|
||||
@@ -166,27 +166,27 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
|
||||
// 检查身份证号唯一性(排除自己)
|
||||
if (StringUtils.isNotEmpty(editDTO.getIdCard())) {
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployee::getIdCard, editDTO.getIdCard())
|
||||
.ne(DpcEmployee::getEmployeeId, editDTO.getEmployeeId());
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiEmployee::getIdCard, editDTO.getIdCard())
|
||||
.ne(CcdiEmployee::getEmployeeId, editDTO.getEmployeeId());
|
||||
if (employeeMapper.selectCount(wrapper) > 0) {
|
||||
throw new RuntimeException("该身份证号已存在");
|
||||
}
|
||||
}
|
||||
|
||||
DpcEmployee employee = new DpcEmployee();
|
||||
CcdiEmployee employee = new CcdiEmployee();
|
||||
BeanUtils.copyProperties(editDTO, employee);
|
||||
int result = employeeMapper.updateById(employee);
|
||||
|
||||
// 删除原有亲属信息
|
||||
LambdaQueryWrapper<DpcEmployeeRelative> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployeeRelative::getEmployeeId, editDTO.getEmployeeId());
|
||||
LambdaQueryWrapper<CcdiEmployeeRelative> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiEmployeeRelative::getEmployeeId, editDTO.getEmployeeId());
|
||||
relativeMapper.delete(wrapper);
|
||||
|
||||
// 插入新的亲属信息
|
||||
if (editDTO.getRelatives() != null && !editDTO.getRelatives().isEmpty()) {
|
||||
for (DpcEmployeeRelativeAddDTO relativeAddDTO : editDTO.getRelatives()) {
|
||||
DpcEmployeeRelative relative = new DpcEmployeeRelative();
|
||||
for (CcdiEmployeeRelativeAddDTO relativeAddDTO : editDTO.getRelatives()) {
|
||||
CcdiEmployeeRelative relative = new CcdiEmployeeRelative();
|
||||
BeanUtils.copyProperties(relativeAddDTO, relative);
|
||||
relative.setEmployeeId(editDTO.getEmployeeId());
|
||||
relativeMapper.insert(relative);
|
||||
@@ -207,8 +207,8 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
public int deleteEmployeeByIds(Long[] employeeIds) {
|
||||
// 级联删除亲属信息
|
||||
for (Long employeeId : employeeIds) {
|
||||
LambdaQueryWrapper<DpcEmployeeRelative> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployeeRelative::getEmployeeId, employeeId);
|
||||
LambdaQueryWrapper<CcdiEmployeeRelative> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiEmployeeRelative::getEmployeeId, employeeId);
|
||||
relativeMapper.delete(wrapper);
|
||||
}
|
||||
return employeeMapper.deleteBatchIds(List.of(employeeIds));
|
||||
@@ -223,7 +223,7 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public String importEmployee(List<DpcEmployeeExcel> excelList, Boolean isUpdateSupport) {
|
||||
public String importEmployee(List<CcdiEmployeeExcel> excelList, Boolean isUpdateSupport) {
|
||||
if (StringUtils.isNull(excelList) || excelList.isEmpty()) {
|
||||
return "至少需要一条数据";
|
||||
}
|
||||
@@ -233,16 +233,16 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
StringBuilder successMsg = new StringBuilder();
|
||||
StringBuilder failureMsg = new StringBuilder();
|
||||
|
||||
for (DpcEmployeeExcel excel : excelList) {
|
||||
for (CcdiEmployeeExcel excel : excelList) {
|
||||
try {
|
||||
// 转换为AddDTO
|
||||
DpcEmployeeAddDTO addDTO = new DpcEmployeeAddDTO();
|
||||
CcdiEmployeeAddDTO addDTO = new CcdiEmployeeAddDTO();
|
||||
BeanUtils.copyProperties(excel, addDTO);
|
||||
|
||||
// 验证数据
|
||||
validateEmployeeData(addDTO, isUpdateSupport);
|
||||
|
||||
DpcEmployee employee = new DpcEmployee();
|
||||
CcdiEmployee employee = new CcdiEmployee();
|
||||
BeanUtils.copyProperties(addDTO, employee);
|
||||
|
||||
employeeMapper.insert(employee);
|
||||
@@ -267,21 +267,21 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
/**
|
||||
* 构建查询条件
|
||||
*/
|
||||
private LambdaQueryWrapper<DpcEmployee> buildQueryWrapper(DpcEmployeeQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotEmpty(queryDTO.getName()), DpcEmployee::getName, queryDTO.getName())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getTellerNo()), DpcEmployee::getTellerNo, queryDTO.getTellerNo())
|
||||
.eq(queryDTO.getDeptId() != null, DpcEmployee::getDeptId, queryDTO.getDeptId())
|
||||
.like(StringUtils.isNotEmpty(queryDTO.getIdCard()), DpcEmployee::getIdCard, queryDTO.getIdCard())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getStatus()), DpcEmployee::getStatus, queryDTO.getStatus())
|
||||
.orderByDesc(DpcEmployee::getCreateTime);
|
||||
private LambdaQueryWrapper<CcdiEmployee> buildQueryWrapper(CcdiEmployeeQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotEmpty(queryDTO.getName()), CcdiEmployee::getName, queryDTO.getName())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getTellerNo()), CcdiEmployee::getTellerNo, queryDTO.getTellerNo())
|
||||
.eq(queryDTO.getDeptId() != null, CcdiEmployee::getDeptId, queryDTO.getDeptId())
|
||||
.like(StringUtils.isNotEmpty(queryDTO.getIdCard()), CcdiEmployee::getIdCard, queryDTO.getIdCard())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getStatus()), CcdiEmployee::getStatus, queryDTO.getStatus())
|
||||
.orderByDesc(CcdiEmployee::getCreateTime);
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证员工数据
|
||||
*/
|
||||
private void validateEmployeeData(DpcEmployeeAddDTO addDTO, Boolean isUpdateSupport) {
|
||||
private void validateEmployeeData(CcdiEmployeeAddDTO addDTO, Boolean isUpdateSupport) {
|
||||
// 验证必填字段
|
||||
if (StringUtils.isEmpty(addDTO.getName())) {
|
||||
throw new RuntimeException("姓名不能为空");
|
||||
@@ -303,15 +303,15 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
}
|
||||
|
||||
// 检查柜员号唯一性
|
||||
LambdaQueryWrapper<DpcEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployee::getTellerNo, addDTO.getTellerNo());
|
||||
LambdaQueryWrapper<CcdiEmployee> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiEmployee::getTellerNo, addDTO.getTellerNo());
|
||||
if (employeeMapper.selectCount(wrapper) > 0) {
|
||||
throw new RuntimeException("该柜员号已存在");
|
||||
}
|
||||
|
||||
// 检查身份证号唯一性
|
||||
wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcEmployee::getIdCard, addDTO.getIdCard());
|
||||
wrapper.eq(CcdiEmployee::getIdCard, addDTO.getIdCard());
|
||||
if (employeeMapper.selectCount(wrapper) > 0) {
|
||||
throw new RuntimeException("该身份证号已存在");
|
||||
}
|
||||
@@ -325,12 +325,12 @@ public class DpcEmployeeServiceImpl implements IDpcEmployeeService {
|
||||
/**
|
||||
* 转换为VO对象
|
||||
*/
|
||||
private DpcEmployeeVO convertToVO(DpcEmployee employee) {
|
||||
private CcdiEmployeeVO convertToVO(CcdiEmployee employee) {
|
||||
if (employee == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
DpcEmployeeVO vo = new DpcEmployeeVO();
|
||||
CcdiEmployeeVO vo = new CcdiEmployeeVO();
|
||||
BeanUtils.copyProperties(employee, vo);
|
||||
vo.setStatusDesc(EmployeeStatus.getDescByCode(employee.getStatus()));
|
||||
return vo;
|
||||
@@ -1,22 +1,22 @@
|
||||
package com.ruoyi.dpc.service.impl;
|
||||
package com.ruoyi.ccdi.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.ccdi.domain.CcdiIntermediaryBlacklist;
|
||||
import com.ruoyi.ccdi.domain.dto.*;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryBlacklistExcel;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryEntityExcel;
|
||||
import com.ruoyi.ccdi.domain.excel.CcdiIntermediaryPersonExcel;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiIntermediaryBlacklistVO;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiIntermediaryEntityDetailVO;
|
||||
import com.ruoyi.ccdi.domain.vo.CcdiIntermediaryPersonDetailVO;
|
||||
import com.ruoyi.ccdi.enums.DataSource;
|
||||
import com.ruoyi.ccdi.enums.Gender;
|
||||
import com.ruoyi.ccdi.enums.IntermediaryStatus;
|
||||
import com.ruoyi.ccdi.enums.IntermediaryType;
|
||||
import com.ruoyi.ccdi.mapper.CcdiIntermediaryBlacklistMapper;
|
||||
import com.ruoyi.ccdi.service.ICcdiIntermediaryBlacklistService;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
|
||||
import com.ruoyi.dpc.domain.dto.*;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryBlacklistExcel;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryEntityExcel;
|
||||
import com.ruoyi.dpc.domain.excel.DpcIntermediaryPersonExcel;
|
||||
import com.ruoyi.dpc.domain.vo.DpcIntermediaryBlacklistVO;
|
||||
import com.ruoyi.dpc.domain.vo.DpcIntermediaryEntityDetailVO;
|
||||
import com.ruoyi.dpc.domain.vo.DpcIntermediaryPersonDetailVO;
|
||||
import com.ruoyi.dpc.enums.DataSource;
|
||||
import com.ruoyi.dpc.enums.Gender;
|
||||
import com.ruoyi.dpc.enums.IntermediaryStatus;
|
||||
import com.ruoyi.dpc.enums.IntermediaryType;
|
||||
import com.ruoyi.dpc.mapper.DpcIntermediaryBlacklistMapper;
|
||||
import com.ruoyi.dpc.service.IDpcIntermediaryBlacklistService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -32,10 +32,10 @@ import java.util.stream.Collectors;
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
@Service
|
||||
public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlacklistService {
|
||||
public class CcdiIntermediaryBlacklistServiceImpl implements ICcdiIntermediaryBlacklistService {
|
||||
|
||||
@Resource
|
||||
private DpcIntermediaryBlacklistMapper intermediaryMapper;
|
||||
private CcdiIntermediaryBlacklistMapper intermediaryMapper;
|
||||
|
||||
/**
|
||||
* 查询中介黑名单列表
|
||||
@@ -44,9 +44,9 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 中介黑名单集合
|
||||
*/
|
||||
@Override
|
||||
public List<DpcIntermediaryBlacklistVO> selectIntermediaryList(DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcIntermediaryBlacklist> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<DpcIntermediaryBlacklist> list = intermediaryMapper.selectList(wrapper);
|
||||
public List<CcdiIntermediaryBlacklistVO> selectIntermediaryList(CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiIntermediaryBlacklist> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<CcdiIntermediaryBlacklist> list = intermediaryMapper.selectList(wrapper);
|
||||
return list.stream().map(this::convertToVO).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -58,12 +58,12 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 中介黑名单VO分页结果
|
||||
*/
|
||||
@Override
|
||||
public Page<DpcIntermediaryBlacklistVO> selectIntermediaryPage(Page<DpcIntermediaryBlacklist> page, DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcIntermediaryBlacklist> wrapper = buildQueryWrapper(queryDTO);
|
||||
Page<DpcIntermediaryBlacklist> resultPage = intermediaryMapper.selectPage(page, wrapper);
|
||||
public Page<CcdiIntermediaryBlacklistVO> selectIntermediaryPage(Page<CcdiIntermediaryBlacklist> page, CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiIntermediaryBlacklist> wrapper = buildQueryWrapper(queryDTO);
|
||||
Page<CcdiIntermediaryBlacklist> resultPage = intermediaryMapper.selectPage(page, wrapper);
|
||||
|
||||
// 转换为VO
|
||||
Page<DpcIntermediaryBlacklistVO> voPage = new Page<>(resultPage.getCurrent(), resultPage.getSize(), resultPage.getTotal());
|
||||
Page<CcdiIntermediaryBlacklistVO> voPage = new Page<>(resultPage.getCurrent(), resultPage.getSize(), resultPage.getTotal());
|
||||
voPage.setRecords(resultPage.getRecords().stream().map(this::convertToVO).collect(Collectors.toList()));
|
||||
voPage.setPages(resultPage.getPages());
|
||||
|
||||
@@ -77,11 +77,11 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 中介黑名单Excel实体集合
|
||||
*/
|
||||
@Override
|
||||
public List<DpcIntermediaryBlacklistExcel> selectIntermediaryListForExport(DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcIntermediaryBlacklist> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<DpcIntermediaryBlacklist> list = intermediaryMapper.selectList(wrapper);
|
||||
public List<CcdiIntermediaryBlacklistExcel> selectIntermediaryListForExport(CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiIntermediaryBlacklist> wrapper = buildQueryWrapper(queryDTO);
|
||||
List<CcdiIntermediaryBlacklist> list = intermediaryMapper.selectList(wrapper);
|
||||
return list.stream().map(entity -> {
|
||||
DpcIntermediaryBlacklistExcel excel = new DpcIntermediaryBlacklistExcel();
|
||||
CcdiIntermediaryBlacklistExcel excel = new CcdiIntermediaryBlacklistExcel();
|
||||
BeanUtils.copyProperties(entity, excel);
|
||||
return excel;
|
||||
}).toList();
|
||||
@@ -94,8 +94,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 中介黑名单VO
|
||||
*/
|
||||
@Override
|
||||
public DpcIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId) {
|
||||
DpcIntermediaryBlacklist intermediary = intermediaryMapper.selectById(intermediaryId);
|
||||
public CcdiIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId) {
|
||||
CcdiIntermediaryBlacklist intermediary = intermediaryMapper.selectById(intermediaryId);
|
||||
return convertToVO(intermediary);
|
||||
}
|
||||
|
||||
@@ -107,8 +107,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public int insertIntermediary(DpcIntermediaryBlacklistAddDTO addDTO) {
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
public int insertIntermediary(CcdiIntermediaryBlacklistAddDTO addDTO) {
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(addDTO, intermediary);
|
||||
// 手动新增时,数据来源设置为 MANUAL
|
||||
intermediary.setDataSource("MANUAL");
|
||||
@@ -124,8 +124,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertPersonIntermediary(DpcIntermediaryPersonAddDTO addDTO) {
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
public int insertPersonIntermediary(CcdiIntermediaryPersonAddDTO addDTO) {
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(addDTO, intermediary);
|
||||
// 设置中介类型为个人
|
||||
intermediary.setIntermediaryType("1");
|
||||
@@ -141,8 +141,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertEntityIntermediary(DpcIntermediaryEntityAddDTO addDTO) {
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
public int insertEntityIntermediary(CcdiIntermediaryEntityAddDTO addDTO) {
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(addDTO, intermediary);
|
||||
// 设置中介类型为机构
|
||||
intermediary.setIntermediaryType("2");
|
||||
@@ -161,8 +161,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public int updateIntermediary(DpcIntermediaryBlacklistEditDTO editDTO) {
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
public int updateIntermediary(CcdiIntermediaryBlacklistEditDTO editDTO) {
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(editDTO, intermediary);
|
||||
return intermediaryMapper.updateById(intermediary);
|
||||
}
|
||||
@@ -174,8 +174,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updatePersonIntermediary(DpcIntermediaryPersonEditDTO editDTO) {
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
public int updatePersonIntermediary(CcdiIntermediaryPersonEditDTO editDTO) {
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(editDTO, intermediary);
|
||||
// 设置中介类型为个人
|
||||
intermediary.setIntermediaryType("1");
|
||||
@@ -191,8 +191,8 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateEntityIntermediary(DpcIntermediaryEntityEditDTO editDTO) {
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
public int updateEntityIntermediary(CcdiIntermediaryEntityEditDTO editDTO) {
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(editDTO, intermediary);
|
||||
// 设置中介类型为机构
|
||||
intermediary.setIntermediaryType("2");
|
||||
@@ -204,7 +204,7 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 清空个人专属字段
|
||||
*/
|
||||
private void clearPersonFields(DpcIntermediaryBlacklist intermediary) {
|
||||
private void clearPersonFields(CcdiIntermediaryBlacklist intermediary) {
|
||||
intermediary.setIndivType(null);
|
||||
intermediary.setIndivSubType(null);
|
||||
intermediary.setIndivGender(null);
|
||||
@@ -221,7 +221,7 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 清空机构专属字段
|
||||
*/
|
||||
private void clearEntityFields(DpcIntermediaryBlacklist intermediary) {
|
||||
private void clearEntityFields(CcdiIntermediaryBlacklist intermediary) {
|
||||
intermediary.setCorpCreditCode(null);
|
||||
intermediary.setCorpType(null);
|
||||
intermediary.setCorpNature(null);
|
||||
@@ -258,7 +258,7 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public String importIntermediary(List<DpcIntermediaryBlacklistExcel> excelList, Boolean isUpdateSupport) {
|
||||
public String importIntermediary(List<CcdiIntermediaryBlacklistExcel> excelList, Boolean isUpdateSupport) {
|
||||
if (excelList == null || excelList.isEmpty()) {
|
||||
return "至少需要一条数据";
|
||||
}
|
||||
@@ -268,16 +268,16 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
StringBuilder successMsg = new StringBuilder();
|
||||
StringBuilder failureMsg = new StringBuilder();
|
||||
|
||||
for (DpcIntermediaryBlacklistExcel excel : excelList) {
|
||||
for (CcdiIntermediaryBlacklistExcel excel : excelList) {
|
||||
try {
|
||||
// 转换为AddDTO
|
||||
DpcIntermediaryBlacklistAddDTO addDTO = new DpcIntermediaryBlacklistAddDTO();
|
||||
CcdiIntermediaryBlacklistAddDTO addDTO = new CcdiIntermediaryBlacklistAddDTO();
|
||||
BeanUtils.copyProperties(excel, addDTO);
|
||||
|
||||
// 验证数据
|
||||
validateIntermediaryData(addDTO);
|
||||
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
BeanUtils.copyProperties(addDTO, intermediary);
|
||||
|
||||
intermediaryMapper.insert(intermediary);
|
||||
@@ -303,11 +303,11 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* 根据中介类型获取详情(返回不同类型)
|
||||
*
|
||||
* @param intermediaryId 中介ID
|
||||
* @return 个人返回 DpcIntermediaryPersonDetailVO,机构返回 DpcIntermediaryEntityDetailVO
|
||||
* @return 个人返回 CcdiIntermediaryPersonDetailVO,机构返回 CcdiIntermediaryEntityDetailVO
|
||||
*/
|
||||
@Override
|
||||
public Object selectIntermediaryDetailById(Long intermediaryId) {
|
||||
DpcIntermediaryBlacklist intermediary = intermediaryMapper.selectById(intermediaryId);
|
||||
CcdiIntermediaryBlacklist intermediary = intermediaryMapper.selectById(intermediaryId);
|
||||
if (intermediary == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -330,38 +330,38 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public String importPersonIntermediary(List<DpcIntermediaryPersonExcel> excelList, Boolean isUpdateSupport) {
|
||||
public String importPersonIntermediary(List<CcdiIntermediaryPersonExcel> excelList, Boolean isUpdateSupport) {
|
||||
if (excelList == null || excelList.isEmpty()) {
|
||||
return "至少需要一条数据";
|
||||
}
|
||||
|
||||
// 批量处理:先验证所有数据
|
||||
List<DpcIntermediaryBlacklist> toInsertList = new ArrayList<>();
|
||||
List<DpcIntermediaryBlacklist> toUpdateList = new ArrayList<>();
|
||||
List<CcdiIntermediaryBlacklist> toInsertList = new ArrayList<>();
|
||||
List<CcdiIntermediaryBlacklist> toUpdateList = new ArrayList<>();
|
||||
List<String> errorMessages = new ArrayList<>();
|
||||
|
||||
// 批量查询已存在的记录(用于唯一性校验或更新支持)
|
||||
Set<String> existingCertNos = new HashSet<>();
|
||||
Map<String, Long> certNoToIdMap = new HashMap<>();
|
||||
for (DpcIntermediaryPersonExcel excel : excelList) {
|
||||
for (CcdiIntermediaryPersonExcel excel : excelList) {
|
||||
if (StringUtils.isNotEmpty(excel.getCertificateNo())) {
|
||||
existingCertNos.add(excel.getCertificateNo());
|
||||
}
|
||||
}
|
||||
if (!existingCertNos.isEmpty()) {
|
||||
LambdaQueryWrapper<DpcIntermediaryBlacklist> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcIntermediaryBlacklist::getIntermediaryType, "1")
|
||||
.in(DpcIntermediaryBlacklist::getCertificateNo, existingCertNos)
|
||||
.select(DpcIntermediaryBlacklist::getIntermediaryId, DpcIntermediaryBlacklist::getCertificateNo);
|
||||
List<DpcIntermediaryBlacklist> existingList = intermediaryMapper.selectList(wrapper);
|
||||
for (DpcIntermediaryBlacklist existing : existingList) {
|
||||
LambdaQueryWrapper<CcdiIntermediaryBlacklist> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiIntermediaryBlacklist::getIntermediaryType, "1")
|
||||
.in(CcdiIntermediaryBlacklist::getCertificateNo, existingCertNos)
|
||||
.select(CcdiIntermediaryBlacklist::getIntermediaryId, CcdiIntermediaryBlacklist::getCertificateNo);
|
||||
List<CcdiIntermediaryBlacklist> existingList = intermediaryMapper.selectList(wrapper);
|
||||
for (CcdiIntermediaryBlacklist existing : existingList) {
|
||||
certNoToIdMap.put(existing.getCertificateNo(), existing.getIntermediaryId());
|
||||
}
|
||||
}
|
||||
|
||||
// 如果不是更新模式,先进行唯一性校验
|
||||
if (!isUpdateSupport) {
|
||||
for (DpcIntermediaryPersonExcel excel : excelList) {
|
||||
for (CcdiIntermediaryPersonExcel excel : excelList) {
|
||||
if (StringUtils.isNotEmpty(excel.getCertificateNo()) && certNoToIdMap.containsKey(excel.getCertificateNo())) {
|
||||
throw new RuntimeException("证件号 " + excel.getCertificateNo() + " 已存在,请勿重复导入");
|
||||
}
|
||||
@@ -370,13 +370,13 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
|
||||
// 处理每条数据
|
||||
for (int i = 0; i < excelList.size(); i++) {
|
||||
DpcIntermediaryPersonExcel excel = excelList.get(i);
|
||||
CcdiIntermediaryPersonExcel excel = excelList.get(i);
|
||||
try {
|
||||
// 验证数据
|
||||
validatePersonIntermediaryData(excel);
|
||||
|
||||
// 转换为实体
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
intermediary.setName(excel.getName());
|
||||
intermediary.setCertificateNo(excel.getCertificateNo());
|
||||
intermediary.setIntermediaryType("1");
|
||||
@@ -448,38 +448,38 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public String importEntityIntermediary(List<DpcIntermediaryEntityExcel> excelList, Boolean isUpdateSupport) {
|
||||
public String importEntityIntermediary(List<CcdiIntermediaryEntityExcel> excelList, Boolean isUpdateSupport) {
|
||||
if (excelList == null || excelList.isEmpty()) {
|
||||
return "至少需要一条数据";
|
||||
}
|
||||
|
||||
// 批量处理:先验证所有数据
|
||||
List<DpcIntermediaryBlacklist> toInsertList = new ArrayList<>();
|
||||
List<DpcIntermediaryBlacklist> toUpdateList = new ArrayList<>();
|
||||
List<CcdiIntermediaryBlacklist> toInsertList = new ArrayList<>();
|
||||
List<CcdiIntermediaryBlacklist> toUpdateList = new ArrayList<>();
|
||||
List<String> errorMessages = new ArrayList<>();
|
||||
|
||||
// 批量查询已存在的记录(用于唯一性校验或更新支持)
|
||||
Set<String> existingCreditCodes = new HashSet<>();
|
||||
Map<String, Long> creditCodeToIdMap = new HashMap<>();
|
||||
for (DpcIntermediaryEntityExcel excel : excelList) {
|
||||
for (CcdiIntermediaryEntityExcel excel : excelList) {
|
||||
if (StringUtils.isNotEmpty(excel.getCorpCreditCode())) {
|
||||
existingCreditCodes.add(excel.getCorpCreditCode());
|
||||
}
|
||||
}
|
||||
if (!existingCreditCodes.isEmpty()) {
|
||||
LambdaQueryWrapper<DpcIntermediaryBlacklist> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(DpcIntermediaryBlacklist::getIntermediaryType, "2")
|
||||
.in(DpcIntermediaryBlacklist::getCorpCreditCode, existingCreditCodes)
|
||||
.select(DpcIntermediaryBlacklist::getIntermediaryId, DpcIntermediaryBlacklist::getCorpCreditCode);
|
||||
List<DpcIntermediaryBlacklist> existingList = intermediaryMapper.selectList(wrapper);
|
||||
for (DpcIntermediaryBlacklist existing : existingList) {
|
||||
LambdaQueryWrapper<CcdiIntermediaryBlacklist> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(CcdiIntermediaryBlacklist::getIntermediaryType, "2")
|
||||
.in(CcdiIntermediaryBlacklist::getCorpCreditCode, existingCreditCodes)
|
||||
.select(CcdiIntermediaryBlacklist::getIntermediaryId, CcdiIntermediaryBlacklist::getCorpCreditCode);
|
||||
List<CcdiIntermediaryBlacklist> existingList = intermediaryMapper.selectList(wrapper);
|
||||
for (CcdiIntermediaryBlacklist existing : existingList) {
|
||||
creditCodeToIdMap.put(existing.getCorpCreditCode(), existing.getIntermediaryId());
|
||||
}
|
||||
}
|
||||
|
||||
// 如果不是更新模式,先进行唯一性校验
|
||||
if (!isUpdateSupport) {
|
||||
for (DpcIntermediaryEntityExcel excel : excelList) {
|
||||
for (CcdiIntermediaryEntityExcel excel : excelList) {
|
||||
if (StringUtils.isNotEmpty(excel.getCorpCreditCode()) && creditCodeToIdMap.containsKey(excel.getCorpCreditCode())) {
|
||||
throw new RuntimeException("统一社会信用代码 " + excel.getCorpCreditCode() + " 已存在,请勿重复导入");
|
||||
}
|
||||
@@ -490,13 +490,13 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
|
||||
// 处理每条数据
|
||||
for (int i = 0; i < excelList.size(); i++) {
|
||||
DpcIntermediaryEntityExcel excel = excelList.get(i);
|
||||
CcdiIntermediaryEntityExcel excel = excelList.get(i);
|
||||
try {
|
||||
// 验证数据
|
||||
validateEntityIntermediaryData(excel);
|
||||
|
||||
// 转换为实体
|
||||
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
|
||||
CcdiIntermediaryBlacklist intermediary = new CcdiIntermediaryBlacklist();
|
||||
intermediary.setName(excel.getName());
|
||||
// 对于机构中介,使用统一社会信用代码作为证件号
|
||||
intermediary.setCertificateNo(excel.getCorpCreditCode());
|
||||
@@ -577,7 +577,7 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 验证个人中介数据
|
||||
*/
|
||||
private void validatePersonIntermediaryData(DpcIntermediaryPersonExcel excel) {
|
||||
private void validatePersonIntermediaryData(CcdiIntermediaryPersonExcel excel) {
|
||||
if (StringUtils.isEmpty(excel.getName())) {
|
||||
throw new RuntimeException("姓名不能为空");
|
||||
}
|
||||
@@ -589,7 +589,7 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 验证机构中介数据
|
||||
*/
|
||||
private void validateEntityIntermediaryData(DpcIntermediaryEntityExcel excel) {
|
||||
private void validateEntityIntermediaryData(CcdiIntermediaryEntityExcel excel) {
|
||||
if (StringUtils.isEmpty(excel.getName())) {
|
||||
throw new RuntimeException("机构名称不能为空");
|
||||
}
|
||||
@@ -602,12 +602,12 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 转换为个人详情 VO
|
||||
*/
|
||||
private DpcIntermediaryPersonDetailVO convertToPersonDetailVO(DpcIntermediaryBlacklist intermediary) {
|
||||
private CcdiIntermediaryPersonDetailVO convertToPersonDetailVO(CcdiIntermediaryBlacklist intermediary) {
|
||||
if (intermediary == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
DpcIntermediaryPersonDetailVO vo = new DpcIntermediaryPersonDetailVO();
|
||||
CcdiIntermediaryPersonDetailVO vo = new CcdiIntermediaryPersonDetailVO();
|
||||
// 复制基础字段
|
||||
vo.setIntermediaryId(intermediary.getIntermediaryId());
|
||||
vo.setName(intermediary.getName());
|
||||
@@ -646,12 +646,12 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 转换为机构详情 VO
|
||||
*/
|
||||
private DpcIntermediaryEntityDetailVO convertToEntityDetailVO(DpcIntermediaryBlacklist intermediary) {
|
||||
private CcdiIntermediaryEntityDetailVO convertToEntityDetailVO(CcdiIntermediaryBlacklist intermediary) {
|
||||
if (intermediary == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
DpcIntermediaryEntityDetailVO vo = new DpcIntermediaryEntityDetailVO();
|
||||
CcdiIntermediaryEntityDetailVO vo = new CcdiIntermediaryEntityDetailVO();
|
||||
// 复制基础字段
|
||||
vo.setIntermediaryId(intermediary.getIntermediaryId());
|
||||
vo.setName(intermediary.getName());
|
||||
@@ -693,20 +693,20 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 构建查询条件
|
||||
*/
|
||||
private LambdaQueryWrapper<DpcIntermediaryBlacklist> buildQueryWrapper(DpcIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<DpcIntermediaryBlacklist> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotEmpty(queryDTO.getName()), DpcIntermediaryBlacklist::getName, queryDTO.getName())
|
||||
.like(StringUtils.isNotEmpty(queryDTO.getCertificateNo()), DpcIntermediaryBlacklist::getCertificateNo, queryDTO.getCertificateNo())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getIntermediaryType()), DpcIntermediaryBlacklist::getIntermediaryType, queryDTO.getIntermediaryType())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getStatus()), DpcIntermediaryBlacklist::getStatus, queryDTO.getStatus())
|
||||
.orderByDesc(DpcIntermediaryBlacklist::getCreateTime);
|
||||
private LambdaQueryWrapper<CcdiIntermediaryBlacklist> buildQueryWrapper(CcdiIntermediaryBlacklistQueryDTO queryDTO) {
|
||||
LambdaQueryWrapper<CcdiIntermediaryBlacklist> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotEmpty(queryDTO.getName()), CcdiIntermediaryBlacklist::getName, queryDTO.getName())
|
||||
.like(StringUtils.isNotEmpty(queryDTO.getCertificateNo()), CcdiIntermediaryBlacklist::getCertificateNo, queryDTO.getCertificateNo())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getIntermediaryType()), CcdiIntermediaryBlacklist::getIntermediaryType, queryDTO.getIntermediaryType())
|
||||
.eq(StringUtils.isNotEmpty(queryDTO.getStatus()), CcdiIntermediaryBlacklist::getStatus, queryDTO.getStatus())
|
||||
.orderByDesc(CcdiIntermediaryBlacklist::getCreateTime);
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证中介数据
|
||||
*/
|
||||
private void validateIntermediaryData(DpcIntermediaryBlacklistAddDTO addDTO) {
|
||||
private void validateIntermediaryData(CcdiIntermediaryBlacklistAddDTO addDTO) {
|
||||
// 验证必填字段
|
||||
if (StringUtils.isEmpty(addDTO.getName())) {
|
||||
throw new RuntimeException("姓名/机构名称不能为空");
|
||||
@@ -725,12 +725,12 @@ public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlac
|
||||
/**
|
||||
* 转换为VO对象
|
||||
*/
|
||||
private DpcIntermediaryBlacklistVO convertToVO(DpcIntermediaryBlacklist intermediary) {
|
||||
private CcdiIntermediaryBlacklistVO convertToVO(CcdiIntermediaryBlacklist intermediary) {
|
||||
if (intermediary == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
DpcIntermediaryBlacklistVO vo = new DpcIntermediaryBlacklistVO();
|
||||
CcdiIntermediaryBlacklistVO vo = new CcdiIntermediaryBlacklistVO();
|
||||
BeanUtils.copyProperties(intermediary, vo);
|
||||
|
||||
vo.setIntermediaryTypeName(IntermediaryType.getDescByCode(intermediary.getIntermediaryType()));
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.ruoyi.dpc.utils;
|
||||
package com.ruoyi.ccdi.utils;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.write.handler.WriteHandler;
|
||||
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
||||
import com.ruoyi.dpc.handler.DictDropdownWriteHandler;
|
||||
import com.ruoyi.ccdi.handler.DictDropdownWriteHandler;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.utils.converter;
|
||||
package com.ruoyi.ccdi.utils.converter;
|
||||
|
||||
import com.alibaba.excel.converters.Converter;
|
||||
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.utils.converter;
|
||||
package com.ruoyi.ccdi.utils.converter;
|
||||
|
||||
import com.alibaba.excel.converters.Converter;
|
||||
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.utils.converter;
|
||||
package com.ruoyi.ccdi.utils.converter;
|
||||
|
||||
import com.alibaba.excel.converters.Converter;
|
||||
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.ruoyi.dpc.utils.handler;
|
||||
package com.ruoyi.ccdi.utils.handler;
|
||||
|
||||
import com.alibaba.excel.write.handler.SheetWriteHandler;
|
||||
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
||||
@@ -2,10 +2,10 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.dpc.mapper.DpcEmployeeMapper">
|
||||
<mapper namespace="com.ruoyi.ccdi.mapper.CcdiEmployeeMapper">
|
||||
|
||||
<!-- 员工基本信息ResultMap(用于列表查询,不包含亲属) -->
|
||||
<resultMap type="com.ruoyi.dpc.domain.vo.DpcEmployeeVO" id="DpcEmployeeVOResult">
|
||||
<resultMap type="com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO" id="CcdiEmployeeVOResult">
|
||||
<id property="employeeId" column="employee_id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="tellerNo" column="teller_no"/>
|
||||
@@ -19,8 +19,8 @@
|
||||
</resultMap>
|
||||
|
||||
<!-- 员工详情ResultMap(包含亲属信息) -->
|
||||
<resultMap type="com.ruoyi.dpc.domain.vo.DpcEmployeeVO" id="DpcEmployeeWithRelativesResult" extends="DpcEmployeeVOResult">
|
||||
<collection property="relatives" ofType="DpcEmployeeRelativeVO" notNullColumn="relative_id">
|
||||
<resultMap type="com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO" id="CcdiEmployeeWithRelativesResult" extends="CcdiEmployeeVOResult">
|
||||
<collection property="relatives" ofType="CcdiEmployeeRelativeVO" notNullColumn="relative_id">
|
||||
<id property="relativeId" column="relative_id"/>
|
||||
<result property="employeeId" column="employee_id"/>
|
||||
<result property="relativeName" column="relative_name"/>
|
||||
@@ -30,11 +30,11 @@
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectEmployeePageWithDept" resultMap="DpcEmployeeVOResult">
|
||||
<select id="selectEmployeePageWithDept" resultMap="CcdiEmployeeVOResult">
|
||||
SELECT
|
||||
e.employee_id, e.name, e.teller_no, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
|
||||
d.dept_name
|
||||
FROM dpc_employee e
|
||||
FROM ccdi_employee e
|
||||
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
|
||||
<where>
|
||||
<if test="query.name != null and query.name != ''">
|
||||
@@ -56,14 +56,14 @@
|
||||
ORDER BY e.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectEmployeeWithRelatives" parameterType="Long" resultMap="DpcEmployeeWithRelativesResult">
|
||||
<select id="selectEmployeeWithRelatives" parameterType="Long" resultMap="CcdiEmployeeWithRelativesResult">
|
||||
SELECT
|
||||
e.employee_id, e.name, e.teller_no, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
|
||||
d.dept_name,
|
||||
r.relative_id, r.employee_id, r.relative_name, r.relative_id_card, r.relative_phone, r.relationship
|
||||
FROM dpc_employee e
|
||||
FROM ccdi_employee e
|
||||
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
|
||||
LEFT JOIN dpc_employee_relative r ON e.employee_id = r.employee_id
|
||||
LEFT JOIN ccdi_employee_relative r ON e.employee_id = r.employee_id
|
||||
WHERE e.employee_id = #{employeeId}
|
||||
</select>
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.dpc.mapper.DpcIntermediaryBlacklistMapper">
|
||||
<mapper namespace="com.ruoyi.ccdi.mapper.CcdiIntermediaryBlacklistMapper">
|
||||
|
||||
<!-- 批量插入中介黑名单数据 -->
|
||||
<insert id="batchInsert" parameterType="java.util.List">
|
||||
INSERT INTO dpc_intermediary_blacklist (
|
||||
INSERT INTO ccdi_intermediary_blacklist (
|
||||
name,
|
||||
certificate_no,
|
||||
intermediary_type,
|
||||
@@ -89,7 +89,7 @@
|
||||
<!-- 批量更新中介黑名单数据 -->
|
||||
<update id="batchUpdate" parameterType="java.util.List">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
UPDATE dpc_intermediary_blacklist
|
||||
UPDATE ccdi_intermediary_blacklist
|
||||
<set>
|
||||
<if test="item.name != null">name = #{item.name},</if>
|
||||
<if test="item.certificateNo != null">certificate_no = #{item.certificateNo},</if>
|
||||
@@ -1,13 +0,0 @@
|
||||
package com.ruoyi.dpc.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.dpc.domain.DpcEmployeeRelative;
|
||||
|
||||
/**
|
||||
* 员工亲属 数据层
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-01-28
|
||||
*/
|
||||
public interface DpcEmployeeRelativeMapper extends BaseMapper<DpcEmployeeRelative> {
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request'
|
||||
// 查询员工列表
|
||||
export function listEmployee(query) {
|
||||
return request({
|
||||
url: '/dpc/employee/list',
|
||||
url: '/ccdi/employee/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
@@ -12,7 +12,7 @@ export function listEmployee(query) {
|
||||
// 查询员工详细
|
||||
export function getEmployee(employeeId) {
|
||||
return request({
|
||||
url: '/dpc/employee/' + employeeId,
|
||||
url: '/ccdi/employee/' + employeeId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -20,7 +20,7 @@ export function getEmployee(employeeId) {
|
||||
// 新增员工
|
||||
export function addEmployee(data) {
|
||||
return request({
|
||||
url: '/dpc/employee',
|
||||
url: '/ccdi/employee',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -29,7 +29,7 @@ export function addEmployee(data) {
|
||||
// 修改员工
|
||||
export function updateEmployee(data) {
|
||||
return request({
|
||||
url: '/dpc/employee',
|
||||
url: '/ccdi/employee',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
@@ -38,7 +38,7 @@ export function updateEmployee(data) {
|
||||
// 删除员工
|
||||
export function delEmployee(employeeIds) {
|
||||
return request({
|
||||
url: '/dpc/employee/' + employeeIds,
|
||||
url: '/ccdi/employee/' + employeeIds,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -46,7 +46,7 @@ export function delEmployee(employeeIds) {
|
||||
// 下载导入模板
|
||||
export function importTemplate() {
|
||||
return request({
|
||||
url: '/dpc/employee/importTemplate',
|
||||
url: '/ccdi/employee/importTemplate',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -54,7 +54,7 @@ export function importTemplate() {
|
||||
// 导入员工
|
||||
export function importData(data, updateSupport) {
|
||||
return request({
|
||||
url: '/dpc/employee/importData?updateSupport=' + updateSupport,
|
||||
url: '/ccdi/employee/importData?updateSupport=' + updateSupport,
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -5,7 +5,7 @@ import request from '@/utils/request'
|
||||
*/
|
||||
export function getIndivTypeOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/indivType',
|
||||
url: '/ccdi/enum/indivType',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -15,7 +15,7 @@ export function getIndivTypeOptions() {
|
||||
*/
|
||||
export function getIndivSubTypeOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/indivSubType',
|
||||
url: '/ccdi/enum/indivSubType',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -25,7 +25,7 @@ export function getIndivSubTypeOptions() {
|
||||
*/
|
||||
export function getGenderOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/gender',
|
||||
url: '/ccdi/enum/gender',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -35,7 +35,7 @@ export function getGenderOptions() {
|
||||
*/
|
||||
export function getCertTypeOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/certType',
|
||||
url: '/ccdi/enum/certType',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -45,7 +45,7 @@ export function getCertTypeOptions() {
|
||||
*/
|
||||
export function getRelationTypeOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/relationType',
|
||||
url: '/ccdi/enum/relationType',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -55,7 +55,7 @@ export function getRelationTypeOptions() {
|
||||
*/
|
||||
export function getCorpTypeOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/corpType',
|
||||
url: '/ccdi/enum/corpType',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -65,7 +65,7 @@ export function getCorpTypeOptions() {
|
||||
*/
|
||||
export function getCorpNatureOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/corpNature',
|
||||
url: '/ccdi/enum/corpNature',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -75,7 +75,7 @@ export function getCorpNatureOptions() {
|
||||
*/
|
||||
export function getIntermediaryTypeOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/intermediaryType',
|
||||
url: '/ccdi/enum/intermediaryType',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -85,7 +85,7 @@ export function getIntermediaryTypeOptions() {
|
||||
*/
|
||||
export function getIntermediaryStatusOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/intermediaryStatus',
|
||||
url: '/ccdi/enum/intermediaryStatus',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -95,7 +95,7 @@ export function getIntermediaryStatusOptions() {
|
||||
*/
|
||||
export function getDataSourceOptions() {
|
||||
return request({
|
||||
url: '/dpc/enum/dataSource',
|
||||
url: '/ccdi/enum/dataSource',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request'
|
||||
// 查询中介黑名单列表
|
||||
export function listIntermediary(query) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/list',
|
||||
url: '/ccdi/intermediary/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
@@ -12,7 +12,7 @@ export function listIntermediary(query) {
|
||||
// 查询中介黑名单详细
|
||||
export function getIntermediary(intermediaryId) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/' + intermediaryId,
|
||||
url: '/ccdi/intermediary/' + intermediaryId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -20,7 +20,7 @@ export function getIntermediary(intermediaryId) {
|
||||
// 新增中介黑名单
|
||||
export function addIntermediary(data) {
|
||||
return request({
|
||||
url: '/dpc/intermediary',
|
||||
url: '/ccdi/intermediary',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -29,7 +29,7 @@ export function addIntermediary(data) {
|
||||
// 新增个人中介黑名单
|
||||
export function addPersonIntermediary(data) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/person',
|
||||
url: '/ccdi/intermediary/person',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -38,7 +38,7 @@ export function addPersonIntermediary(data) {
|
||||
// 新增机构中介黑名单
|
||||
export function addEntityIntermediary(data) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/entity',
|
||||
url: '/ccdi/intermediary/entity',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -47,7 +47,7 @@ export function addEntityIntermediary(data) {
|
||||
// 修改中介黑名单
|
||||
export function updateIntermediary(data) {
|
||||
return request({
|
||||
url: '/dpc/intermediary',
|
||||
url: '/ccdi/intermediary',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
@@ -56,7 +56,7 @@ export function updateIntermediary(data) {
|
||||
// 修改个人中介黑名单
|
||||
export function updatePersonIntermediary(data) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/person',
|
||||
url: '/ccdi/intermediary/person',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
@@ -65,7 +65,7 @@ export function updatePersonIntermediary(data) {
|
||||
// 修改机构中介黑名单
|
||||
export function updateEntityIntermediary(data) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/entity',
|
||||
url: '/ccdi/intermediary/entity',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
@@ -74,7 +74,7 @@ export function updateEntityIntermediary(data) {
|
||||
// 删除中介黑名单
|
||||
export function delIntermediary(intermediaryIds) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/' + intermediaryIds,
|
||||
url: '/ccdi/intermediary/' + intermediaryIds,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -82,7 +82,7 @@ export function delIntermediary(intermediaryIds) {
|
||||
// 下载导入模板(已废弃,保留以兼容旧代码)
|
||||
export function importTemplate() {
|
||||
return request({
|
||||
url: '/dpc/intermediary/importTemplate',
|
||||
url: '/ccdi/intermediary/importTemplate',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -90,7 +90,7 @@ export function importTemplate() {
|
||||
// 导入中介黑名单
|
||||
export function importData(data, updateSupport) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/importData?updateSupport=' + updateSupport,
|
||||
url: '/ccdi/intermediary/importData?updateSupport=' + updateSupport,
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -99,7 +99,7 @@ export function importData(data, updateSupport) {
|
||||
// 下载个人中介导入模板
|
||||
export function importPersonTemplate() {
|
||||
return request({
|
||||
url: '/dpc/intermediary/importPersonTemplate',
|
||||
url: '/ccdi/intermediary/importPersonTemplate',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -107,7 +107,7 @@ export function importPersonTemplate() {
|
||||
// 下载机构中介导入模板
|
||||
export function importEntityTemplate() {
|
||||
return request({
|
||||
url: '/dpc/intermediary/importEntityTemplate',
|
||||
url: '/ccdi/intermediary/importEntityTemplate',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -115,7 +115,7 @@ export function importEntityTemplate() {
|
||||
// 导入个人中介黑名单
|
||||
export function importPersonData(data, updateSupport) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/importPersonData?updateSupport=' + updateSupport,
|
||||
url: '/ccdi/intermediary/importPersonData?updateSupport=' + updateSupport,
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -124,7 +124,7 @@ export function importPersonData(data, updateSupport) {
|
||||
// 导入机构中介黑名单
|
||||
export function importEntityData(data, updateSupport) {
|
||||
return request({
|
||||
url: '/dpc/intermediary/importEntityData?updateSupport=' + updateSupport,
|
||||
url: '/ccdi/intermediary/importEntityData?updateSupport=' + updateSupport,
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -3,7 +3,7 @@ import request from '@/utils/request'
|
||||
// 查询初核项目列表
|
||||
export function listProject(query) {
|
||||
return request({
|
||||
url: '/dpc/project/list',
|
||||
url: '/ccdi/project/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
@@ -12,7 +12,7 @@ export function listProject(query) {
|
||||
// 查询初核项目详细
|
||||
export function getProject(projectId) {
|
||||
return request({
|
||||
url: '/dpc/project/' + projectId,
|
||||
url: '/ccdi/project/' + projectId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -20,7 +20,7 @@ export function getProject(projectId) {
|
||||
// 新增初核项目
|
||||
export function addProject(data) {
|
||||
return request({
|
||||
url: '/dpc/project',
|
||||
url: '/ccdi/project',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -29,7 +29,7 @@ export function addProject(data) {
|
||||
// 修改初核项目
|
||||
export function updateProject(data) {
|
||||
return request({
|
||||
url: '/dpc/project',
|
||||
url: '/ccdi/project',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
@@ -38,7 +38,7 @@ export function updateProject(data) {
|
||||
// 删除初核项目
|
||||
export function delProject(projectIds) {
|
||||
return request({
|
||||
url: '/dpc/project/' + projectIds,
|
||||
url: '/ccdi/project/' + projectIds,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -46,7 +46,7 @@ export function delProject(projectIds) {
|
||||
// 导出初核项目
|
||||
export function exportProject(query) {
|
||||
return request({
|
||||
url: '/dpc/project/export',
|
||||
url: '/ccdi/project/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
@@ -55,7 +55,7 @@ export function exportProject(query) {
|
||||
// 刷新项目预警人数
|
||||
export function refreshWarningCount(projectId) {
|
||||
return request({
|
||||
url: '/dpc/project/' + projectId + '/warning',
|
||||
url: '/ccdi/project/' + projectId + '/warning',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -63,7 +63,7 @@ export function refreshWarningCount(projectId) {
|
||||
// 归档项目
|
||||
export function archiveProject(projectId) {
|
||||
return request({
|
||||
url: '/dpc/project/' + projectId + '/archive',
|
||||
url: '/ccdi/project/' + projectId + '/archive',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
@@ -71,7 +71,7 @@ export function archiveProject(projectId) {
|
||||
// 获取历史项目列表(用于导入)
|
||||
export function listHistoryProjects(query) {
|
||||
return request({
|
||||
url: '/dpc/project/history',
|
||||
url: '/ccdi/project/history',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
@@ -80,7 +80,7 @@ export function listHistoryProjects(query) {
|
||||
// 从历史项目导入
|
||||
export function importFromHistory(data) {
|
||||
return request({
|
||||
url: '/dpc/project/import',
|
||||
url: '/ccdi/project/import',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
@@ -63,12 +63,12 @@ export const constantRoutes = [
|
||||
{
|
||||
path: '',
|
||||
component: Layout,
|
||||
redirect: 'dpcProject',
|
||||
redirect: 'ccdiProject',
|
||||
children: [
|
||||
{
|
||||
path: 'dpcProject',
|
||||
component: () => import('@/views/dpcProject/index'),
|
||||
name: 'DpcProject',
|
||||
path: 'ccdiProject',
|
||||
component: () => import('@/views/ccdiProject/index'),
|
||||
name: 'CcdiProject',
|
||||
meta: { title: '初核项目管理', icon: 'dashboard', affix: true }
|
||||
}
|
||||
]
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['dpc:employee:add']"
|
||||
v-hasPermi="['ccdi:employee:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
@@ -62,7 +62,7 @@
|
||||
icon="el-icon-upload2"
|
||||
size="mini"
|
||||
@click="handleImport"
|
||||
v-hasPermi="['dpc:employee:import']"
|
||||
v-hasPermi="['ccdi:employee:import']"
|
||||
>导入</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
@@ -93,21 +93,21 @@
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="handleDetail(scope.row)"
|
||||
v-hasPermi="['dpc:employee:query']"
|
||||
v-hasPermi="['ccdi:employee:query']"
|
||||
>详情</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['dpc:employee:edit']"
|
||||
v-hasPermi="['ccdi:employee:edit']"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['dpc:employee:remove']"
|
||||
v-hasPermi="['ccdi:employee:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -315,7 +315,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {addEmployee, delEmployee, getEmployee, listEmployee, updateEmployee} from "@/api/dpcEmployee";
|
||||
import {addEmployee, delEmployee, getEmployee, listEmployee, updateEmployee} from "@/api/ccdiEmployee";
|
||||
import {deptTreeSelect} from "@/api/system/user";
|
||||
import {getToken} from "@/utils/auth";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
@@ -403,7 +403,7 @@ export default {
|
||||
// 设置上传的请求头部
|
||||
headers: { Authorization: "Bearer " + getToken() },
|
||||
// 上传的地址
|
||||
url: process.env.VUE_APP_BASE_API + "/dpc/employee/importData"
|
||||
url: process.env.VUE_APP_BASE_API + "/ccdi/employee/importData"
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -29,14 +29,14 @@
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="$emit('update', scope.row)"
|
||||
v-hasPermi="['dpc:intermediary:edit']"
|
||||
v-hasPermi="['ccdi:intermediary:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="$emit('delete', scope.row)"
|
||||
v-hasPermi="['dpc:intermediary:remove']"
|
||||
v-hasPermi="['ccdi:intermediary:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -118,9 +118,9 @@ export default {
|
||||
const baseUrl = process.env.VUE_APP_BASE_API;
|
||||
const updateSupport = this.formData.updateSupport ? 1 : 0;
|
||||
if (this.formData.importType === 'person') {
|
||||
return `${baseUrl}/dpc/intermediary/importPersonData?updateSupport=${updateSupport}`;
|
||||
return `${baseUrl}/ccdi/intermediary/importPersonData?updateSupport=${updateSupport}`;
|
||||
} else {
|
||||
return `${baseUrl}/dpc/intermediary/importEntityData?updateSupport=${updateSupport}`;
|
||||
return `${baseUrl}/ccdi/intermediary/importEntityData?updateSupport=${updateSupport}`;
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -16,7 +16,7 @@
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['dpc:intermediary:add']"
|
||||
v-hasPermi="['ccdi:intermediary:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
@@ -26,7 +26,7 @@
|
||||
icon="el-icon-upload2"
|
||||
size="mini"
|
||||
@click="handleImport"
|
||||
v-hasPermi="['dpc:intermediary:import']"
|
||||
v-hasPermi="['ccdi:intermediary:import']"
|
||||
>导入</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
@@ -86,7 +86,7 @@ import {
|
||||
listIntermediary,
|
||||
updateEntityIntermediary,
|
||||
updatePersonIntermediary
|
||||
} from "@/api/dpcIntermediary";
|
||||
} from "@/api/ccdiIntermediary";
|
||||
import {
|
||||
getCertTypeOptions,
|
||||
getCorpNatureOptions,
|
||||
@@ -95,7 +95,7 @@ import {
|
||||
getIndivSubTypeOptions,
|
||||
getIndivTypeOptions,
|
||||
getRelationTypeOptions
|
||||
} from "@/api/dpcEnum";
|
||||
} from "@/api/ccdiEnum";
|
||||
import SearchForm from "./components/SearchForm";
|
||||
import DataTable from "./components/DataTable";
|
||||
import EditDialog from "./components/EditDialog";
|
||||
@@ -135,7 +135,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getMockHistoryProjects} from '@/api/dpcProject'
|
||||
import {getMockHistoryProjects} from '@/api/ccdiProject'
|
||||
|
||||
export default {
|
||||
name: 'ImportHistoryDialog',
|
||||
@@ -63,7 +63,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getMockProjectList} from '@/api/dpcProject'
|
||||
import {getMockProjectList} from '@/api/ccdiProject'
|
||||
import SearchBar from './components/SearchBar'
|
||||
import ProjectTable from './components/ProjectTable'
|
||||
import QuickEntry from './components/QuickEntry'
|
||||
@@ -8,10 +8,10 @@
|
||||
-- ----------------------------
|
||||
-- 1. 创建员工信息表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `dpc_employee_relative`;
|
||||
DROP TABLE IF EXISTS `dpc_employee`;
|
||||
DROP TABLE IF EXISTS `ccdi_employee_relative`;
|
||||
DROP TABLE IF EXISTS `ccdi_employee`;
|
||||
|
||||
CREATE TABLE `dpc_employee` (
|
||||
CREATE TABLE `ccdi_employee` (
|
||||
`employee_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '员工ID',
|
||||
`name` VARCHAR(100) NOT NULL COMMENT '姓名',
|
||||
`teller_no` VARCHAR(50) NOT NULL COMMENT '柜员号',
|
||||
@@ -34,7 +34,7 @@ CREATE TABLE `dpc_employee` (
|
||||
-- ----------------------------
|
||||
-- 2. 创建员工亲属表
|
||||
-- ----------------------------
|
||||
CREATE TABLE `dpc_employee_relative` (
|
||||
CREATE TABLE `ccdi_employee_relative` (
|
||||
`relative_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '亲属ID',
|
||||
`employee_id` BIGINT NOT NULL COMMENT '员工ID',
|
||||
`relative_name` VARCHAR(100) NOT NULL COMMENT '亲属姓名',
|
||||
@@ -55,17 +55,17 @@ CREATE TABLE `dpc_employee_relative` (
|
||||
-- ----------------------------
|
||||
|
||||
-- 员工状态字典
|
||||
INSERT INTO `sys_dict_type` VALUES (101, '员工状态', 'dpc_employee_status', '0', 'admin', sysdate(), '', NULL, '员工状态列表');
|
||||
INSERT INTO `sys_dict_type` VALUES (101, '员工状态', 'ccdi_employee_status', '0', 'admin', sysdate(), '', NULL, '员工状态列表');
|
||||
|
||||
INSERT INTO `sys_dict_data` VALUES (102, 1, '在职', '0', 'dpc_employee_status', '', 'primary', 'N', '0', 'admin', sysdate(), '', NULL, '在职状态');
|
||||
INSERT INTO `sys_dict_data` VALUES (103, 2, '离职', '1', 'dpc_employee_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', NULL, '离职状态');
|
||||
INSERT INTO `sys_dict_data` VALUES (102, 1, '在职', '0', 'ccdi_employee_status', '', 'primary', 'N', '0', 'admin', sysdate(), '', NULL, '在职状态');
|
||||
INSERT INTO `sys_dict_data` VALUES (103, 2, '离职', '1', 'ccdi_employee_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', NULL, '离职状态');
|
||||
|
||||
-- 亲属关系字典
|
||||
INSERT INTO `sys_dict_type` VALUES (102, '亲属关系', 'dpc_relative_relationship', '0', 'admin', sysdate(), '', NULL, '亲属关系列表');
|
||||
INSERT INTO `sys_dict_type` VALUES (102, '亲属关系', 'ccdi_relative_relationship', '0', 'admin', sysdate(), '', NULL, '亲属关系列表');
|
||||
|
||||
INSERT INTO `sys_dict_data` VALUES (104, 1, '配偶', '配偶', 'dpc_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '配偶关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (105, 2, '父亲', '父亲', 'dpc_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '父亲关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (106, 3, '母亲', '母亲', 'dpc_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '母亲关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (107, 4, '子女', '子女', 'dpc_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '子女关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (108, 5, '兄弟姐妹', '兄弟姐妹', 'dpc_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '兄弟姐妹关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (109, 6, '其他', '其他', 'dpc_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '其他关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (104, 1, '配偶', '配偶', 'ccdi_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '配偶关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (105, 2, '父亲', '父亲', 'ccdi_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '父亲关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (106, 3, '母亲', '母亲', 'ccdi_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '母亲关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (107, 4, '子女', '子女', 'ccdi_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '子女关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (108, 5, '兄弟姐妹', '兄弟姐妹', 'ccdi_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '兄弟姐妹关系');
|
||||
INSERT INTO `sys_dict_data` VALUES (109, 6, '其他', '其他', 'ccdi_relative_relationship', '', '', 'N', '0', 'admin', sysdate(), '', NULL, '其他关系');
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user