Commit c790af3c by hanghang.wang

调整取餐码起始规则

parent 4a36712d
......@@ -49,7 +49,7 @@ public class OrderTackCodeManager {
public String generateTackCode(Integer orderType, String partnerId, String storeId, ConfirmOrderRequest var1, Function<Integer, String> fun) {
String key = this.getOrderTackCodeKey(partnerId);
String randomKey = getRandomOrderTackCodeKey(partnerId, storeId);
// redisTemplate.delete(randomKey);
redisTemplate.delete(randomKey);
String rule = (String) redisTemplate.opsForHash().entries(key).get("rule");
log.info("tackCode rule1 : " + rule );
AssortmentTackCodeRule assortmentTackCodeRule = null;
......@@ -93,19 +93,19 @@ public class OrderTackCodeManager {
head = tackCodeSettingMap.get(tackDesc+"Head").toString();
Integer length = (Integer) tackCodeSettingMap.get(tackDesc+"Length");
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) {
//处理并发情况下,同时含有超过上限的数字。在第一次已经变更为1之后,再次塞1进缓存导致取餐吗重复。暂时无效,后续调整
if(incrementCode.length() < length){
code = redisTemplate.opsForHash().increment(key, tackDesc+"Code", 1).toString();
code = redisTemplate.opsForHash().increment(randomKey, tackDesc+"Code", 1).toString();
}else{
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));
}
log.info("tackCode rule2 : " + head + code );
log.info("tackCode rule7 : " + head + code );
return head + code;
} 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