| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.member.domain.pojo.coupon.Coupon; |
| | | import com.ruoyi.member.mapper.member.MemberCouponMapper; |
| | | import com.ruoyi.member.service.coupon.CouponService; |
| | | import com.ruoyi.member.service.member.MemberCouponService; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.poji.goods.Goods; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private RemoteGoodsService remoteGoodsService; |
| | | |
| | | @Resource |
| | | private CouponService couponService; |
| | | |
| | | /** |
| | | * @description: TODO |
| | |
| | | @Override |
| | | public MerVerifyCouponGetVo getVerifyCoupon(String verifyCoupon){ |
| | | MemberCoupon memberCoupon = this.getById(verifyCoupon); |
| | | // 检查是否存在该优惠券 |
| | | if(memberCoupon==null){ |
| | | throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); |
| | | } |
| | | // 检查优惠券状态 |
| | | int couponStatus = memberCoupon.getCouponStatus(); |
| | | if (couponStatus == 0) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); |
| | | } else if (couponStatus == 2) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_USED); |
| | | } else if (couponStatus != 0) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); |
| | | } |
| | | // 检查优惠券类型 |
| | | int couponType = memberCoupon.getCouponType(); |
| | | if (couponType != 4) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_TYPE_ERROR); |
| | | } |
| | | MerVerifyCouponGetVo merVerifyCouponGetVo = new MerVerifyCouponGetVo(); |
| | | merVerifyCouponGetVo.setUserId(memberCoupon.getUserId()); |
| | | String relGoodsIds = memberCoupon.getRelGoodsIds(); |
| | | List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData(); |
| | | if (goodsList != null) { |
| | | merVerifyCouponGetVo.setGoodsList(goodsList); |
| | | } |
| | | merVerifyCouponGetVo.setMemberCouponId(memberCoupon.getId()); |
| | | Coupon coupon = couponService.getById(memberCoupon.getCouponId()); |
| | | // 设置优惠券来源 |
| | | if (coupon.getCouponFrom() == 1) { |
| | | merVerifyCouponGetVo.setCouponFrom("平台"); |
| | | } else { |
| | | merVerifyCouponGetVo.setCouponFrom("商户"); |
| | | } |
| | | return merVerifyCouponGetVo; |
| | | } |
| | | |
| | | /** |
| | | * @description 核销优惠券 |
| | | * @author jqs |
| | | * @date 2023/6/28 11:44 |
| | | * @param memberCouponId |
| | | * @return MerVerifyCouponGetVo |
| | | */ |
| | | @Override |
| | | public MerVerifyCouponGetVo sureVerifyCoupon(String memberCouponId){ |
| | | MemberCoupon memberCoupon = this.getById(memberCouponId); |
| | | if(memberCoupon==null||memberCoupon.getDelFlag()==1){ |
| | | throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); |
| | | } |
| | | if(memberCoupon.getCouponStatus()==0){ |
| | |
| | | } |
| | | MerVerifyCouponGetVo merVerifyCouponGetVo = new MerVerifyCouponGetVo(); |
| | | merVerifyCouponGetVo.setUserId(memberCoupon.getUserId()); |
| | | merVerifyCouponGetVo.setMemberCoupon(memberCoupon); |
| | | String relGoodsIds = memberCoupon.getRelGoodsIds(); |
| | | List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData(); |
| | | if(goodsList!=null){ |
| | | merVerifyCouponGetVo.setGoodsList(goodsList); |
| | | } |
| | | merVerifyCouponGetVo.setMemberCouponId(memberCoupon.getId()); |
| | | Coupon coupon = couponService.getById(memberCoupon.getCouponId()); |
| | | if (coupon.getCouponFrom()==1) { |
| | | merVerifyCouponGetVo.setCouponFrom("平台"); |
| | | } else { |
| | | merVerifyCouponGetVo.setCouponFrom("商户"); |
| | | } |
| | | memberCoupon.setCouponStatus(2); |
| | | memberCoupon.setUseTime(new Date()); |
| | | this.saveOrUpdate(memberCoupon); |
| | | merVerifyCouponGetVo.setMemberCoupon(memberCoupon); |
| | | return merVerifyCouponGetVo; |
| | | } |
| | | } |