bug
jiangqs
2023-08-15 bb95ec391d10f04702822705ecb82c027e849b98
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
@@ -6,6 +6,7 @@
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.dto.MemberSelectCouponDto;
import com.ruoyi.member.domain.dto.MerGoodsCouponListDto;
import com.ruoyi.member.domain.vo.AppMemberCouponPageVo;
import com.ruoyi.member.mapper.member.MemberCouponMapper;
@@ -24,6 +25,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -270,6 +272,56 @@
     */
    @Override
    public List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(MerGoodsCouponListDto merGoodsCouponListDto){
        return memberCouponMapper.listMerShopGoodsMemberCoupon(merGoodsCouponListDto);
        List<MerMemberCouponVo> merMemberCouponVoList = memberCouponMapper.listMerShopGoodsMemberCoupon(merGoodsCouponListDto);
        if(merMemberCouponVoList!=null&&merMemberCouponVoList.size()>0){
            List<MemberSelectCouponDto> goodsCpuponList = merGoodsCouponListDto.getGoodsCpuponList();
            List<String> selectCouponList =  new ArrayList<>();
            Map<String, String>  selectCouponMap = new HashMap<>();
            Boolean checkSelect = false;
            if(merGoodsCouponListDto.getGoodsCpuponList()!=null&&merGoodsCouponListDto.getGoodsCpuponList().size()>0) {
                for (MemberSelectCouponDto couponDto : goodsCpuponList) {
                    selectCouponList.add(couponDto.getMemberCouponId());
                    selectCouponMap.put(couponDto.getMemberCouponId(), couponDto.getGoodsId());
                }
                checkSelect = true;
            }
            Iterator<MerMemberCouponVo> iterator = merMemberCouponVoList.iterator();
            while (iterator.hasNext()) {
                MerMemberCouponVo couponVo = iterator.next();
                log.debug("couponVo"+couponVo.toString());
                if(checkSelect){
                    if (selectCouponList.contains(couponVo.getMemberCouponId()) && selectCouponMap.containsKey(couponVo.getMemberCouponId())) {
                        String goodsId = selectCouponMap.get(couponVo.getMemberCouponId());
                        if (!merGoodsCouponListDto.getGoodsId().equals(goodsId)) {
                            iterator.remove();
                            continue;
                        }
                    }
                }
                if(merGoodsCouponListDto.getBuyNum()!=null&&merGoodsCouponListDto.getSalesPrice()!=null){
                    if(couponVo.getCouponType()==1){
                        BigDecimal goodsMoney = merGoodsCouponListDto.getSalesPrice().multiply(new BigDecimal(merGoodsCouponListDto.getBuyNum().toString()));
                        if(goodsMoney.compareTo(couponVo.getMoneyThreshold())<0){
                            iterator.remove();
                        }
                    }
                }
            }
        }
        return merMemberCouponVoList;
    }
    /**
     * @description  确认核销优惠券
     * @author  jqs
     * @date    2023/8/15 11:21
     * @param memberCouponId
     * @param shopId
     * @return  void
     */
    @Override
    public void sureMemberCoupon(String memberCouponId,Long shopId){
        memberCouponMapper.sureMemberCoupon(memberCouponId, shopId);
    }
}