变更项目缩写

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

View File

@@ -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` 权限注解