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;
}

View File

@@ -10,8 +10,8 @@ import java.time.LocalDateTime;
public class UserUpdateReq {
@Schema(description = "用户ID",hidden = true)
private Long userId;
@Schema(description = "邀请人ID")
private Long inviteId;
@Schema(description = "邀请人用户编号")
private String inviteId;
@Schema(description = "城市")
private Integer cityId;
@Schema(description = "昵称")

View File

@@ -5,5 +5,5 @@ import lombok.Data;
@Data
public class InviteIgnoreData {
private Long userId;
private Long inviteId;
private String inviteId;
}

View File

@@ -24,15 +24,19 @@ public class ImManager {
if(userId == null){
return;
}
if(StringUtils.isNotBlank(avatar) && StringUtils.isNotBlank(nickname)){
if(StringUtils.isBlank(avatar) && StringUtils.isBlank(nickname)){
return;
}
try {
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
uinfoReq.setAccid(userId+"");
if(StringUtils.isNotEmpty(avatar)){
String cosDomain = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN);
uinfoReq.setIcon(cosDomain + avatar);
if(StringUtils.isNotBlank(avatar)){
String icon = avatar;
if(!avatar.startsWith("http")){
String cosDomain = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN);
icon = cosDomain + avatar;
}
uinfoReq.setIcon(icon);
}
if(StringUtils.isNotBlank(nickname)){
uinfoReq.setName(nickname);

View File

@@ -159,10 +159,6 @@ public class CurrentUserManager {
updateFlag=true;
updateYunxin=true;
}
if(res.getInviteId() != null && user.getInviteId() != null){
update.set(User::getInviteId,res.getInviteId());
user.setInviteId(res.getInviteId());
}
if(res.getBirthday() != null){
update.set(User::getBirthday,res.getBirthday());
update.set(User::getAge, UserUtil.getAge(res.getBirthday()));
@@ -211,10 +207,9 @@ public class CurrentUserManager {
}
}
}
if(res.getInviteId() != null && user.getInviteId() != null){
ExecutorConstant.COMMON_EXECUTOR.execute(() -> loginManager.dealInviteId(user,false));
}
}
if(res.getInviteId() != null && user.getInviteId() != null){
ExecutorConstant.COMMON_EXECUTOR.execute(() -> loginManager.dealInviteId(user, res.getInviteId(),false));
}
return true;
}

View File

@@ -374,7 +374,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
.eq(User::getId,userId)
.set(User::getInviteId,inviteUser.getId()));
user = this.getById(userId);
caiLoginManager.dealInviteId(user,false);
caiLoginManager.dealInviteId(user,inviteUsercode,false);
}
@Override

View File

@@ -55,8 +55,8 @@ public class AgreeMessageHandle extends AbstractMessageHandle implements IMessag
String message = "提示禁止任何涉黄、任何微信QQ引导到其它平台行为";
sendToAll(room.getRoomId(), WsRMsgGen.startVideo(room.getRoomId(),0L),WsRMsgGen.sysNotice(message));
try {
Long callTime = roomService.getCallTime(room);
sendToAll(room.getRoomId(),WsRMsgGen.canCallTime(callTime));
Long callCallTime = roomService.canCallTime(room);
sendToAll(room.getRoomId(),WsRMsgGen.canCallTime(callCallTime));
}catch (Exception e){
log.error("发送可通话时长失败",e);
}

View File

@@ -156,6 +156,7 @@ public class RoomService {
long blockAmount = roomData.getPayCoin() + roomData.getPayIncome();
long totalAmount = account.getCoin()+account.getIncomeCoin() + blockAmount;
long totalSecond = (totalAmount / roomData.getCallPrice()) * 60;
// log.info("总金额:{} 锁定金额:{},单价:{},可拨打秒杀:{}",totalAmount, blockAmount, roomData.getCallPrice(), totalSecond);
long useTime = 0;
if(roomData.getBeginTime() != null){
useTime = DateUtil.currentSeconds() - roomData.getBeginTime();