Browse Source

debug

contract
Yen 2 years ago
parent
commit
ead31287d2
  1. 52
      src/main/java/com/qs/serve/common/util/CodeGenUtil.java
  2. 3
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  3. 8
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

52
src/main/java/com/qs/serve/common/util/CodeGenUtil.java

@ -28,6 +28,16 @@ public class CodeGenUtil {
private String code; private String code;
} }
@Getter
@AllArgsConstructor
public enum SourceDataKey{
SaleRegion("S","SaleRegion"),
BizRegion("B","BizRegion");
private String prefix;
private String code;
}
private static final int split_num = 1000; private static final int split_num = 1000;
@ -39,13 +49,7 @@ public class CodeGenUtil {
"X" , "Y" "X" , "Y"
}; };
public static String generate(SourceKey sourceKey){ public static Long getIdx(String key){
try {
LocalDate localDateTime = LocalDate.now();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMdd");
String localTime = df.format(localDateTime);
localTime = localTime.substring(2);
String key = "code_index:"+sourceKey.getCode()+":"+localTime;
RedisService redisService = SpringUtils.getBean(RedisService.class); RedisService redisService = SpringUtils.getBean(RedisService.class);
Long value = redisService.getLong(key); Long value = redisService.getLong(key);
if(value==null){ if(value==null){
@ -55,6 +59,25 @@ public class CodeGenUtil {
value++; value++;
} }
redisService.set(key,value); redisService.set(key,value);
return value;
}
public static String generate(SourceKey sourceKey){
try {
LocalDate localDateTime = LocalDate.now();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMdd");
String localTime = df.format(localDateTime);
localTime = localTime.substring(2);
String key = "code_index:"+sourceKey.getCode()+":"+localTime;
return localTime + getCommonValue(key);
} catch (BeansException e) {
e.printStackTrace();
}
return IdUtil.getSnowflakeNextIdStr();
}
public static String getCommonValue(String key){
Long value = getIdx(key);
String digitsNum = ""; String digitsNum = "";
String appendStr = value+""; String appendStr = value+"";
if(value>split_num){ if(value>split_num){
@ -66,18 +89,13 @@ public class CodeGenUtil {
for (int i = (appendStr+digitsNum).length(); i < 3; i++) { for (int i = (appendStr+digitsNum).length(); i < 3; i++) {
appendZeros.append("0"); appendZeros.append("0");
} }
return localTime + digitsNum + appendZeros + appendStr; return digitsNum + appendZeros + appendStr;
} catch (BeansException e) {
e.printStackTrace();
}
return IdUtil.getSnowflakeNextIdStr();
} }
public static void main(String[] args) { public static String getDataCode(SourceDataKey dataKey){
long value = 99; String key = "code_data_index:"+dataKey.getCode();
long v2 = value/1000; String commonVal = getCommonValue(key);
System.out.println(v2); return dataKey.getPrefix() + commonVal;
System.out.println(value%1000);
} }
/** /**

3
src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java

@ -323,6 +323,9 @@ public class BmsRegionController {
if(param.getId()==null){ if(param.getId()==null){
param.setId("A"+IdUtil.getSnowFlakeId()); param.setId("A"+IdUtil.getSnowFlakeId());
} }
if (param.getCode()==null){
param.setCode(CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.SaleRegion));
}
boolean result = bmsRegionService.saveBmsRegion(param); boolean result = bmsRegionService.saveBmsRegion(param);
return R.isTrue(result); return R.isTrue(result);
} }

8
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

@ -57,16 +57,16 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
@Override @Override
public boolean updateBmsRegionById(BmsRegion param){ public boolean updateBmsRegionById(BmsRegion param){
BmsRegion ori = this.getById(param.getId()); BmsRegion ori = this.getById(param.getId());
param = this.flushSetLevel(param);
boolean changePid = !ori.getPid().equals(param.getPid());
boolean b = this.updateById(param);
if(!ori.getName().equals(param.getName())||changePid) {
String[] paths = ori.getPathIds().split("_"); String[] paths = ori.getPathIds().split("_");
for (String path : paths) { for (String path : paths) {
if(path.equals(ori.getPid())){ if(path.equals(ori.getPid())){
Assert.throwEx("不能选子节点为父级节点"); Assert.throwEx("不能选子节点为父级节点");
} }
} }
param = this.flushSetLevel(param);
boolean changePid = !ori.getPid().equals(param.getPid());
boolean b = this.updateById(param);
if(!ori.getName().equals(param.getName())||changePid) {
//更新相关表(网点) //更新相关表(网点)
this.updatePathByPid(param.getId()); this.updatePathByPid(param.getId());
if(changePid){ if(changePid){

Loading…
Cancel
Save