Browse Source

Merge remote-tracking branch 'origin/v1.0' into v1.0

v1.0
15989082884@163.com 2 years ago
parent
commit
0ec67a02c1
  1. 70
      src/main/java/com/qs/serve/common/util/CodeGenUtil.java
  2. 3
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  3. 12
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

70
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,6 +49,19 @@ public class CodeGenUtil {
"X" , "Y" "X" , "Y"
}; };
public static Long getIdx(String key){
RedisService redisService = SpringUtils.getBean(RedisService.class);
Long value = redisService.getLong(key);
if(value==null){
redisService.set(key,1);
value = 1L;
}else {
value++;
}
redisService.set(key,value);
return value;
}
public static String generate(SourceKey sourceKey){ public static String generate(SourceKey sourceKey){
try { try {
LocalDate localDateTime = LocalDate.now(); LocalDate localDateTime = LocalDate.now();
@ -46,38 +69,33 @@ public class CodeGenUtil {
String localTime = df.format(localDateTime); String localTime = df.format(localDateTime);
localTime = localTime.substring(2); localTime = localTime.substring(2);
String key = "code_index:"+sourceKey.getCode()+":"+localTime; String key = "code_index:"+sourceKey.getCode()+":"+localTime;
RedisService redisService = SpringUtils.getBean(RedisService.class); return localTime + getCommonValue(key);
Long value = redisService.getLong(key);
if(value==null){
redisService.set(key,1);
value = 1L;
}else {
value++;
}
redisService.set(key,value);
String digitsNum = "";
String appendStr = value+"";
if(value>split_num){
appendStr = (value%100)+"";
Long d = value/split_num;
digitsNum = digits2[d.intValue()];
}
StringBuilder appendZeros = new StringBuilder();
for (int i = (appendStr+digitsNum).length(); i < 3; i++) {
appendZeros.append("0");
}
return localTime + digitsNum + appendZeros + appendStr;
} catch (BeansException e) { } catch (BeansException e) {
e.printStackTrace(); e.printStackTrace();
} }
return IdUtil.getSnowflakeNextIdStr(); return IdUtil.getSnowflakeNextIdStr();
} }
public static void main(String[] args) { public static String getCommonValue(String key){
long value = 99; Long value = getIdx(key);
long v2 = value/1000; String digitsNum = "";
System.out.println(v2); String appendStr = value+"";
System.out.println(value%1000); if(value>split_num){
appendStr = (value%100)+"";
Long d = value/split_num;
digitsNum = digits2[d.intValue()];
}
StringBuilder appendZeros = new StringBuilder();
for (int i = (appendStr+digitsNum).length(); i < 3; i++) {
appendZeros.append("0");
}
return digitsNum + appendZeros + appendStr;
}
public static String getDataCode(SourceDataKey dataKey){
String key = "code_data_index:"+dataKey.getCode();
String commonVal = getCommonValue(key);
return dataKey.getPrefix() + commonVal;
} }
/** /**

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);
} }

12
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());
String[] paths = ori.getPathIds().split("_");
for (String path : paths) {
if(path.equals(ori.getPid())){
Assert.throwEx("不能选子节点为父级节点");
}
}
param = this.flushSetLevel(param); param = this.flushSetLevel(param);
boolean changePid = !ori.getPid().equals(param.getPid()); boolean changePid = !ori.getPid().equals(param.getPid());
boolean b = this.updateById(param); boolean b = this.updateById(param);
if(!ori.getName().equals(param.getName())||changePid) { if(!ori.getName().equals(param.getName())||changePid) {
String[] paths = ori.getPathIds().split("_");
for (String path : paths) {
if(path.equals(ori.getPid())){
Assert.throwEx("不能选子节点为父级节点");
}
}
//更新相关表(网点) //更新相关表(网点)
this.updatePathByPid(param.getId()); this.updatePathByPid(param.getId());
if(changePid){ if(changePid){

Loading…
Cancel
Save