From 11e64872259c7d3ce8df4dbd3f83b4135be7add8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Mon, 7 Dec 2020 18:18:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=E5=8D=95=E5=8F=B7=E7=94=9F=E6=88=90?= =?UTF-8?q?=E8=A7=84=E5=88=99=E6=B2=A1=E6=9C=89=E6=B8=85=E9=99=A4=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/controller/busi/SysOrderNoRuleController.java | 10 +++++++--- .../core/apiservice/serviceimpl/base/SynchronizedService.java | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java index bc947d8..3484350 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -122,6 +122,10 @@ public class SysOrderNoRuleController extends CoreBaseController { .checkNotZero("isCycle", sysOrderNoRule.getIsCycle()); sysOrderNoRuleService.updateSysOrderNoRule(sysOrderNoRule); + + // 清理缓存 + redisRes.deleteKey(REDIS_PREFIX_LOCK_GET_ORDER_NO + ":" + sysOrderNoRule.getOrderNoRuleCode()); + return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -157,11 +161,11 @@ public class SysOrderNoRuleController extends CoreBaseController { SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleById(Long.parseLong(idStr)); ValidatorBean.checkNotNull(sysOrderNoRule,"单号规则不存在"); - // 清理缓存 - redisRes.deleteKey(REDIS_PREFIX_LOCK_GET_ORDER_NO + ":" + sysOrderNoRule.getOrderNoRuleCode()); - // 删除 sysOrderNoRuleService.deleteSysOrderNoRuleById(sysOrderNoRule.getId()); + + // 清理缓存 + redisRes.deleteKey(REDIS_PREFIX_LOCK_GET_ORDER_NO + ":" + sysOrderNoRule.getOrderNoRuleCode()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java index ed05c58..35ddaea 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java @@ -87,10 +87,11 @@ public class SynchronizedService implements ISynchronizedService { sysOrderNoRuleService.detachSysOrderNoRule(codeRole); - Long incr = codeRole.getSerialNoIncrement() * num; + long orginSerialNo = codeRole.getSerialNo() < 0 ? 0 : codeRole.getSerialNo(); + long incr = codeRole.getSerialNoIncrement() * num; //缓存增加 //先判断redis是否存在,如果不存在,则用默认初始值+步长*数量,如果存在,则添加步长 * 数量 - codeRole.setSerialNo(redisRes.putObjAdditational(redisKey, codeRole.getSerialNo(), incr)-incr); + codeRole.setSerialNo(redisRes.putObjAdditional(redisKey, orginSerialNo, incr) - incr); // 生成单号更缓存 List orderNoRuleList = sysOrderNoRuleService.doGetSysOrderNoRuleByNum(codeRole, num);