|
@@ -1,10 +1,13 @@
|
|
|
package com.qs.mp.admin.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.qs.mp.admin.domain.Coupon;
|
|
|
import com.qs.mp.admin.domain.CouponPkg;
|
|
|
import com.qs.mp.admin.domain.CouponPkgItem;
|
|
|
+import com.qs.mp.admin.domain.Ticket;
|
|
|
import com.qs.mp.admin.domain.param.CouponPkgItemParam;
|
|
|
import com.qs.mp.admin.domain.param.CouponPkgParam;
|
|
|
import com.qs.mp.admin.domain.vo.CouponPkgItemVO;
|
|
@@ -13,12 +16,31 @@ import com.qs.mp.admin.mapper.CouponPkgMapper;
|
|
|
import com.qs.mp.admin.service.ICouponPkgItemService;
|
|
|
import com.qs.mp.admin.service.ICouponPkgService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qs.mp.admin.service.ICouponService;
|
|
|
+import com.qs.mp.channel.domain.Channel;
|
|
|
+import com.qs.mp.channel.service.IChannelService;
|
|
|
import com.qs.mp.common.enums.CouponPkgStatusEnum;
|
|
|
+import com.qs.mp.common.enums.CouponUseAreaEnum;
|
|
|
+import com.qs.mp.common.enums.UserCouponStatusEnum;
|
|
|
import com.qs.mp.common.exception.ServiceException;
|
|
|
+import com.qs.mp.common.utils.DateUtils;
|
|
|
+import com.qs.mp.common.utils.LogUtil;
|
|
|
+import com.qs.mp.system.service.id.BizIdGenerator;
|
|
|
+import com.qs.mp.user.domain.UserCoupon;
|
|
|
+import com.qs.mp.user.domain.UserCouponChannel;
|
|
|
+import com.qs.mp.user.domain.UserTicketOrder;
|
|
|
+import com.qs.mp.user.domain.UserTicketOrderItem;
|
|
|
+import com.qs.mp.user.service.IUserCouponChannelService;
|
|
|
+import com.qs.mp.user.service.IUserCouponService;
|
|
|
+import com.qs.mp.user.service.IUserTicketOrderItemService;
|
|
|
+import com.qs.mp.user.service.IUserTicketOrderService;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.Assert;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
@@ -35,9 +57,28 @@ import java.util.Objects;
|
|
|
@Service
|
|
|
public class CouponPkgServiceImpl extends ServiceImpl<CouponPkgMapper, CouponPkg> implements ICouponPkgService {
|
|
|
|
|
|
+ protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
+
|
|
|
@Autowired
|
|
|
private ICouponPkgItemService couponPkgItemService;
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICouponService couponService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void distribute(Ticket ticket, Long userId, String couponPkgId) {
|
|
|
+ List<CouponPkgItem> couponPkgItems = couponPkgItemService.list(new LambdaQueryWrapper<CouponPkgItem>().eq(CouponPkgItem::getCouponPkgId, couponPkgId));
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(couponPkgItems)) {
|
|
|
+ throw new ServiceException("券包下优惠券不存在");
|
|
|
+ }
|
|
|
+ for (CouponPkgItem couponPkgItem : couponPkgItems) {
|
|
|
+ couponService.distribute(ticket, userId, couponPkgItem.getCouponId().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean delete(Long id) {
|
|
@@ -94,6 +135,7 @@ public class CouponPkgServiceImpl extends ServiceImpl<CouponPkgMapper, CouponPkg
|
|
|
// 更新券包
|
|
|
CouponPkg couponPkg = new CouponPkg();
|
|
|
BeanUtils.copyProperties(couponPkgParam, couponPkg);
|
|
|
+ couponPkgParam.setPicUrl("coupon_def.jpeg");
|
|
|
this.updateById(couponPkg);
|
|
|
|
|
|
// 创建券包明细
|
|
@@ -121,6 +163,7 @@ public class CouponPkgServiceImpl extends ServiceImpl<CouponPkgMapper, CouponPkg
|
|
|
|
|
|
CouponPkg couponPkg = new CouponPkg();
|
|
|
BeanUtils.copyProperties(couponPkgParam, couponPkg);
|
|
|
+ couponPkgParam.setPicUrl("coupon_def.jpeg");
|
|
|
this.save(couponPkg);
|
|
|
|
|
|
List<CouponPkgItem> params = new ArrayList<>();
|