|
|
|
@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import org.dromara.system.domain.BusinessCoupon; |
|
|
|
|
import org.dromara.system.domain.BusinessCouponTemplate; |
|
|
|
|
import org.dromara.system.domain.ProductOrder; |
|
|
|
|
import org.dromara.system.domain.PromotionCoupon; |
|
|
|
|
import org.dromara.system.domain.bo.AppBusinessProductBo; |
|
|
|
|
import org.dromara.system.domain.bo.AppBusinessTypeBo; |
|
|
|
@ -26,6 +27,7 @@ import org.dromara.system.domain.bo.CouponCheckBo;
|
|
|
|
|
import org.dromara.system.domain.bo.BusinessCouponBo; |
|
|
|
|
import org.dromara.system.domain.vo.*; |
|
|
|
|
import org.dromara.system.mapper.BusinessCouponTemplateMapper; |
|
|
|
|
import org.dromara.system.mapper.ProductOrderMapper; |
|
|
|
|
import org.dromara.system.service.IAppBusinessProductService; |
|
|
|
|
import org.dromara.system.service.IAppBusinessTypeService; |
|
|
|
|
import org.dromara.system.service.IBusinessCouponTemplateService; |
|
|
|
@ -63,6 +65,9 @@ public class BusinessCouponServiceImpl implements IBusinessCouponService {
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private BusinessCouponTemplateMapper businessCouponTemplateMapper; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private ProductOrderMapper productOrderMapper; |
|
|
|
|
/** |
|
|
|
|
* 查询商家优惠劵 |
|
|
|
|
* |
|
|
|
@ -139,6 +144,7 @@ public class BusinessCouponServiceImpl implements IBusinessCouponService {
|
|
|
|
|
lqw.eq(bo.getValidStartTime() != null, BusinessCoupon::getValidStartTime, bo.getValidStartTime()); |
|
|
|
|
lqw.eq(bo.getValidEndTime() != null, BusinessCoupon::getValidEndTime, bo.getValidEndTime()); |
|
|
|
|
lqw.eq(bo.getProductScopeType() != null, BusinessCoupon::getProductScopeType, bo.getProductScopeType()); |
|
|
|
|
lqw.in(bo.getProductScopeTypes() != null, BusinessCoupon::getProductScopeType, bo.getProductScopeTypes()); |
|
|
|
|
lqw.eq(bo.getDiscountType() != null, BusinessCoupon::getDiscountType, bo.getDiscountType()); |
|
|
|
|
lqw.eq(bo.getDiscountPercent() != null, BusinessCoupon::getDiscountPercent, bo.getDiscountPercent()); |
|
|
|
|
lqw.eq(bo.getDiscountPrice() != null, BusinessCoupon::getDiscountPrice, bo.getDiscountPrice()); |
|
|
|
@ -259,7 +265,7 @@ public class BusinessCouponServiceImpl implements IBusinessCouponService {
|
|
|
|
|
allFilter.setUserId(bo.getUserId()); |
|
|
|
|
allFilter.setStatus(1L); |
|
|
|
|
allFilter.setEffective(true); |
|
|
|
|
allFilter.setProductScopeType(1L); |
|
|
|
|
allFilter.setProductScopeTypes(List.of(1L, 5L)); |
|
|
|
|
allFilter.setAmount(bo.getAmount()); |
|
|
|
|
allFilter.setBusinessId(bo.getBusinessId()); |
|
|
|
|
List<BusinessCouponVo> allBusinessCouponVos = queryList(allFilter); |
|
|
|
@ -366,6 +372,17 @@ public class BusinessCouponServiceImpl implements IBusinessCouponService {
|
|
|
|
|
if (ObjectUtil.notEqual(couponTemplate.getTakeType(), takeType)) { |
|
|
|
|
throw new ServiceException("领取方式不正确"); |
|
|
|
|
} |
|
|
|
|
//新人优惠券
|
|
|
|
|
if(couponTemplate.getProductScopeType() != null && couponTemplate.getProductScopeType() == 5L){ |
|
|
|
|
QueryWrapper<ProductOrder> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.eq("business_id", couponTemplate.getBusinessId()); |
|
|
|
|
queryWrapper.in("status", "1","2", "4", "5", "9"); |
|
|
|
|
queryWrapper.eq("user_id", userId); |
|
|
|
|
Long count = productOrderMapper.selectCount(queryWrapper); |
|
|
|
|
if(count > 0){ |
|
|
|
|
throw new ServiceException("只有新人才能领取!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
QueryWrapper<BusinessCoupon> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.eq("user_id", userId); |
|
|
|
|
queryWrapper.eq("template_id", couponTemplate.getId()); |
|
|
|
|