From c8ebe7fcfb5d8f0f69c46f52d811736143a48526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Fri, 5 Jul 2024 16:00:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=80=97=E6=9D=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/dao/TbProskuConMapper.java | 4 +- .../cashierservice/service/ConsService.java | 74 +++++++++---------- .../cashierservice/service/OrderService.java | 2 - .../resources/mapper/TbProskuConMapper.xml | 3 +- 4 files changed, 38 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProskuConMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProskuConMapper.java index bcd5747..6701631 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProskuConMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProskuConMapper.java @@ -28,9 +28,7 @@ public interface TbProskuConMapper { List selectIdBySkuIdAndShopId(@Param("skuId") Integer skuId, @Param("shopId") Integer shopId); - - TbProskuCon selectByShopIdAndSkuIdAndProductId(@Param("skuId") Integer skuId, @Param("shopId") Integer shopId,@Param("productId") Integer productId); - + List selectByShopIdAndSkuIdAndProductId(@Param("skuId") Integer skuId, @Param("shopId") Integer shopId,@Param("productId") Integer productId); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java index ed9f5f7..66640a4 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java @@ -57,53 +57,49 @@ public class ConsService { List consInfoFlows=new ArrayList<>(); for (TbOrderDetail orderDetail : orderDetails) { - TbProskuCon proskuCon= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId()); - if(Objects.isNull(proskuCon)){ + List proskuCons= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId()); + if(Objects.isNull(proskuCons)||proskuCons.size()<=0){ log.info("不存在的耗材信息配置:orderId:{},skuId:{},shopId:{},productId:{}",orderDetail.getOrderId(),orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId()); continue; } + for (TbProskuCon proskuCon : proskuCons) { + TbConsInfo tbConsInfo= tbConsInfoMapper.selectByPrimaryKey(proskuCon.getConInfoId()); + if(Objects.nonNull(tbConsInfo)&&"1".equals(tbConsInfo.getStatus())){ + BigDecimal amount=BigDecimal.ZERO; + TbConsInfoFlow flow=new TbConsInfoFlow(); + flow.setConsId(tbConsInfo.getId()); + flow.setShopId(tbConsInfo.getShopId()); + flow.setConName(tbConsInfo.getConName()); + if("create".equals(type)){ + amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())); - TbConsInfo tbConsInfo= tbConsInfoMapper.selectByPrimaryKey(proskuCon.getConInfoId()); - if(Objects.nonNull(tbConsInfo)&&"1".equals(tbConsInfo.getStatus())){ - BigDecimal amount=BigDecimal.ZERO; - TbConsInfoFlow flow=new TbConsInfoFlow(); - flow.setConsId(tbConsInfo.getId()); - flow.setShopId(tbConsInfo.getShopId()); - flow.setConName(tbConsInfo.getConName()); - if("create".equals(type)){ - amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())); + flow.setAmount(amount); + flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume())); + flow.setBizCode("createCart"); + flow.setBizName("销售扣除"); + flow.setBizType("-"); + }else if("delete".equals(type)){ + amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())).negate(); - flow.setAmount(amount); - flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume())); - flow.setBizCode("createCart"); - flow.setBizName("销售扣除"); - flow.setBizType("-"); - }else if("delete".equals(type)){ - amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())).negate(); + flow.setAmount(amount.abs()); + flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume())); + flow.setBizCode("cancelCart"); + flow.setBizName("退单返还"); + flow.setBizType("+"); + } + ConsInfoPO consInfoPO=new ConsInfoPO(tbConsInfo.getId(),amount); + consInfoPOS.add(consInfoPO); + + flow.setCreateTime(new Date()); + flow.setUpdateTime(new Date()); + consInfoFlows.add(flow); - flow.setAmount(amount.abs()); - flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume())); - flow.setBizCode("cancelCart"); - flow.setBizName("退单返还"); - flow.setBizType("+"); } - - - - ConsInfoPO consInfoPO=new ConsInfoPO(tbConsInfo.getId(),amount); - consInfoPOS.add(consInfoPO); - - flow.setCreateTime(new Date()); - flow.setUpdateTime(new Date()); - consInfoFlows.add(flow); - - - //更新耗材信息 - tbConsInfoMapper.batchStock(consInfoPOS); - //记录更新日志 - tbConsInfoFlowMapper.insertBatch(consInfoFlows); - } + //更新耗材信息 + tbConsInfoMapper.batchStock(consInfoPOS); + //记录更新日志 + tbConsInfoFlowMapper.insertBatch(consInfoFlows); } } } 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 7aa0d11..f2814ce 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -536,8 +536,6 @@ public class OrderService { redisUtil.saveMessage(RedisCst.OUT_NUMBER.concat(orderInfo.getShopId().toString()),object.toString()); - - //修改耗材数据 JSONObject jsonObject=new JSONObject(); jsonObject.put("orderId",orderInfo.getId()); diff --git a/src/main/resources/mapper/TbProskuConMapper.xml b/src/main/resources/mapper/TbProskuConMapper.xml index 6f2fd17..eca049c 100644 --- a/src/main/resources/mapper/TbProskuConMapper.xml +++ b/src/main/resources/mapper/TbProskuConMapper.xml @@ -136,6 +136,7 @@ + \ No newline at end of file From b9fd6aed7a824b5d78300a78c50b10b5e41478eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Fri, 5 Jul 2024 16:37:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=80=97=E6=9D=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/entity/TbConsInfoFlow.java | 10 ++++++++++ .../system/cashierservice/service/ConsService.java | 1 + src/main/resources/mapper/TbConsInfoFlowMapper.xml | 5 +++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbConsInfoFlow.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbConsInfoFlow.java index 5755dc0..0e22495 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbConsInfoFlow.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbConsInfoFlow.java @@ -11,6 +11,8 @@ public class TbConsInfoFlow implements Serializable { private Integer consId; + private Integer proSkuId; + private String conName; private BigDecimal amount; @@ -53,6 +55,14 @@ public class TbConsInfoFlow implements Serializable { this.consId = consId; } + public Integer getProSkuId() { + return proSkuId; + } + + public void setProSkuId(Integer proSkuId) { + this.proSkuId = proSkuId; + } + public String getConName() { return conName; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java index 66640a4..5d8ad12 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ConsService.java @@ -70,6 +70,7 @@ public class ConsService { flow.setConsId(tbConsInfo.getId()); flow.setShopId(tbConsInfo.getShopId()); flow.setConName(tbConsInfo.getConName()); + flow.setProSkuId(proskuCon.getProductSkuId()); if("create".equals(type)){ amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())); diff --git a/src/main/resources/mapper/TbConsInfoFlowMapper.xml b/src/main/resources/mapper/TbConsInfoFlowMapper.xml index c4ef232..229c085 100644 --- a/src/main/resources/mapper/TbConsInfoFlowMapper.xml +++ b/src/main/resources/mapper/TbConsInfoFlowMapper.xml @@ -5,6 +5,7 @@ + @@ -29,11 +30,11 @@ where id = #{id,jdbcType=INTEGER} - insert into tb_cons_info_flow (id, shop_id, cons_id, + insert into tb_cons_info_flow (id, shop_id, cons_id, pro_sku_id, con_name, amount, balance, biz_code, biz_name, biz_type, create_time, update_time) - values (#{id,jdbcType=INTEGER}, #{shopId,jdbcType=INTEGER}, #{consId,jdbcType=INTEGER}, + values (#{id,jdbcType=INTEGER}, #{shopId,jdbcType=INTEGER}, #{consId,jdbcType=INTEGER}, #{proSkuId,jdbcType=INTEGER}, #{conName,jdbcType=VARCHAR}, #{amount,jdbcType=DECIMAL}, #{balance,jdbcType=DECIMAL}, #{bizCode,jdbcType=VARCHAR}, #{bizName,jdbcType=VARCHAR}, #{bizType,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})