This commit is contained in:
张良(004796)
2024-03-25 11:02:45 +08:00
parent 5cd14c47eb
commit 8792c0e1cf
12 changed files with 51 additions and 37 deletions

View File

@@ -24,9 +24,7 @@ import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.ip.AddressUtils;
import com.ruoyi.system.service.SysLoginService;
import com.ruoyi.yunxin.Yunxin;
import com.ruoyi.yunxin.client.ImUserClient;
import com.ruoyi.yunxin.req.CreateUserReq;
import com.ruoyi.yunxin.req.UpdateTokenReq;
@@ -135,21 +133,20 @@ public class CaiLoginManager {
lock.unlock();
}
awardManager.giveRegisterAsync(user.getId());
if(user.getInviteId() != null){
if(caiUser.getInviteId() != null){
User finalUser = user;
ExecutorConstant.COMMON_EXECUTOR.execute(() -> dealInviteId(finalUser,true));
ExecutorConstant.COMMON_EXECUTOR.execute(() -> dealInviteId(finalUser,caiUser.getInviteId(), true));
}
return login(user);
}
public void dealInviteId(User user, boolean openIgnore){
Long inviteId = user.getInviteId();
if(inviteId == null){
@Transactional(rollbackFor = Exception.class)
public void dealInviteId(User user, String inviteUserCode, boolean openIgnore){
if(StringUtils.isEmpty(inviteUserCode)){
return;
}
User inviteUser = userService.getById(inviteId);
User inviteUser = userService.getByUserCode(inviteUserCode);
if(inviteUser == null){
return;
}
@@ -167,21 +164,24 @@ public class CaiLoginManager {
if(!sj){
InviteIgnoreData data = new InviteIgnoreData();
data.setUserId(user.getId());
data.setInviteId(inviteId);
data.setInviteId(inviteUserCode);
ignoreDataService.saveIgnoreData(IgnoreDataTypeEnum.INVITE,inviteUser.getId(),data);
return;
}
}
userService.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId, user.getId())
.eq(User::getInviteId, inviteUser.getId()));
UserInvite check = userInviteService.getByUserId(user.getId());
if(check == null){
UserInvite userInvite = new UserInvite();
userInvite.setUserId(user.getId());
userInvite.setInviteId(user.getInviteId());
userInvite.setInviteId(inviteUser.getInviteId());
userInviteService.save(userInvite);
}else{
userInviteService.update(Wrappers.lambdaUpdate(UserInvite.class)
.eq(UserInvite::getId,check.getId())
.set(UserInvite::getInviteId,user.getInviteId())
.set(UserInvite::getInviteId,inviteUser.getInviteId())
.set(UserInvite::getRewardCoinTotal,0L));
}
// 处理工会
@@ -195,7 +195,7 @@ public class CaiLoginManager {
}
}
if(union == null){
log.info("邀请人没有工会,无法入会 inviteId={}",inviteId);
log.info("邀请人没有工会,无法入会 inviteUserCode={}",inviteUserCode);
return;
}
UnionUser checkUnionUser = unionUserService.getByUserId(user.getId());
@@ -262,7 +262,6 @@ public class CaiLoginManager {
add.setMobile(user.getUsername());
add.setGender(GenderEnum.NONE.getCode());
add.setAvatar(GenderEnum.NONE.getDefaultAvatar());
add.setInviteId(user.getInviteId());
add.setImToken(IdUtil.simpleUUID());
userService.save(add);
CreateUserReq req = new CreateUserReq();

View File

@@ -21,5 +21,5 @@ public class CaiRegisterUser {
@NotEmpty(message = "验证码不能为空")
private String code;
@Schema(description = "邀请人ID")
private Long inviteId;
private String inviteId;
}