From 8e5a0a5d06e8d1db27a048257c1abe0b0d8d123e Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 05 五月 2023 18:48:28 +0800
Subject: [PATCH] 商户端主流程

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
index ef6f2e0..a57d362 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.order.domain.dto.AppConsumerPageDto;
 import com.ruoyi.order.domain.dto.MerConsumerGoodsDto;
 import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto;
@@ -13,9 +14,11 @@
 import com.ruoyi.order.domain.vo.MerConsumerGoodsVo;
 import com.ruoyi.order.mapper.order.ConsumerGoodsMapper;
 import com.ruoyi.order.service.order.ConsumerGoodsService;
+import com.ruoyi.system.api.constant.AppErrorConstant;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -72,7 +75,40 @@
             for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){
                 consumerGoods = this.getById(merSureConsumerGoodsListDto.getConsumerGoodsId());
                 consumerGoods.setCycleNumFlag(1);
-                consumerGoods.setServiceNum(merSureConsumerGoodsListDto.getService_num());
+                consumerGoods.setServiceNum(merSureConsumerGoodsListDto.getServiceNum());
+                this.saveOrUpdate(consumerGoods);
+            }
+        }
+    }
+
+    /**
+     * 确认商品次数
+     * @param merSureConsumerGoodsDto
+     */
+    @Override
+    public void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){
+        List<MerSureConsumerGoodsListDto> merSureConsumerGoodsListDtoList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList();
+        if(merSureConsumerGoodsListDtoList!=null && !merSureConsumerGoodsListDtoList.isEmpty()){
+            ConsumerGoods consumerGoods;
+            Integer serviceNum;
+            Integer usedNum;
+            Integer useNum;
+            Integer surpNum;
+            for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){
+                consumerGoods = this.getById(merSureConsumerGoodsListDto.getConsumerGoodsId());
+                serviceNum = consumerGoods.getServiceNum();
+                usedNum = consumerGoods.getUsedNum();
+                surpNum = serviceNum - usedNum;
+                useNum = merSureConsumerGoodsListDto.getServiceNum();
+                if(useNum>surpNum){
+                    throw new ServiceException(AppErrorConstant.BEYOND_SURP_NUM);
+                }
+                consumerGoods.setUsedNum(usedNum+useNum);
+                consumerGoods.setUseTime(new Date());
+                if(consumerGoods.getUsedNum()==serviceNum){
+                    consumerGoods.setServiceStatus(2);
+                    consumerGoods.setCompleteTime(new Date());
+                }
                 this.saveOrUpdate(consumerGoods);
             }
         }

--
Gitblit v1.7.1