This commit is contained in:
张良(004796)
2024-01-18 13:59:46 +08:00
parent c69560c50f
commit fce0047b57
5 changed files with 54 additions and 16 deletions

View File

@@ -8,6 +8,7 @@ import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.enums.CodeEnum;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.executor.ExecutorConstant;
import com.ruoyi.cai.manager.CodeManager;
@@ -243,8 +244,8 @@ public class CaiLoginManager {
add.setType(0);
add.setPassword(BCrypt.hashpw(user.getPassword()));
add.setMobile(user.getUsername());
add.setAvatar(null);
add.setGender(0);
add.setGender(GenderEnum.NONE.getCode());
add.setAvatar(GenderEnum.NONE.getDefaultAvatar());
add.setInviteId(user.getInviteId());
add.setImToken(IdUtil.simpleUUID());
userService.save(add);

View File

@@ -72,7 +72,8 @@ public class UserAppController {
@Operation(summary = "修改当前用户信息")
@Log(title = "修改当前用户信息", businessType = BusinessType.OTHER, isSaveDb = false)
public R<Boolean> userUpdate(@Validated @RequestBody UserUpdateReq res){
return R.ok(currentUserManager.userUpdate(res));
currentUserManager.userUpdate(res);
return R.ok();
}
@PostMapping("/album/del")

View File

@@ -4,16 +4,38 @@ import lombok.Getter;
@Getter
public enum GenderEnum {
NONE(0,"未知"),
WOMEN(1,""),
MAN(2,""),
NONE(0,"未知","images/avatar/avatar.png"),
WOMEN(1,"","images/avatar/woman.png"),
MAN(2,"","images/avatar/man.png"),
;
private final Integer code;
private final String name;
private final String defaultAvatar;
GenderEnum(Integer code, String name) {
GenderEnum(Integer code, String name, String defaultAvatar) {
this.code = code;
this.name = name;
this.defaultAvatar = defaultAvatar;
}
public static GenderEnum getByCode(Integer code){
GenderEnum[] values = GenderEnum.values();
for (GenderEnum value : values) {
if(value.getCode().equals(code)){
return value;
}
}
return null;
}
public static boolean checkDefaultAvatar(String avatar){
GenderEnum[] values = GenderEnum.values();
for (GenderEnum value : values) {
if(value.getDefaultAvatar().equals(avatar)){
return true;
}
}
return false;
}
}

View File

@@ -3,10 +3,10 @@ package com.ruoyi.cai.manager;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.auth.CaiLoginManager;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes;
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
import com.ruoyi.cai.dto.app.query.FinishUserUpdateReq;
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
import com.ruoyi.cai.dto.app.vo.AnchorVo;
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
@@ -14,6 +14,8 @@ import com.ruoyi.cai.dto.app.vo.user.CurrentUserUpdateInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserAccountVo;
import com.ruoyi.cai.dto.app.vo.user.UserAlbumDTO;
import com.ruoyi.cai.dto.app.vo.user.UserCountVo;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.executor.ExecutorConstant;
import com.ruoyi.cai.service.*;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
@@ -116,8 +118,12 @@ public class CurrentUserManager {
return true;
}
@Autowired
private CaiLoginManager loginManager;
public boolean userUpdate(UserUpdateReq res) {
res.setUserId(LoginHelper.getUserId());
User user = userService.getById(res.getUserId());
boolean updateFlag = false;
boolean updateYunxin = false;
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
@@ -130,9 +136,10 @@ public class CurrentUserManager {
updateFlag=true;
updateYunxin=true;
}
if(res.getInviteId() != null){
if(res.getInviteId() != null && user.getInviteId() != null){
update.set(User::getInviteId,res.getInviteId());
// TODO 邀请人的后续操作
user.setInviteId(res.getInviteId());
ExecutorConstant.COMMON_EXECUTOR.execute(() -> loginManager.dealInviteId(user));
}
if(res.getBirthday() != null){
update.set(User::getBirthday,res.getBirthday());
@@ -141,10 +148,15 @@ public class CurrentUserManager {
updateYunxin=true;
}
if(res.getGender() != null){
User user = userService.getById(res.getUserId());
GenderEnum genderEnum = GenderEnum.getByCode(res.getGender());
if(genderEnum == null){
throw new ServiceException("性别参数异常");
}
if(user.getGender() != 0 && !user.getGender().equals(res.getGender())){
throw new ServiceException("性别不可以修改");
}
update.set(User::getGender,genderEnum.getCode());
update.set(User::getAvatar,genderEnum.getDefaultAvatar());
}
if(res.getCityId() != null){
update.set(User::getCityId,res.getCityId());
@@ -152,11 +164,13 @@ public class CurrentUserManager {
updateFlag=true;
}
if(StringUtils.isNotEmpty(res.getAvatar())){
update.set(User::getAvatar,res.getAvatar());
update.set(User::getAvatarState,1);
if(!GenderEnum.checkDefaultAvatar(res.getAvatar())){
update.set(User::getAvatar,res.getAvatar());
update.set(User::getAvatarState,1);
// uinfoReq.setIcon(res.getAvatar());
// updateYunxin=true;
updateFlag=true;
updateFlag=true;
}
}
if(updateFlag){
boolean flag = userService.update(update);

View File

@@ -11,6 +11,7 @@ import com.ruoyi.cai.dto.app.query.index.UserQuery;
import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.mapper.UserMapper;
import com.ruoyi.cai.service.*;
import com.ruoyi.cai.ws.service.RoomService;
@@ -158,8 +159,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
if(user == null || user.getFinishStatus() == 1){
return;
}
if(user.getCity() != null && user.getBirthday() != null && StringUtils.isNotEmpty(user.getNickname())
&& user.getGender() == 0){
if(user.getCity() != null && user.getBirthday() != null && GenderEnum.NONE.getCode().equals(user.getGender())){
this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,user.getId())
.set(User::getFinishStatus,1));