From cead7b98d5cebc0825b919799e23732877361de0 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 20 六月 2025 18:39:58 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 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 2301c81..b5a1724 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
@@ -1,6 +1,7 @@
 package com.ruoyi.order.service.impl.order;
 
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.R;
@@ -87,20 +88,29 @@
     public List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto){
         return consumerGoodsMapper.pageUserConsumerGoods(page, appConsumerPageDto);
     }
-
+    
     /**
      * 获取会员服务商品
+     *
      * @param merConsumerGoodsDto
      * @return
      */
     @Override
-    public MerConsumerGoodsVo listMerConsumerGoods(MerConsumerGoodsDto merConsumerGoodsDto){
+    public MerConsumerGoodsVo listMerConsumerGoods(MerConsumerGoodsDto merConsumerGoodsDto) {
         MerConsumerGoodsVo merConsumerGoodsVo = new MerConsumerGoodsVo();
-        if(merConsumerGoodsDto.getGoodsType()==1){
+        if (merConsumerGoodsDto.getGoodsType() == 1) {
             List<MerConsumerGoodsListVo> noSureList = consumerGoodsMapper.listMerNoSureConsumerGoods(merConsumerGoodsDto);
             merConsumerGoodsVo.setNoSureList(noSureList);
         }
         List<MerConsumerGoodsListVo> sureList = consumerGoodsMapper.listMerConsumerGoods(merConsumerGoodsDto);
+        Member member = remoteMemberService.getMember(merConsumerGoodsDto.getUserId()).getData();
+        String lastServiceId = member.getLastServiceId();
+        if (StringUtils.isNotEmpty(lastServiceId)) {
+            List<String> list = JSON.parseArray(lastServiceId, String.class);
+            sureList.forEach(s -> {
+                s.setOptionFlag(list.contains(s.getConsumerGoodsId()));
+            });
+        }
         merConsumerGoodsVo.setSureList(sureList);
         return merConsumerGoodsVo;
     }
@@ -174,13 +184,13 @@
                 }
             }
             //判断商品确认次数
-            if(sureNum>oldConsumerGoods.getSureNum()){
+            if (sureNum > oldConsumerGoods.getSureNum()) {
                 throw new ServiceException(AppErrorConstant.GOODS_SURE_FAILED);
-            }else{
+            } else {
                 int surpNum = oldConsumerGoods.getSureNum();
                 surpNum = surpNum - sureNum;
                 oldConsumerGoods.setSureNum(surpNum);
-                if(surpNum==0){
+                if (surpNum == 0) {
                     oldConsumerGoods.setDelFlag(1);
                 }
                 this.saveOrUpdate(oldConsumerGoods);
@@ -189,7 +199,7 @@
             serviceCount = cycleService + serviceService + experienceService;
             //更新商户和会员服务统计
             MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
-            memberTotalChangeDto.setUserId(merSureConsumerGoodsDto.getUserId());
+            memberTotalChangeDto.setUserId(merSureConsumerGoodsDto.getMemberUserId());
             memberTotalChangeDto.setTypeService(1);
             memberTotalChangeDto.setServiceCount(serviceCount);
             log.info("更新商户和会员服务统计---》" + memberTotalChangeDto.toString());
@@ -304,20 +314,26 @@
             serviceRecord.setConsumerGoodsNames(goodsNames);
             userServiceRecordService.saveOrUpdate(serviceRecord);
             //服务记录详情
-            for(ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList){
+            for (ServiceRecordDetail serviceRecordDetail1 : serviceRecordDetailList) {
                 serviceRecordDetail1.setRecordId(serviceRecord.getId());
             }
             serviceRecordDetailService.saveBatch(serviceRecordDetailList);
+    
+            //保存本次确认的服务商品id,用于下次进入页面后默认勾选上
+            List<String> collect = goodsList.stream().map(MerSureConsumerGoodsListDto::getConsumerGoodsId).collect(Collectors.toList());
+            Member member = remoteMemberService.getMember(merSureConsumerGoodsDto.getUserId()).getData();
+            member.setLastServiceId(JSON.toJSONString(collect));
+            remoteMemberService.editMember(member);
+    
             //更新商户和会员服务统计
             MemberTotalChangeDto memberTotalChange = new MemberTotalChangeDto();
             memberTotalChange.setUserId(merSureConsumerGoodsDto.getMemberUserId());
             memberTotalChange.setTypeService(2);
             memberTotalChange.setServiceCount(serviceCount);
             remoteMemberService.changeMemberTotal(memberTotalChange);
-            if(!sendData.isEmpty()){
-                Member member = remoteMemberService.getMember(userId).getData();
+            if (!sendData.isEmpty()) {
                 R<Shop> r = remoteShopService.getShop(shopId);
-                if(r.getCode() != 200){
+                if (r.getCode() != 200) {
                     throw new ServiceException(r.getMsg());
                 }
                 Shop shop = r.getData();
@@ -327,11 +343,10 @@
                         Integer number = Integer.valueOf(sendDatum.get("number").toString());
                         String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"," +
                                 "\"store\":\"" + shop.getShopName() + "\",\"product\":\"" + product + "\"}";
-                        if(number == 2){
-                            MsgUtils.sendMsg(member.getMobile(),"SMS_464376210",msg);
-                        }
-                        if(number == 0){
-                            MsgUtils.sendMsg(member.getMobile(),"SMS_464321234",msg);
+                        if (number == 0) {
+                            MsgUtils.sendMsg(member.getMobile(), "SMS_464321234", msg);
+                        } else {
+                            MsgUtils.sendMsg(member.getMobile(), "SMS_464376210", msg);
                         }
                     }
 

--
Gitblit v1.7.1