|
@@ -29,10 +29,14 @@ import com.qs.mp.common.core.domain.AjaxResult;
|
|
import com.qs.mp.common.core.page.TableDataInfo;
|
|
import com.qs.mp.common.core.page.TableDataInfo;
|
|
import com.qs.mp.common.enums.BusinessType;
|
|
import com.qs.mp.common.enums.BusinessType;
|
|
import com.qs.mp.common.enums.CouponStatusEnum;
|
|
import com.qs.mp.common.enums.CouponStatusEnum;
|
|
|
|
+import com.qs.mp.common.enums.CouponTypeEnum;
|
|
import com.qs.mp.common.enums.CouponUseAreaEnum;
|
|
import com.qs.mp.common.enums.CouponUseAreaEnum;
|
|
import com.qs.mp.common.enums.ErrorCodeEnum;
|
|
import com.qs.mp.common.enums.ErrorCodeEnum;
|
|
|
|
+import com.qs.mp.common.enums.UserCouponStatusEnum;
|
|
import com.qs.mp.system.domain.SysUser;
|
|
import com.qs.mp.system.domain.SysUser;
|
|
import com.qs.mp.system.service.ISysUserService;
|
|
import com.qs.mp.system.service.ISysUserService;
|
|
|
|
+import com.qs.mp.user.domain.UserCoupon;
|
|
|
|
+import com.qs.mp.user.service.IUserCouponService;
|
|
import com.qs.mp.web.controller.common.BaseApiController;
|
|
import com.qs.mp.web.controller.common.BaseApiController;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -88,6 +92,9 @@ public class CouponMgrController extends BaseApiController {
|
|
@Autowired
|
|
@Autowired
|
|
private MapperFacade mapperFacade;
|
|
private MapperFacade mapperFacade;
|
|
|
|
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private IUserCouponService userCouponService;
|
|
/**
|
|
/**
|
|
* 获取代金券列表信息,支持翻页
|
|
* 获取代金券列表信息,支持翻页
|
|
*
|
|
*
|
|
@@ -107,6 +114,7 @@ public class CouponMgrController extends BaseApiController {
|
|
.like(null != coupon && StringUtils.isNotBlank(coupon.getTitle()), Coupon::getTitle, coupon.getTitle());
|
|
.like(null != coupon && StringUtils.isNotBlank(coupon.getTitle()), Coupon::getTitle, coupon.getTitle());
|
|
queryWrapper.lambda().eq(null != coupon && null != coupon.getStatus(), Coupon::getStatus, coupon.getStatus());
|
|
queryWrapper.lambda().eq(null != coupon && null != coupon.getStatus(), Coupon::getStatus, coupon.getStatus());
|
|
queryWrapper.lambda().eq(null != coupon && null != coupon.getType(), Coupon::getType, coupon.getType());
|
|
queryWrapper.lambda().eq(null != coupon && null != coupon.getType(), Coupon::getType, coupon.getType());
|
|
|
|
+ queryWrapper.lambda().eq(null != coupon && null != coupon.getIsNewUserCoupon(), Coupon::getIsNewUserCoupon, coupon.getIsNewUserCoupon());
|
|
queryWrapper.lambda()
|
|
queryWrapper.lambda()
|
|
.notIn(null != coupon && !CollectionUtils.isEmpty(coupon.getExcludeCouponIds()), Coupon::getCouponId,
|
|
.notIn(null != coupon && !CollectionUtils.isEmpty(coupon.getExcludeCouponIds()), Coupon::getCouponId,
|
|
coupon.getExcludeCouponIds());
|
|
coupon.getExcludeCouponIds());
|
|
@@ -183,6 +191,12 @@ public class CouponMgrController extends BaseApiController {
|
|
couponVO.setChannelList(list);
|
|
couponVO.setChannelList(list);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 查询已使用数量
|
|
|
|
+ int count = userCouponService.count(new LambdaQueryWrapper<UserCoupon>()
|
|
|
|
+ .eq(UserCoupon::getCouponId, couponId)
|
|
|
|
+ .eq(UserCoupon::getStatus, UserCouponStatusEnum.USED));
|
|
|
|
+ couponVO.setUsedQty(count);
|
|
return AjaxResult.success(couponVO);
|
|
return AjaxResult.success(couponVO);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -211,6 +225,11 @@ public class CouponMgrController extends BaseApiController {
|
|
if (StringUtils.isNotBlank(couponParam.getCouponId())) {
|
|
if (StringUtils.isNotBlank(couponParam.getCouponId())) {
|
|
return AjaxResult.error("该代金券已存在");
|
|
return AjaxResult.error("该代金券已存在");
|
|
}
|
|
}
|
|
|
|
+ if (couponParam.getIsNewUserCoupon() != null && couponParam.getIsNewUserCoupon() == 1) {
|
|
|
|
+ if (!CouponTypeEnum.TICKET_ORDER.equals(couponParam.getType())) {
|
|
|
|
+ return AjaxResult.error("该类型优惠券不支持新用户发放");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
Coupon coupon = mapperFacade.map(couponParam, Coupon.class);
|
|
Coupon coupon = mapperFacade.map(couponParam, Coupon.class);
|
|
// 1、校验名称是否重复(代金券表)
|
|
// 1、校验名称是否重复(代金券表)
|
|
LambdaQueryWrapper<Coupon> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Coupon> queryWrapper = new LambdaQueryWrapper<>();
|
|
@@ -262,6 +281,11 @@ public class CouponMgrController extends BaseApiController {
|
|
if (null == couponParam || StringUtils.isBlank(couponParam.getCouponId())) {
|
|
if (null == couponParam || StringUtils.isBlank(couponParam.getCouponId())) {
|
|
return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
}
|
|
}
|
|
|
|
+ if (couponParam.getIsNewUserCoupon() != null && couponParam.getIsNewUserCoupon() == 1) {
|
|
|
|
+ if (!CouponTypeEnum.TICKET_ORDER.equals(couponParam.getType())) {
|
|
|
|
+ return AjaxResult.error("该类型优惠券不支持新用户发放");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
Coupon coupon = mapperFacade.map(couponParam, Coupon.class);
|
|
Coupon coupon = mapperFacade.map(couponParam, Coupon.class);
|
|
// 1、校验修改代金券是否为当前用户的代金券
|
|
// 1、校验修改代金券是否为当前用户的代金券
|
|
Coupon oldCoupon = couponService.getById(coupon.getCouponId());
|
|
Coupon oldCoupon = couponService.getById(coupon.getCouponId());
|