From d49947ed6d27cc7193c5169fff8003f80f76151b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Sat, 17 Jan 2026 10:29:34 +0800 Subject: [PATCH] xx --- pom.xml | 18 +++++ .../controller/ApprovalTempController.java | 70 +++++++++++++++++++ .../ApprovalTempControllerConvert.java | 58 +++++++++++++++ .../domain/api/IApprovalTempDomain.java | 29 ++++++++ .../convert/ApprovalTempDomainConvert.java | 58 +++++++++++++++ .../domain/impl/ApprovalTempDomainImpl.java | 39 +++++++++++ .../approval/domain/model/ApprovalTemp.java | 55 +++++++++++++++ .../approval/mapper/ApprovalTempMapper.java | 29 ++++++++ .../mapper/entity/ApprovalTempEntity.java | 36 ++++++++++ .../service/api/IApprovalTempService.java | 29 ++++++++ .../convert/ApprovalTempServiceConvert.java | 58 +++++++++++++++ .../approval/service/dto/ApprovalTempDTO.java | 55 +++++++++++++++ .../service/impl/ApprovalTempServiceImpl.java | 51 ++++++++++++++ src/main/resources/bootstrap.yml | 8 ++- .../V1__Create_approval_temp_table.sql | 14 ++++ .../mapper/approval/ApprovalTempMapper.xml | 27 +++++++ 16 files changed, 632 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ruoyi/approval/controller/ApprovalTempController.java create mode 100644 src/main/java/com/ruoyi/approval/controller/convert/ApprovalTempControllerConvert.java create mode 100644 src/main/java/com/ruoyi/approval/domain/api/IApprovalTempDomain.java create mode 100644 src/main/java/com/ruoyi/approval/domain/convert/ApprovalTempDomainConvert.java create mode 100644 src/main/java/com/ruoyi/approval/domain/impl/ApprovalTempDomainImpl.java create mode 100644 src/main/java/com/ruoyi/approval/domain/model/ApprovalTemp.java create mode 100644 src/main/java/com/ruoyi/approval/mapper/ApprovalTempMapper.java create mode 100644 src/main/java/com/ruoyi/approval/mapper/entity/ApprovalTempEntity.java create mode 100644 src/main/java/com/ruoyi/approval/service/api/IApprovalTempService.java create mode 100644 src/main/java/com/ruoyi/approval/service/convert/ApprovalTempServiceConvert.java create mode 100644 src/main/java/com/ruoyi/approval/service/dto/ApprovalTempDTO.java create mode 100644 src/main/java/com/ruoyi/approval/service/impl/ApprovalTempServiceImpl.java create mode 100644 src/main/resources/db/migration/V1__Create_approval_temp_table.sql create mode 100644 src/main/resources/mapper/approval/ApprovalTempMapper.xml diff --git a/pom.xml b/pom.xml index 081331a..1ec48d1 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,24 @@ ruoyi-common-swagger + + + com.ruoyi + tuoheng-api-approval + + + + + org.flywaydb + flyway-core + + + + + org.flywaydb + flyway-mysql + + diff --git a/src/main/java/com/ruoyi/approval/controller/ApprovalTempController.java b/src/main/java/com/ruoyi/approval/controller/ApprovalTempController.java new file mode 100644 index 0000000..1dc1b1e --- /dev/null +++ b/src/main/java/com/ruoyi/approval/controller/ApprovalTempController.java @@ -0,0 +1,70 @@ +package com.ruoyi.approval.controller; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.approval.api.domain.ApprovalTempVO; +import com.ruoyi.approval.controller.convert.ApprovalTempControllerConvert; +import com.ruoyi.approval.service.api.IApprovalTempService; +import com.ruoyi.approval.service.dto.ApprovalTempDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 审批临时表Controller + * + * @author ruoyi + * @date 2026-01-17 + */ +@RestController +@RequestMapping("/approval/temp") +public class ApprovalTempController extends BaseController +{ + @Autowired + private IApprovalTempService approvalTempService; + + /** + * 查询审批临时表列表 + */ + @GetMapping("/list") + public TableDataInfo list(ApprovalTempVO approvalTemp) + { + startPage(); + // API Domain → Service DTO + ApprovalTempDTO dto = ApprovalTempControllerConvert.toDTO(approvalTemp); + List dtoList = approvalTempService.selectApprovalTempList(dto); + // Service DTO → API Domain + List list = ApprovalTempControllerConvert.toApiDomainList(dtoList); + return getDataTable(list); + } + + /** + * 获取审批临时表详细信息(内部调用) + */ + @InnerAuth + @GetMapping(value = "/{id}") + public R getApprovalById(@PathVariable("id") String id) + { + ApprovalTempDTO dto = approvalTempService.selectApprovalTempById(id); + ApprovalTempVO approvalTemp = ApprovalTempControllerConvert.toVO(dto); + return R.ok(approvalTemp); + } + + /** + * 获取审批临时表详细信息(外部调用) + */ + @GetMapping(value = "/info/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + ApprovalTempDTO dto = approvalTempService.selectApprovalTempById(id); + ApprovalTempVO approvalTemp = ApprovalTempControllerConvert.toVO(dto); + return success(approvalTemp); + } +} diff --git a/src/main/java/com/ruoyi/approval/controller/convert/ApprovalTempControllerConvert.java b/src/main/java/com/ruoyi/approval/controller/convert/ApprovalTempControllerConvert.java new file mode 100644 index 0000000..ee7412c --- /dev/null +++ b/src/main/java/com/ruoyi/approval/controller/convert/ApprovalTempControllerConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.approval.controller.convert; + +import com.ruoyi.approval.api.domain.ApprovalTempVO; +import com.ruoyi.approval.service.dto.ApprovalTempDTO; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 审批临时表Controller层转换器 + * API Domain ↔ Service DTO + * + * @author ruoyi + * @date 2026-01-17 + */ +public class ApprovalTempControllerConvert +{ + /** + * DTO 转 API Domain + */ + public static ApprovalTempVO toVO(ApprovalTempDTO dto) + { + if (dto == null) + { + return null; + } + ApprovalTempVO apiDomain = new ApprovalTempVO(); + BeanUtils.copyProperties(dto, apiDomain); + return apiDomain; + } + + /** + * API Domain 转 DTO + */ + public static ApprovalTempDTO toDTO(ApprovalTempVO apiDomain) + { + if (apiDomain == null) + { + return null; + } + ApprovalTempDTO dto = new ApprovalTempDTO(); + BeanUtils.copyProperties(apiDomain, dto); + return dto; + } + + /** + * DTO List 转 API Domain List + */ + public static List toApiDomainList(List dtoList) + { + if (dtoList == null) + { + return null; + } + return dtoList.stream().map(ApprovalTempControllerConvert::toVO).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/ruoyi/approval/domain/api/IApprovalTempDomain.java b/src/main/java/com/ruoyi/approval/domain/api/IApprovalTempDomain.java new file mode 100644 index 0000000..a38768e --- /dev/null +++ b/src/main/java/com/ruoyi/approval/domain/api/IApprovalTempDomain.java @@ -0,0 +1,29 @@ +package com.ruoyi.approval.domain.api; + +import com.ruoyi.approval.domain.model.ApprovalTemp; +import java.util.List; + +/** + * 审批临时表Domain接口 + * + * @author ruoyi + * @date 2026-01-17 + */ +public interface IApprovalTempDomain +{ + /** + * 查询审批临时表列表 + * + * @param approvalTemp 审批临时表 + * @return 审批临时表集合 + */ + List selectApprovalTempList(ApprovalTemp approvalTemp); + + /** + * 根据ID查询审批临时表 + * + * @param id 主键ID + * @return 审批临时表 + */ + ApprovalTemp selectApprovalTempById(String id); +} diff --git a/src/main/java/com/ruoyi/approval/domain/convert/ApprovalTempDomainConvert.java b/src/main/java/com/ruoyi/approval/domain/convert/ApprovalTempDomainConvert.java new file mode 100644 index 0000000..c2d104f --- /dev/null +++ b/src/main/java/com/ruoyi/approval/domain/convert/ApprovalTempDomainConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.approval.domain.convert; + +import com.ruoyi.approval.domain.model.ApprovalTemp; +import com.ruoyi.approval.mapper.entity.ApprovalTempEntity; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 审批临时表Domain层转换器 + * Domain Model ↔ Mapper Entity + * + * @author ruoyi + * @date 2026-01-17 + */ +public class ApprovalTempDomainConvert +{ + /** + * Entity 转 Model + */ + public static ApprovalTemp toModel(ApprovalTempEntity entity) + { + if (entity == null) + { + return null; + } + ApprovalTemp model = new ApprovalTemp(); + BeanUtils.copyProperties(entity, model); + return model; + } + + /** + * Model 转 Entity + */ + public static ApprovalTempEntity toEntity(ApprovalTemp model) + { + if (model == null) + { + return null; + } + ApprovalTempEntity entity = new ApprovalTempEntity(); + BeanUtils.copyProperties(model, entity); + return entity; + } + + /** + * Entity List 转 Model List + */ + public static List toModelList(List entityList) + { + if (entityList == null) + { + return null; + } + return entityList.stream().map(ApprovalTempDomainConvert::toModel).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/ruoyi/approval/domain/impl/ApprovalTempDomainImpl.java b/src/main/java/com/ruoyi/approval/domain/impl/ApprovalTempDomainImpl.java new file mode 100644 index 0000000..ee77871 --- /dev/null +++ b/src/main/java/com/ruoyi/approval/domain/impl/ApprovalTempDomainImpl.java @@ -0,0 +1,39 @@ +package com.ruoyi.approval.domain.impl; + +import com.ruoyi.approval.domain.api.IApprovalTempDomain; +import com.ruoyi.approval.domain.convert.ApprovalTempDomainConvert; +import com.ruoyi.approval.domain.model.ApprovalTemp; +import com.ruoyi.approval.mapper.ApprovalTempMapper; +import com.ruoyi.approval.mapper.entity.ApprovalTempEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 审批临时表Domain实现 + * + * @author ruoyi + * @date 2026-01-17 + */ +@Component +public class ApprovalTempDomainImpl implements IApprovalTempDomain +{ + @Autowired + private ApprovalTempMapper approvalTempMapper; + + @Override + public List selectApprovalTempList(ApprovalTemp approvalTempModel) + { + ApprovalTempEntity entity = ApprovalTempDomainConvert.toEntity(approvalTempModel); + List entityList = approvalTempMapper.selectApprovalTempList(entity); + return ApprovalTempDomainConvert.toModelList(entityList); + } + + @Override + public ApprovalTemp selectApprovalTempById(String id) + { + ApprovalTempEntity entity = approvalTempMapper.selectApprovalTempById(id); + return ApprovalTempDomainConvert.toModel(entity); + } +} diff --git a/src/main/java/com/ruoyi/approval/domain/model/ApprovalTemp.java b/src/main/java/com/ruoyi/approval/domain/model/ApprovalTemp.java new file mode 100644 index 0000000..a005dec --- /dev/null +++ b/src/main/java/com/ruoyi/approval/domain/model/ApprovalTemp.java @@ -0,0 +1,55 @@ +package com.ruoyi.approval.domain.model; + +import java.io.Serializable; +import java.util.Date; + +/** + * 审批临时表领域模型 + * Domain 层对外暴露的对象 + * + * @author ruoyi + * @date 2026-01-17 + */ +public class ApprovalTemp implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + /** 创建时间 */ + private Date createTime; + + /** 更新时间 */ + private Date updateTime; + + public String getId() + { + return id; + } + + public void setId(String id) + { + this.id = id; + } + + public Date getCreateTime() + { + return createTime; + } + + public void setCreateTime(Date createTime) + { + this.createTime = createTime; + } + + public Date getUpdateTime() + { + return updateTime; + } + + public void setUpdateTime(Date updateTime) + { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/ruoyi/approval/mapper/ApprovalTempMapper.java b/src/main/java/com/ruoyi/approval/mapper/ApprovalTempMapper.java new file mode 100644 index 0000000..b86cbd3 --- /dev/null +++ b/src/main/java/com/ruoyi/approval/mapper/ApprovalTempMapper.java @@ -0,0 +1,29 @@ +package com.ruoyi.approval.mapper; + +import com.ruoyi.approval.mapper.entity.ApprovalTempEntity; +import java.util.List; + +/** + * 审批临时表Mapper接口 + * + * @author ruoyi + * @date 2026-01-17 + */ +public interface ApprovalTempMapper +{ + /** + * 查询审批临时表列表 + * + * @param approvalTempEntity 审批临时表 + * @return 审批临时表集合 + */ + public List selectApprovalTempList(ApprovalTempEntity approvalTempEntity); + + /** + * 根据ID查询审批临时表 + * + * @param id 主键ID + * @return 审批临时表 + */ + public ApprovalTempEntity selectApprovalTempById(String id); +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/approval/mapper/entity/ApprovalTempEntity.java b/src/main/java/com/ruoyi/approval/mapper/entity/ApprovalTempEntity.java new file mode 100644 index 0000000..2d02b0b --- /dev/null +++ b/src/main/java/com/ruoyi/approval/mapper/entity/ApprovalTempEntity.java @@ -0,0 +1,36 @@ +package com.ruoyi.approval.mapper.entity; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +/** + * 审批临时表实体对象 tuoheng_approval_temp + * Mapper 层实体,对应数据库表 + * + * @author ruoyi + * @date 2026-01-17 + */ +public class ApprovalTempEntity extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + public String getId() + { + return id; + } + + public void setId(String id) + { + this.id = id; + } + + @Override + public String toString() + { + return "ApprovalTempEntity{" + + "id='" + id + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/approval/service/api/IApprovalTempService.java b/src/main/java/com/ruoyi/approval/service/api/IApprovalTempService.java new file mode 100644 index 0000000..dcfd4f8 --- /dev/null +++ b/src/main/java/com/ruoyi/approval/service/api/IApprovalTempService.java @@ -0,0 +1,29 @@ +package com.ruoyi.approval.service.api; + +import com.ruoyi.approval.service.dto.ApprovalTempDTO; +import java.util.List; + +/** + * 审批临时表Service接口 + * + * @author ruoyi + * @date 2026-01-17 + */ +public interface IApprovalTempService +{ + /** + * 查询审批临时表列表 + * + * @param approvalTempDTO 审批临时表 + * @return 审批临时表集合 + */ + List selectApprovalTempList(ApprovalTempDTO approvalTempDTO); + + /** + * 根据ID查询审批临时表 + * + * @param id 主键ID + * @return 审批临时表 + */ + ApprovalTempDTO selectApprovalTempById(String id); +} diff --git a/src/main/java/com/ruoyi/approval/service/convert/ApprovalTempServiceConvert.java b/src/main/java/com/ruoyi/approval/service/convert/ApprovalTempServiceConvert.java new file mode 100644 index 0000000..a7e1f08 --- /dev/null +++ b/src/main/java/com/ruoyi/approval/service/convert/ApprovalTempServiceConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.approval.service.convert; + +import com.ruoyi.approval.domain.model.ApprovalTemp; +import com.ruoyi.approval.service.dto.ApprovalTempDTO; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 审批临时表Service层转换器 + * Service DTO ↔ Domain Model + * + * @author ruoyi + * @date 2026-01-17 + */ +public class ApprovalTempServiceConvert +{ + /** + * Model 转 DTO + */ + public static ApprovalTempDTO toDTO(ApprovalTemp model) + { + if (model == null) + { + return null; + } + ApprovalTempDTO dto = new ApprovalTempDTO(); + BeanUtils.copyProperties(model, dto); + return dto; + } + + /** + * DTO 转 Model + */ + public static ApprovalTemp toModel(ApprovalTempDTO dto) + { + if (dto == null) + { + return null; + } + ApprovalTemp model = new ApprovalTemp(); + BeanUtils.copyProperties(dto, model); + return model; + } + + /** + * Model List 转 DTO List + */ + public static List toDTOList(List modelList) + { + if (modelList == null) + { + return null; + } + return modelList.stream().map(ApprovalTempServiceConvert::toDTO).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/ruoyi/approval/service/dto/ApprovalTempDTO.java b/src/main/java/com/ruoyi/approval/service/dto/ApprovalTempDTO.java new file mode 100644 index 0000000..8add0a7 --- /dev/null +++ b/src/main/java/com/ruoyi/approval/service/dto/ApprovalTempDTO.java @@ -0,0 +1,55 @@ +package com.ruoyi.approval.service.dto; + +import java.io.Serializable; +import java.util.Date; + +/** + * 审批临时表服务层DTO + * Service 层对外暴露的对象 + * + * @author ruoyi + * @date 2026-01-17 + */ +public class ApprovalTempDTO implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + /** 创建时间 */ + private Date createTime; + + /** 更新时间 */ + private Date updateTime; + + public String getId() + { + return id; + } + + public void setId(String id) + { + this.id = id; + } + + public Date getCreateTime() + { + return createTime; + } + + public void setCreateTime(Date createTime) + { + this.createTime = createTime; + } + + public Date getUpdateTime() + { + return updateTime; + } + + public void setUpdateTime(Date updateTime) + { + this.updateTime = updateTime; + } +} diff --git a/src/main/java/com/ruoyi/approval/service/impl/ApprovalTempServiceImpl.java b/src/main/java/com/ruoyi/approval/service/impl/ApprovalTempServiceImpl.java new file mode 100644 index 0000000..34bc106 --- /dev/null +++ b/src/main/java/com/ruoyi/approval/service/impl/ApprovalTempServiceImpl.java @@ -0,0 +1,51 @@ +package com.ruoyi.approval.service.impl; + +import com.ruoyi.approval.domain.api.IApprovalTempDomain; +import com.ruoyi.approval.domain.model.ApprovalTemp; +import com.ruoyi.approval.service.api.IApprovalTempService; +import com.ruoyi.approval.service.convert.ApprovalTempServiceConvert; +import com.ruoyi.approval.service.dto.ApprovalTempDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 审批临时表Service业务层处理 + * + * @author ruoyi + * @date 2026-01-17 + */ +@Service +public class ApprovalTempServiceImpl implements IApprovalTempService +{ + @Autowired + private IApprovalTempDomain approvalTempDomain; + + /** + * 查询审批临时表列表 + * + * @param approvalTempDTO 审批临时表 + * @return 审批临时表集合 + */ + @Override + public List selectApprovalTempList(ApprovalTempDTO approvalTempDTO) + { + ApprovalTemp model = ApprovalTempServiceConvert.toModel(approvalTempDTO); + List modelList = approvalTempDomain.selectApprovalTempList(model); + return ApprovalTempServiceConvert.toDTOList(modelList); + } + + /** + * 根据ID查询审批临时表 + * + * @param id 主键ID + * @return 审批临时表 + */ + @Override + public ApprovalTempDTO selectApprovalTempById(String id) + { + ApprovalTemp model = approvalTempDomain.selectApprovalTempById(id); + return ApprovalTempServiceConvert.toDTO(model); + } +} diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index a9063b4..5c45071 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -1,15 +1,19 @@ # Tomcat server: - port: 9201 + port: 9203 # Spring -spring: +spring: application: # 应用名称 name: tuoheng-approval profiles: # 环境配置 active: prod + flyway: + table: flyway_approval_schema_history # 自定义历史表名 + baseline-on-migrate: true # 在nocos中也有配置 + baseline-version: 0 # 在nocos中也有配置 cloud: nacos: discovery: diff --git a/src/main/resources/db/migration/V1__Create_approval_temp_table.sql b/src/main/resources/db/migration/V1__Create_approval_temp_table.sql new file mode 100644 index 0000000..bccebea --- /dev/null +++ b/src/main/resources/db/migration/V1__Create_approval_temp_table.sql @@ -0,0 +1,14 @@ +-- ============================================================ +-- Flyway Migration Script +-- ============================================================ +-- Version: V1 +-- Description: Create tuoheng_approval_temp table +-- Author: ruoyi +-- Date: 2026-01-17 +-- ============================================================ + +-- 创建审批临时表 +CREATE TABLE IF NOT EXISTS tuoheng_approval_temp ( + id VARCHAR(64) NOT NULL COMMENT '主键ID', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批临时表'; diff --git a/src/main/resources/mapper/approval/ApprovalTempMapper.xml b/src/main/resources/mapper/approval/ApprovalTempMapper.xml new file mode 100644 index 0000000..e1d642b --- /dev/null +++ b/src/main/resources/mapper/approval/ApprovalTempMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + select id from tuoheng_approval_temp + + + + + + + \ No newline at end of file