| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | */ |
| | | @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); |
| | | } |
| | | } |