邀请活动-补填邀请码
This commit is contained in:
@@ -11,6 +11,7 @@ import com.accompany.admin.params.flowteam.TeamMemberEditParams;
|
||||
import com.accompany.admin.params.flowteam.TeamMemberQueryParams;
|
||||
import com.accompany.admin.util.InviteCodeUtil;
|
||||
import com.accompany.admin.vo.flowteam.*;
|
||||
import com.accompany.business.event.RefillUserInviteCodeEvent;
|
||||
import com.accompany.business.model.RoomInviteCode;
|
||||
import com.accompany.business.model.UserInviteCode;
|
||||
import com.accompany.business.service.room.RoomInviteCodeService;
|
||||
@@ -670,6 +671,8 @@ public class FlowTeamService {
|
||||
usersBaseService.updateUser(userForUpdate);
|
||||
// 绑定用户与引流团队成员的邀请关系
|
||||
flowTeamMemberInviteUserBizService.saveFlowTeamMemberInviteUser(user.getInviteCode(), user.getUid(), FlowTeamConstant.UserSourceType.REPAIR);
|
||||
|
||||
applicationContext.publishEvent(new RefillUserInviteCodeEvent(userForUpdate));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,14 @@
|
||||
package com.accompany.business.event;
|
||||
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
public class RefillUserInviteCodeEvent extends ApplicationEvent {
|
||||
|
||||
/**
|
||||
* 构造方法 补填邀请码
|
||||
* @param source
|
||||
*/
|
||||
public RefillUserInviteCodeEvent(Object source) {
|
||||
super(source);
|
||||
}
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
package com.accompany.business.event.listener;
|
||||
|
||||
import com.accompany.business.event.RefillUserInviteCodeEvent;
|
||||
import com.accompany.business.service.user.UserInviteFissionService;
|
||||
import com.accompany.core.model.Users;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class InviteFissionRefillInviteListener implements ApplicationListener<RefillUserInviteCodeEvent> {
|
||||
|
||||
@Autowired
|
||||
private UserInviteFissionService service;
|
||||
|
||||
@Async
|
||||
@Override
|
||||
public void onApplicationEvent(RefillUserInviteCodeEvent event) {
|
||||
Users user = (Users) event.getSource();
|
||||
Long inviter = user.getInviteUid();
|
||||
if (null == inviter){
|
||||
return;
|
||||
}
|
||||
Long uid = user.getUid();
|
||||
Date createTime = new Date();
|
||||
|
||||
//todo 同一设备号,手机号,实名身份
|
||||
|
||||
service.refillBound(uid, inviter, createTime);
|
||||
}
|
||||
}
|
||||
|
@@ -42,6 +42,13 @@ public class UserInviteFissionService {
|
||||
|
||||
public void bound(Long uid, Long inviterUid, Date createTime) {
|
||||
InviteFissionActConfig config = getConfig();
|
||||
|
||||
refillBound(config, uid, inviterUid, createTime);
|
||||
|
||||
sendInviteReward(config, uid, inviterUid, createTime);
|
||||
}
|
||||
|
||||
public void refillBound(InviteFissionActConfig config, Long uid, Long inviterUid, Date createTime) {
|
||||
if (!inActTime(createTime, config)){
|
||||
return;
|
||||
}
|
||||
@@ -54,8 +61,11 @@ public class UserInviteFissionService {
|
||||
|
||||
log.info("[邀请裂变活动]-绑定 uid {} 与 直接邀请人 inviterUid {} 绑定邀请关系, 间接邀请人 indirectUid {}, 绑定时间 {}",
|
||||
uid, inviterUid, indirectUid, DateTimeUtil.convertDate(createTime));
|
||||
}
|
||||
|
||||
sendInviteReward(config, uid, inviterUid, createTime);
|
||||
public void refillBound(Long uid, Long inviterUid, Date createTime) {
|
||||
InviteFissionActConfig config = getConfig();
|
||||
refillBound(config, uid, inviterUid, createTime);
|
||||
}
|
||||
|
||||
private void sendInviteReward(InviteFissionActConfig config, Long uid, Long inviterUid, Date createTime){
|
||||
@@ -279,4 +289,5 @@ public class UserInviteFissionService {
|
||||
}
|
||||
return JSON.parseObject(configStr, InviteFissionActConfig.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user