From f26537e926d7ad2d725e059700142ba14c0c2b1f Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期三, 12 七月 2023 21:04:27 +0800
Subject: [PATCH] 定时任务延时任务

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
index 7621352..93cce9d 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
@@ -4,24 +4,25 @@
 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.common.core.utils.StringUtils;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
 import com.ruoyi.member.domain.vo.AppMemberCouponPageVo;
 import com.ruoyi.member.mapper.member.MemberCouponMapper;
 import com.ruoyi.member.service.member.MemberCouponService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
 import com.ruoyi.system.api.domain.poji.goods.Goods;
 import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
-import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
 import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
+import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
 import com.ruoyi.system.api.service.RemoteGoodsService;
 import com.ruoyi.system.api.service.RemoteShopService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -43,6 +44,7 @@
 
     @Resource
     private RemoteShopService remoteShopService;
+
 
     /**
      * @description: TODO
@@ -175,32 +177,52 @@
         if(!memberCouponPageVoList.isEmpty()){
             String relGoodsIds;
             List<Goods> goodsList;
-            List<String> goodsLimitList;
-            Shop shop = null;
+            List<String> goodsLimitList = null;
+            HashSet<Long> shopIdSet = new HashSet<>();
+            for(AppMemberCouponPageVo appGetAbleCouponPageVo : memberCouponPageVoList){
+                shopIdSet.add(appGetAbleCouponPageVo.getShopId());
+            }
+            String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList()));
+            MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+            mgtBaseBathDto.setIds(shopJoinedString);
+            List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
+            Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
+                    .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
             for(AppMemberCouponPageVo appGetAbleCouponPageVo : memberCouponPageVoList){
                 relGoodsIds = appGetAbleCouponPageVo.getRelGoodsIds();
-                goodsList = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData();
-                if(!goodsList.isEmpty()){
-                    goodsLimitList = goodsList.stream().map(goods -> {
-                        String goodsName = goods.getGoodsName();
-                        goodsName = "限制" + goodsName + "适用";
-                        return goodsName;
-                    }).collect(Collectors.toList());
+                if(StringUtils.isNotBlank(relGoodsIds)){
+                    goodsList = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData();
+                    if(!goodsList.isEmpty()){
+                        goodsLimitList = goodsList.stream().map(goods -> {
+                            String goodsName = goods.getGoodsName();
+                            goodsName = "限制" + goodsName + "适用";
+                            return goodsName;
+                        }).collect(Collectors.toList());
+                    }
                 }else{
                     goodsLimitList = new ArrayList<>();
                     if(appGetAbleCouponPageVo.getShopId()!=null){
-                        if(shop!=null&&shop.getShopId().equals(appGetAbleCouponPageVo.getShopId())){
-                        }else{
-                            shop = remoteShopService.getShop(appGetAbleCouponPageVo.getShopId()).getData();
-                        }
-                        goodsLimitList.add(shop.getShopName()+"通用");
+                        goodsLimitList.add(shopMap.get(appGetAbleCouponPageVo.getShopId()).getShopName()+"通用");
                     }else{
                         goodsLimitList.add("全场通用");
                     }
                 }
                 appGetAbleCouponPageVo.setGoodsLimitList(goodsLimitList);
+                appGetAbleCouponPageVo.setVerifyShopName(shopMap.get(appGetAbleCouponPageVo.getShopId()).getShopName());
             }
         }
         return memberCouponPageVoList;
     }
+
+    /**
+     * @description  定时检查优惠券过期
+     * @author  jqs
+     * @date    2023/7/12 19:19
+     * @param
+     * @return  void
+     */
+    @Override
+    public void timingCheckMemberCoupon(){
+        memberCouponMapper.timingCheckMemberCoupon();
+    }
 }

--
Gitblit v1.7.1