|
|
|
@ -2608,28 +2608,39 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { |
|
|
|
String redisMainRecordKey = "record:" + record.getId(); // 设置redis中主订单键值
|
|
|
|
// 获取redis中主订单的所有子订单
|
|
|
|
String minRecordList = (String) redisPool.getRedisTemplateByDb(15).opsForHash().get(redisMainRecordKey, "minRecord"); |
|
|
|
|
|
|
|
//mysql同步redis Record query
|
|
|
|
boolean flagMinRecordListNull = false; |
|
|
|
if(minRecordList==null||minRecordList==""){ |
|
|
|
RedisfifteenRecord redisfifteenRecordv = redisSynchronizeMysqlUtil.queryRedis15Record(record.getId().toString()); |
|
|
|
minRecordList = redisfifteenRecordv.getMinRecord(); |
|
|
|
if(minRecordList!=null){ |
|
|
|
minRecordList = redisfifteenRecordv.getMinRecord(); |
|
|
|
}else{ |
|
|
|
flagMinRecordListNull = true; |
|
|
|
} |
|
|
|
} |
|
|
|
// 获取所有子订单键值
|
|
|
|
String[] split = minRecordList.replace("[", "").replace("]", "").split(","); |
|
|
|
int pass = 1; // 设置主订单最终状态
|
|
|
|
for (String value : split) { |
|
|
|
// 获取所有子订单状态
|
|
|
|
String state = (String) redisPool.getRedisTemplateByDb(15).opsForHash().get(value, "state"); |
|
|
|
//mysql同步redis MinRecord query 出库后,状态未更正为已完成.看一下state--暂时通过注释掉了mysql同步redis的代码解决,
|
|
|
|
if(!flagMinRecordListNull){ |
|
|
|
// 获取所有子订单键值
|
|
|
|
String[] split = minRecordList.replace("[", "").replace("]", "").split(","); |
|
|
|
for (String value : split) { |
|
|
|
// 获取所有子订单状态
|
|
|
|
String state = (String) redisPool.getRedisTemplateByDb(15).opsForHash().get(value, "state"); |
|
|
|
//mysql同步redis MinRecord query 出库后,状态未更正为已完成.看一下state--暂时通过注释掉了mysql同步redis的代码解决,
|
|
|
|
/*if(state==null){ |
|
|
|
String minRecordStr = value.split(":")[1]; |
|
|
|
state = redisSynchronizeMysqlUtil.queryRedis15Min(minRecordStr).getState(); |
|
|
|
}*/ |
|
|
|
if ("1".equals(state)) { |
|
|
|
// 如果有子订单未完成
|
|
|
|
pass = 3; // 设置主订单状态为处理中
|
|
|
|
break; |
|
|
|
if ("1".equals(state)) { |
|
|
|
// 如果有子订单未完成
|
|
|
|
pass = 3; // 设置主订单状态为处理中
|
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
pass = 3; |
|
|
|
} |
|
|
|
|
|
|
|
if (pass == 1) { // 如果最终状态为完成
|
|
|
|
// 完成出库的相关操作
|
|
|
|
CompleteOutboundOperations(record, userAgent, userKey, token); |
|
|
|
|