From e54a236dabd8bca3a063b14477b98fa1e7ac862e Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Wed, 3 Jul 2024 15:48:30 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=BA=93=E5=AD=98=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E4=B8=8D=E6=AD=A3=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chaozhanggui/system/cashierservice/service/PayService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 88fc200..e2038f5 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -962,7 +962,6 @@ public class PayService { productMapper.updateStockById(product.getId(), detail.getReturnNum() * -1); tbProductStockDetail.setProductId(product.getId().toString()); - tbProductStockDetail.setUnitName(product.getUnitId()); tbProductStockDetail.setLeftNumber(product.getStockNumber()); tbProductStockDetail.setStockNumber(Double.valueOf(detail.getReturnNum())); } else { From 8dfd31c58cb9aa3fff96e172474957743b217354 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Wed, 3 Jul 2024 17:35:11 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E9=80=80=E5=8D=95=20=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=20sku=20=E6=B2=A1=E6=9C=89productId=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chaozhanggui/system/cashierservice/service/PayService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index e2038f5..fe39492 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -956,12 +956,12 @@ public class PayService { tbProductStockDetail.setIsStock(product.getIsStock()); tbProductStockDetail.setStockSnap(product.getSelectSpec()); tbProductStockDetail.setUnitName(shopUnit.getName()); + tbProductStockDetail.setProductId(product.getId().toString()); if (product.getIsDistribute() == 1) { // redisUtil.seckill(RedisCst.PRODUCT + shopId.toString() + ":product" + product.getId().toString(), String.valueOf(detail.getReturnNum() + product.getStockNumber().intValue())); productMapper.updateStockById(product.getId(), detail.getReturnNum() * -1); - tbProductStockDetail.setProductId(product.getId().toString()); tbProductStockDetail.setLeftNumber(product.getStockNumber()); tbProductStockDetail.setStockNumber(Double.valueOf(detail.getReturnNum())); } else { From b02f92c54f600ac2ff487f70ae3ae2d0542e7a89 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 4 Jul 2024 09:33:44 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E6=89=A3=E5=8F=96?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/dao/TbProductSkuMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java index 27462d3..ec667d6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java @@ -44,6 +44,6 @@ public interface TbProductSkuMapper { @Update("update tb_product_sku set stock_number=stock_number+#{num} WHERE id=#{id}") int incrStock(String skuId, int addNum); - @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") + @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") int decrStock(String id, int num); } From 47e176b45a6b930632fcb5c9776f6f26774720d6 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 4 Jul 2024 17:00:33 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E6=89=A3=E5=8F=96?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/dao/TbProductMapper.java | 3 +++ .../cashierservice/dao/TbProductSkuMapper.java | 3 +++ .../cashierservice/service/ProductService.java | 16 ++++++++++++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java index 0ffe2ba..f566d53 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java @@ -48,4 +48,7 @@ public interface TbProductMapper { @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") int decrStock(String id, int num); + + @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id}") + int decrStockUnCheck(String id, int num); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java index ec667d6..eadcfd0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java @@ -46,4 +46,7 @@ public interface TbProductSkuMapper { @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") int decrStock(String id, int num); + + @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} ") + int decrStockUnCheck(String id, int num); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java index 341562f..ca6c907 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java @@ -136,12 +136,20 @@ public class ProductService { public void decrStock(String productId, String skuId, int decrNum) { TbProductWithBLOBs product = tbProductMapper.selectByPrimaryKey(Integer.valueOf(productId)); if (product.getIsDistribute() == 1) { - if (tbProductMapper.decrStock(productId, decrNum) < 1) { - throw new MsgException("库存不足,下单失败"); + if (product.getIsStock() == 1) { + if (tbProductMapper.decrStock(productId, decrNum) < 1) { + throw new MsgException("库存不足,下单失败"); + } + }else { + tbProductMapper.decrStockUnCheck(productId, decrNum); } }else { - if (tbProductSkuMapper.decrStock(String.valueOf(skuId), decrNum) < 1) { - throw new MsgException("库存不足,下单失败"); + if (product.getIsStock() == 1) { + if (tbProductSkuMapper.decrStock(String.valueOf(skuId), decrNum) < 1) { + throw new MsgException("库存不足,下单失败"); + } + }else { + tbProductSkuMapper.decrStockUnCheck(String.valueOf(skuId), decrNum); } } } From 2b086ef92302ca2bda002c9ead6a9f131343537d Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 5 Jul 2024 09:58:52 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E4=B8=BA=20cashier-client.log=2010MB=20=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 12 +++++++++++- src/main/resources/application.yml | 5 +++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b83d222..7425e2a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,11 @@ -/target/ +### IDEA ### +/target/**/* +/log/* +.idea/* +*.iml +*/target/* +*/*.iml +/.gradle/ +/application.pid +/target/* +**.jar \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 8e2be80..6b3f1cb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -20,11 +20,11 @@ logging: file: # 切记,该文件表示正在产出日志的日志文件。并不会打包,当文件大于max-file-size,会根据file-name-pattern格式打包 # 名称为log/cashier-client.log文件夹会在项目根目录下,打包后会在启动包同目录下;名称为/log/cashier-client.log的文件夹会在项目所在磁盘的跟目录下 - name: log/cashier-client.log + name: cashier-client.log logback: rollingpolicy: # 单文件的大小,默认10M, 超过之后打包成一个日志文件 - max-file-size: 1MB + max-file-size: 10MB # 日志保存的天数 max-history: 30 # 打包文件格式,默认: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz,书写格式为:文件路径/文件名.%i.文件后缀,其中%i不可省去,否则无日志显示 @@ -32,6 +32,7 @@ logging: # 如果是压缩包,里面会多一个名log/ota.2021-11-05.0的日志文件 # 如下面的例子,打包之后为: log/2021-11/cashier-client.2020-11-5.0.log,这是一个日志文件 file-name-pattern: log/%d{yyyy-MM}/cashier-client.%d{yyyy-MM-dd}.%i.log +# file-name-pattern: log/%d{yyyy-MM}/cashier-client.%d{yyyy-MM-dd}.%i.log.gz gateway: From e0359be0dc0c5d8b390216fc76bcf5f148b7866d Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Fri, 5 Jul 2024 11:35:11 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E6=89=A3=E5=8F=96?= =?UTF-8?q?=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/dao/TbProductMapper.java | 2 +- .../dao/TbProductSkuMapper.java | 2 +- .../cashierservice/service/OrderService.java | 20 +++++++++---------- .../service/ProductService.java | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java index f566d53..a11cb85 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java @@ -46,7 +46,7 @@ public interface TbProductMapper { @Update("update tb_product set stock_number=stock_number+#{num} WHERE id=#{id}") int incrStock(String id, int num); - @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") + @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} >= 0") int decrStock(String id, int num); @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id}") diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java index eadcfd0..e5c5a63 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java @@ -44,7 +44,7 @@ public interface TbProductSkuMapper { @Update("update tb_product_sku set stock_number=stock_number+#{num} WHERE id=#{id}") int incrStock(String skuId, int addNum); - @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") + @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} >= 0") int decrStock(String id, int num); @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} ") diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index c8ec5f3..ef07d6a 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -223,7 +223,7 @@ public class OrderService { } - skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number); +// skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number); skuWithBLOBs.setUpdatedAt(System.currentTimeMillis()); tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs); @@ -338,15 +338,15 @@ public class OrderService { if(ObjectUtil.isEmpty(product)){ return Result.fail(CodeEnum.PRODUCTINFOERROR); } - if("1".equals(product.getIsStock().toString())){ - TbProductSkuWithBLOBs skuWithBLOBs= tbProductSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId())); - if(ObjectUtil.isEmpty(skuWithBLOBs)){ - return Result.fail(CodeEnum.PRODUCTSKUERROR); - } - skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()+cashierCart.getTotalNumber()); - skuWithBLOBs.setUpdatedAt(System.currentTimeMillis()); - tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs); - } +// if("1".equals(product.getIsStock().toString())){ +// TbProductSkuWithBLOBs skuWithBLOBs= tbProductSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId())); +// if(ObjectUtil.isEmpty(skuWithBLOBs)){ +// return Result.fail(CodeEnum.PRODUCTSKUERROR); +// } +// skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()+cashierCart.getTotalNumber()); +// skuWithBLOBs.setUpdatedAt(System.currentTimeMillis()); +// tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs); +// } List skuIds=new ArrayList<>(); skuIds.add(cashierCart.getSkuId()); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java index ca6c907..3bf728e 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java @@ -141,7 +141,7 @@ public class ProductService { throw new MsgException("库存不足,下单失败"); } }else { - tbProductMapper.decrStockUnCheck(productId, decrNum); + tbProductSkuMapper.decrStockUnCheck(productId, decrNum); } }else { if (product.getIsStock() == 1) { From 109b047a88a77393f1141fd0b064321adc17d8a5 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Fri, 5 Jul 2024 14:11:58 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=B8=85=E7=A9=BA=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E8=BF=94=E8=BF=98=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/OrderService.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index ef07d6a..1c2f5f4 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -113,14 +113,17 @@ public class OrderService { return Result.fail(CodeEnum.PRODUCTSKUERROR); } + String message = redisUtil.getMessage(RedisCst.ORDER_PRODUCT_NUM + cartId); if("1".equals(product.getIsStock().toString())){ if ("1".equals(product.getIsDistribute().toString())) { - if(product.getStockNumber()-number<0){ + if((message == null && product.getStockNumber()-number<0) || + (product.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){ return Result.fail(CodeEnum.STOCKERROR); } } else if (product.getId().intValue()==Integer.valueOf(skuWithBLOBs.getProductId()).intValue()){ - if(skuWithBLOBs.getStockNumber()-number<0){ + if((message == null && skuWithBLOBs.getStockNumber()-number<0) || + (skuWithBLOBs.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){ return Result.fail(CodeEnum.STOCKERROR); } } @@ -223,6 +226,7 @@ public class OrderService { } + // skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number); skuWithBLOBs.setUpdatedAt(System.currentTimeMillis()); tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs); @@ -792,6 +796,12 @@ public class OrderService { List productSkuPos=new ArrayList<>(); List skuIds=new ArrayList<>(); for (TbCashierCart cashierCart : list) { + // 数量减少, 返还库存 + String message = redisUtil.getMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId()); + + if (message != null) { + productService.incrStock(cashierCart.getProductId(), cashierCart.getSkuId(), Integer.parseInt(message)); + } if (StringUtils.isNotEmpty(cashierCart.getOrderId())) { orderId = Integer.valueOf(cashierCart.getOrderId()); @@ -820,6 +830,8 @@ public class OrderService { tbProductSkuMapper.batchStockNum(productSkuPos); } + + return Result.success(CodeEnum.SUCCESS); } From cae6555d87cc251e1318e9f0a29d8af077729dbd Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Fri, 5 Jul 2024 14:19:55 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=B8=85=E7=A9=BA=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E8=BF=94=E8=BF=98=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/service/ProductService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java index 3bf728e..ca6c907 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java @@ -141,7 +141,7 @@ public class ProductService { throw new MsgException("库存不足,下单失败"); } }else { - tbProductSkuMapper.decrStockUnCheck(productId, decrNum); + tbProductMapper.decrStockUnCheck(productId, decrNum); } }else { if (product.getIsStock() == 1) {