Commit c790af3c by hanghang.wang

调整取餐码起始规则

parent 4a36712d
...@@ -49,7 +49,7 @@ public class OrderTackCodeManager { ...@@ -49,7 +49,7 @@ public class OrderTackCodeManager {
public String generateTackCode(Integer orderType, String partnerId, String storeId, ConfirmOrderRequest var1, Function<Integer, String> fun) { public String generateTackCode(Integer orderType, String partnerId, String storeId, ConfirmOrderRequest var1, Function<Integer, String> fun) {
String key = this.getOrderTackCodeKey(partnerId); String key = this.getOrderTackCodeKey(partnerId);
String randomKey = getRandomOrderTackCodeKey(partnerId, storeId); String randomKey = getRandomOrderTackCodeKey(partnerId, storeId);
// redisTemplate.delete(randomKey); redisTemplate.delete(randomKey);
String rule = (String) redisTemplate.opsForHash().entries(key).get("rule"); String rule = (String) redisTemplate.opsForHash().entries(key).get("rule");
log.info("tackCode rule1 : " + rule ); log.info("tackCode rule1 : " + rule );
AssortmentTackCodeRule assortmentTackCodeRule = null; AssortmentTackCodeRule assortmentTackCodeRule = null;
...@@ -93,19 +93,19 @@ public class OrderTackCodeManager { ...@@ -93,19 +93,19 @@ public class OrderTackCodeManager {
head = tackCodeSettingMap.get(tackDesc+"Head").toString(); head = tackCodeSettingMap.get(tackDesc+"Head").toString();
Integer length = (Integer) tackCodeSettingMap.get(tackDesc+"Length"); Integer length = (Integer) tackCodeSettingMap.get(tackDesc+"Length");
code = tackCodeSettingMap.get(tackDesc+"Code").toString(); code = tackCodeSettingMap.get(tackDesc+"Code").toString();
String incrementCode = redisTemplate.opsForHash().increment(key, tackDesc+"Code", 1).toString(); String incrementCode = redisTemplate.opsForHash().increment(randomKey, tackDesc+"Code", 1).toString();
if (incrementCode.length() > length) { if (incrementCode.length() > length) {
//处理并发情况下,同时含有超过上限的数字。在第一次已经变更为1之后,再次塞1进缓存导致取餐吗重复。暂时无效,后续调整 //处理并发情况下,同时含有超过上限的数字。在第一次已经变更为1之后,再次塞1进缓存导致取餐吗重复。暂时无效,后续调整
if(incrementCode.length() < length){ if(incrementCode.length() < length){
code = redisTemplate.opsForHash().increment(key, tackDesc+"Code", 1).toString(); code = redisTemplate.opsForHash().increment(randomKey, tackDesc+"Code", 1).toString();
}else{ }else{
code = "1"; code = "1";
redisTemplate.opsForHash().put(key, tackDesc + "Code", Integer.parseInt(code)); redisTemplate.opsForHash().put(randomKey, tackDesc + "Code", Integer.parseInt(code));
} }
} }
code = String.format("%0" + length + "d", Integer.parseInt(code)); code = String.format("%0" + length + "d", Integer.parseInt(code));
} }
log.info("tackCode rule2 : " + head + code ); log.info("tackCode rule7 : " + head + code );
return head + code; return head + code;
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment