zoujiajian 3 ani în urmă
părinte
comite
5c6845c1d8

+ 12 - 0
netflix-service/src/main/java/com/cyksj/service/coupon/impl/CouponFontServiceImpl.java

@@ -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, "链接不存在");