1. 新增统一的业务编码生成功能
This commit is contained in:
@@ -1,13 +1,30 @@
|
||||
package cn.iocoder.yudao.module.system.api.sequence;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.biz.system.sequence.SequenceCommonApi;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.system.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author chenbowen
|
||||
*/
|
||||
@FeignClient(name = ApiConstants.NAME)
|
||||
@Tag(name = "序列管理 Api")
|
||||
public interface SequenceApi {
|
||||
@FeignClient(name = ApiConstants.NAME, primary = false) // TODO 芋艿:fallbackFactory =
|
||||
@Tag(name = "RPC 服务 - 序列号")
|
||||
public interface SequenceApi extends SequenceCommonApi {
|
||||
|
||||
String PREFIX = ApiConstants.PREFIX + "/sequence";
|
||||
|
||||
@PostMapping(PREFIX + "/next-sequence")
|
||||
@Operation(summary = "获取下一个序列号")
|
||||
@Override
|
||||
CommonResult<String> getNextSequence(@RequestParam("sequenceCode") String sequenceCode,
|
||||
@RequestParam(value = "circulationValue", required = false) String circulationValue,
|
||||
@RequestParam(value = "inputStrs", required = false) List<String> inputStrs);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.system.enums.sequence;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 序列号分段规则类型枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum SequenceDetailRuleEnum {
|
||||
// 示例规则类型
|
||||
FIXED("FIXED", "固定值"),
|
||||
DATE("DATE", "日期格式"),
|
||||
NUMBER("NUMBER", "数字格式"),
|
||||
CUSTOM("CUSTOM", "自定义格式");
|
||||
|
||||
private final String code;
|
||||
private final String name;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.system.enums.sequence;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 序列号分段类型枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum SequenceDetailTypeEnum {
|
||||
|
||||
// 默认字符分段
|
||||
SEQ_DETAIL_TYPE_STR("STR", "默认字符分段"),
|
||||
// 给定字符分段
|
||||
SEQ_DETAIL_TYPE_INPUT("INPUT", "给定字符分段"),
|
||||
// 日期分段
|
||||
SEQ_DETAIL_TYPE_DATE("DATE", "日期分段"),
|
||||
// 流水号分段
|
||||
SEQ_DETAIL_TYPE_SEQ("SEQ", "流水号分段");
|
||||
|
||||
/**
|
||||
* 类型编码
|
||||
*/
|
||||
private final String code;
|
||||
private final String name;
|
||||
|
||||
public static SequenceDetailTypeEnum getByCode(String code) {
|
||||
if (code == null) {
|
||||
return null;
|
||||
}
|
||||
for (SequenceDetailTypeEnum value : SequenceDetailTypeEnum.values()) {
|
||||
if (value.getCode().equals(code)) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user