Kaynağa Gözat

fix 获客链接进来的用户优惠券

zoujiajian 2 yıl önce
ebeveyn
işleme
2a08f0e3cb

+ 2 - 1
netflix-dao/src/main/java/com/cyksj/model/entity/CouponUser.java

@@ -70,7 +70,8 @@ public class CouponUser extends BaseEntity {
 		corp_bulk_task("corp_bulk_task", "企业微信群发任务"),
 		channel_popularize("channel_popularize", "渠道推广"),
 		new_welfare("new_welfare", "新人福利"),
-		corp_active_code("corp_active_code", "企业微信活码")
+		corp_active_code("corp_active_code", "企业微信活码"),
+		customer_link("customer_link", "获客链接")
 		;
 		private String channel;
 		private String desc;

+ 4 - 0
netflix-service/src/main/java/com/cyksj/service/mange/coupon/impl/CouponCommonServiceImpl.java

@@ -165,6 +165,10 @@ public class CouponCommonServiceImpl implements CouponCommonService {
 
 	@Override
 	public Boolean sendCouponToUser(Long userId, Long couponId, Long couponActiveId, Long recommendId, Long popularizeId, CouponUser.Channel channel) {
+		Coupon coupon = couponMapper.selectById(couponId);
+		if (coupon == null) {
+			return false;
+		}
 		CouponUser couponUser = couponUserMapper.selectOne(Wrappers.lambdaQuery(CouponUser.class).eq(CouponUser::getUserId, userId).eq(CouponUser::getCouponId, couponId).last("limit 1"));
 		if (couponUser == null) {
 			couponUser = new CouponUser();

+ 24 - 2
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -18,8 +18,10 @@ import com.cyksj.common.util.StringUtil;
 import com.cyksj.config.wxlogin.WxOpenPlatYHLXLoginConfig;
 import com.cyksj.mapper.*;
 import com.cyksj.mapper.channel.ChannelPopularizeMapper;
+import com.cyksj.mapper.corp.CorpCustomerAcquisitionLinkMapper;
 import com.cyksj.mapper.corp.CorpFollowActiveCodeMapper;
 import com.cyksj.mapper.corp.CorpUserMapper;
+import com.cyksj.mapper.corp.CorpWelcomeTemplateMapper;
 import com.cyksj.mapper.manage.cps.UserDistributePopularizeMapper;
 import com.cyksj.mapper.market.task.UserBindDetailMapper;
 import com.cyksj.model.dto.*;
@@ -105,6 +107,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
 	private final CorpFollowActiveCodeMapper corpFollowActiveCodeMapper;
 
+	private final CorpCustomerAcquisitionLinkMapper corpCustomerAcquisitionLinkMapper;
+
+	private final CorpWelcomeTemplateMapper corpWelcomeTemplateMapper;
+
 	private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
 
 	@Override
@@ -670,14 +676,30 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 	private void relateCorpUserAndSengWelfare(Long fUid, String unionid) {
 		CorpUser corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class)
 				.eq(CorpUser::getUnionid, unionid).last("limit 1"));
+		Long msgId = null;
+		CouponUser.Channel channel = null;
 		if (corpUser != null) {
 			corpUser.setUserId(fUid);
 			corpUserMapper.updateById(corpUser);
 			//活码福利
 			if (corpUser.getAcId() != null && corpUser.getAcId() > 0) {
 				CorpFollowActiveCode corpFollowActiveCode = corpFollowActiveCodeMapper.selectById(corpUser.getAcId());
-				if (corpFollowActiveCode != null && corpFollowActiveCode.getCouponId() > 0) {
-					couponCommonService.sendCouponToUser(fUid, corpFollowActiveCode.getCouponId(), 0l, 0l, 0l, CouponUser.Channel.corp_active_code);
+				if (corpFollowActiveCode != null) {
+					msgId = corpFollowActiveCode.getMsgId();
+					channel = CouponUser.Channel.corp_active_code;
+				}
+			}
+			if (corpUser.getCustomerAcquisitionLinkId() != null && corpUser.getCustomerAcquisitionLinkId() > 0) {
+				CorpCustomerAcquisitionLink corpCustomerAcquisitionLink = corpCustomerAcquisitionLinkMapper.selectById(corpUser.getCustomerAcquisitionLinkId());
+				if (corpCustomerAcquisitionLink != null) {
+					msgId = corpCustomerAcquisitionLink.getMsgId();
+					channel = CouponUser.Channel.customer_link;
+				}
+			}
+			if (msgId != null) {
+				CorpWelcomeTemplate corpWelcomeTemplate = corpWelcomeTemplateMapper.selectById(msgId);
+				if (corpWelcomeTemplate != null && corpWelcomeTemplate.getCouponId() != null) {
+					couponCommonService.sendCouponToUser(fUid, corpWelcomeTemplate.getCouponId(), 0l, 0l, 0l, channel);
 				}
 			}
 		}