1. 新增统一的业务编码生成功能

(cherry picked from commit fe28760a49)
This commit is contained in:
chenbowen
2025-08-12 14:09:36 +08:00
committed by chenbowen
parent a3cc570b83
commit 3ff40f9af9
30 changed files with 1329 additions and 90 deletions

View File

@@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.template.controller.admin.contract.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 合同新增/修改 Request VO")
@@ -16,7 +16,6 @@ public class DemoContractSaveReqVO {
private Long id;
@Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "合同编号不能为空")
private String code;
@Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@@ -24,7 +23,6 @@ public class DemoContractSaveReqVO {
private String name;
@Schema(description = "合同状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "合同状态不能为空")
private Short status;
@Schema(description = "流程实例ID", example = "10492")

View File

@@ -1,15 +1,14 @@
package cn.iocoder.yudao.module.template.dal.dataobject.contract;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import cn.iocoder.yudao.framework.mybatis.core.annotation.BusinessCode;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;
import org.apache.ibatis.type.JdbcType;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 合同 DO
*
@@ -26,9 +25,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class DemoContractDO extends BaseDO {
public class DemoContractDO extends BusinessBaseDO {
/**
* 合同ID
@@ -38,6 +35,8 @@ public class DemoContractDO extends BaseDO {
/**
* 合同编号
*/
@TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
@BusinessCode("SEQ")
private String code;
/**
* 合同名称
@@ -71,25 +70,5 @@ public class DemoContractDO extends BaseDO {
* 备注
*/
private String remark;
/**
* 公司ID
*/
private Long companyId;
/**
* 公司名称
*/
private String companyName;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门名称
*/
private String deptName;
/**
* 岗位ID
*/
private Long postId;
}

View File

@@ -1,24 +1,22 @@
package cn.iocoder.yudao.module.template.service.contract;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.template.controller.admin.contract.vo.*;
import cn.iocoder.yudao.module.template.dal.dataobject.contract.DemoContractDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.template.controller.admin.contract.vo.DemoContractPageReqVO;
import cn.iocoder.yudao.module.template.controller.admin.contract.vo.DemoContractRespVO;
import cn.iocoder.yudao.module.template.controller.admin.contract.vo.DemoContractSaveReqVO;
import cn.iocoder.yudao.module.template.dal.dataobject.contract.DemoContractDO;
import cn.iocoder.yudao.module.template.dal.mysql.contract.DemoContractMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.Arrays;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList;
import static cn.iocoder.yudao.module.template.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.template.enums.ErrorCodeConstants.DEMO_CONTRACT_NOT_EXISTS;
/**
* 合同 Service 实现类
@@ -36,6 +34,9 @@ public class DemoContractServiceImpl implements DemoContractService {
public DemoContractRespVO createDemoContract(DemoContractSaveReqVO createReqVO) {
// 插入
DemoContractDO demoContract = BeanUtils.toBean(createReqVO, DemoContractDO.class);
// 生成 a,d,f,h,y,yy,t,gg,ggdd
List<String> inputStrs = Arrays.asList("a", "b", "c", "d", "e", "f");
demoContract.setInputStrs(inputStrs);
demoContractMapper.insert(demoContract);
// 返回
return BeanUtils.toBean(demoContract, DemoContractRespVO.class);