|
|
@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
|
|
|
import com.cyksj.common.util.Jsons;
|
|
|
+import com.cyksj.enums.GatewayApiCode;
|
|
|
+import com.cyksj.mapper.UserMapper;
|
|
|
import com.cyksj.mapper.channel.ChannelPopularizeMapper;
|
|
|
import com.cyksj.mapper.manage.coupon.*;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
@@ -57,6 +59,8 @@ public class CouponFontServiceImpl implements CouponFontService {
|
|
|
|
|
|
private final ChannelPopularizeMapper channelPopularizeMapper;
|
|
|
|
|
|
+ private final UserMapper userMapper;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
|
public void collectCoupon(CouponCollectReq couponCollectReq, Long userId) {
|
|
|
@@ -273,6 +277,14 @@ public class CouponFontServiceImpl implements CouponFontService {
|
|
|
Long userId = req.getUserId();
|
|
|
Long popularizeId = req.getPopularizeId();
|
|
|
Long couponId = req.getCouponId();
|
|
|
+ //是否是该渠道来源新用户
|
|
|
+ User user = userMapper.selectById(userId);
|
|
|
+ if (user == null) {
|
|
|
+ throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_USER_NO_FIND);
|
|
|
+ }
|
|
|
+ if (!user.getPopularizeId().equals(req.getPopularizeId())) {
|
|
|
+ throw BusinessRuntimeException.getInstance("渠道推广新用户才能领取该优惠券");
|
|
|
+ }
|
|
|
//渠道链接是否存在
|
|
|
ChannelPopularize channelPopularize = channelPopularizeMapper.selectById(popularizeId);
|
|
|
Assert.notNull(channelPopularize, "链接不存在");
|