From d988a5b92ae53668ce77c37a97e53f3417f21af8 Mon Sep 17 00:00:00 2001 From: liwenxuan <1298531568@qq.com> Date: Tue, 15 Oct 2024 13:57:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=8D=AB=E9=83=A8=E8=B4=9F=E8=B4=A3?= =?UTF-8?q?=E4=BA=BA=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DepositoryRecordServiceImpl.java | 33 ++++++++++++------- .../service/impl/UserServiceImpl.java | 4 +-- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index 6df9dbb..e7c165c 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -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); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/UserServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/UserServiceImpl.java index 0ec8a61..79aa63e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/UserServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/UserServiceImpl.java @@ -102,7 +102,7 @@ public class UserServiceImpl implements UserService { Long administrationId = administration.getId(); if (Long.compare(administrationId, 111) == 0) { // 如果是获取保卫部的负责人,则直接获取该用户 - UserByPort userByNumber = userMapper.findUserByNumber("200855"); + UserByPort userByNumber = userMapper.findUserByNumber("301350"); userByPortList.add(userByNumber); } @@ -134,7 +134,7 @@ public class UserServiceImpl implements UserService { List userByPortList = new ArrayList<>(); if (Long.compare(administrationId, 111) == 0) { // 如果是获取保卫部的负责人,则直接获取该用户 - UserByPort userByNumber = userMapper.findUserByNumber("200855"); + UserByPort userByNumber = userMapper.findUserByNumber("301350"); userByPortList.add(userByNumber); } // 查询数据库中当前部门的负责人