From da09b71a0a64b9f9c188d65eaf84e96cbcf78380 Mon Sep 17 00:00:00 2001 From: jishenghua <752718920@qq.com> Date: Mon, 19 Jan 2026 12:10:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E4=B9=9F=E5=A2=9E=E5=8A=A0=E9=80=9A=E8=BF=87redis=E5=8E=BB?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E9=87=8D=E5=A4=8D=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsh/erp/service/DepotHeadService.java | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java index 4b88da7e..d3c4500b 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java @@ -1125,14 +1125,7 @@ public class DepotHeadService { //判断用户是否已经登录过,登录过不再处理 User userInfo=userService.getCurrentUser(); //通过redis去校验重复 - String keyNo = userInfo.getLoginName() + "_" + depotHead.getNumber(); - String keyValue = redisService.getCacheObject(keyNo); - if(StringUtil.isNotEmpty(keyValue)) { - throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_SUBMIT_REPEAT_FAILED_CODE, - String.format(ExceptionConstants.DEPOT_HEAD_SUBMIT_REPEAT_FAILED_MSG)); - } else { - redisService.storageKeyWithTime(keyNo, depotHead.getNumber(), 2L); - } + checkExistByRedis(userInfo, depotHead); //校验单号是否重复 if(checkIsBillNumberExist(0L, depotHead.getNumber())>0) { throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_BILL_NUMBER_EXIST_CODE, @@ -1233,6 +1226,10 @@ public class DepotHeadService { public void updateDepotHeadAndDetail(String beanJson, String rows,HttpServletRequest request)throws Exception { /**更新单据主表信息*/ DepotHead depotHead = JSONObject.parseObject(beanJson, DepotHead.class); + //判断用户是否已经登录过,登录过不再处理 + User userInfo=userService.getCurrentUser(); + //通过redis去校验重复 + checkExistByRedis(userInfo, depotHead); //校验单号是否重复 if(checkIsBillNumberExist(depotHead.getId(), depotHead.getNumber())>0) { throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_BILL_NUMBER_EXIST_CODE, @@ -1323,6 +1320,22 @@ public class DepotHeadService { ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); } + /** + * 通过redis去校验重复 + * @param userInfo + * @param depotHead + */ + private void checkExistByRedis(User userInfo, DepotHead depotHead) { + String keyNo = userInfo.getLoginName() + "_" + depotHead.getNumber(); + String keyValue = redisService.getCacheObject(keyNo); + if(StringUtil.isNotEmpty(keyValue)) { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_SUBMIT_REPEAT_FAILED_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_SUBMIT_REPEAT_FAILED_MSG)); + } else { + redisService.storageKeyWithTime(keyNo, depotHead.getNumber(), 2L); + } + } + public Map getBuyAndSaleStatistics(String today, String monthFirstDay, String yesterdayBegin, String yesterdayEnd, String yearBegin, String yearEnd, HttpServletRequest request) throws Exception { Long userId = userService.getUserId(request);