jiangqs
2023-07-11 25ef12504f10cb066db53541bd7bc7bac4c09ac4
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
@@ -1,21 +1,28 @@
package com.ruoyi.member.service.impl.member;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.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.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.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.stream.Collectors;
/**
 * <p>
@@ -34,6 +41,8 @@
    @Resource
    private RemoteGoodsService remoteGoodsService;
    @Resource
    private RemoteShopService remoteShopService;
    /**
     * @description: TODO
@@ -109,7 +118,7 @@
            throw new ServiceException(AppErrorConstant.COUPON_EXPIRED);
        }else if(memberCoupon.getCouponStatus()==2){
            throw new ServiceException(AppErrorConstant.COUPON_USED);
        }else if(memberCoupon.getCouponStatus()!=0){
        }else if(memberCoupon.getCouponStatus()==-1){
            throw new ServiceException(AppErrorConstant.COUPON_NO_FIND);
        }
        if(memberCoupon.getCouponType()!=4){
@@ -152,4 +161,46 @@
        return total;
    }
    /**
     * @description 用户分页获取已领取优惠券列表
     * @author  jqs
     * @date    2023/7/11 16:25
     * @param page
     * @param appMemberCouponPageDto
     * @return  List<AppMemberCouponPageVo>
     */
    @Override
    public List<AppMemberCouponPageVo> pageAppUserGetCoupon(Page page, AppMemberCouponPageDto appMemberCouponPageDto){
        List<AppMemberCouponPageVo> memberCouponPageVoList = memberCouponMapper.pageAppUserGetCoupon(page, appMemberCouponPageDto);
        if(!memberCouponPageVoList.isEmpty()){
            String relGoodsIds;
            List<Goods> goodsList;
            List<String> goodsLimitList;
            Shop shop = null;
            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());
                }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()+"通用");
                    }else{
                        goodsLimitList.add("全场通用");
                    }
                }
                appGetAbleCouponPageVo.setGoodsLimitList(goodsLimitList);
            }
        }
        return memberCouponPageVoList;
    }
}