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

View File

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

View File

@@ -4,16 +4,38 @@ import lombok.Getter;
@Getter @Getter
public enum GenderEnum { public enum GenderEnum {
NONE(0,"未知"), NONE(0,"未知","images/avatar/avatar.png"),
WOMEN(1,""), WOMEN(1,"","images/avatar/woman.png"),
MAN(2,""), MAN(2,"","images/avatar/man.png"),
; ;
private final Integer code; private final Integer code;
private final String name; private final String name;
private final String defaultAvatar;
GenderEnum(Integer code, String name) { GenderEnum(Integer code, String name, String defaultAvatar) {
this.code = code; this.code = code;
this.name = name; 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.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.auth.CaiLoginManager;
import com.ruoyi.cai.domain.*; import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes; import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes;
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq; 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.query.UserUpdateReq;
import com.ruoyi.cai.dto.app.vo.AnchorVo; import com.ruoyi.cai.dto.app.vo.AnchorVo;
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo; 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.UserAccountVo;
import com.ruoyi.cai.dto.app.vo.user.UserAlbumDTO; import com.ruoyi.cai.dto.app.vo.user.UserAlbumDTO;
import com.ruoyi.cai.dto.app.vo.user.UserCountVo; 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.cai.service.*;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.helper.LoginHelper;
@@ -116,8 +118,12 @@ public class CurrentUserManager {
return true; return true;
} }
@Autowired
private CaiLoginManager loginManager;
public boolean userUpdate(UserUpdateReq res) { public boolean userUpdate(UserUpdateReq res) {
res.setUserId(LoginHelper.getUserId()); res.setUserId(LoginHelper.getUserId());
User user = userService.getById(res.getUserId());
boolean updateFlag = false; boolean updateFlag = false;
boolean updateYunxin = false; boolean updateYunxin = false;
UpdateUinfoReq uinfoReq = new UpdateUinfoReq(); UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
@@ -130,9 +136,10 @@ public class CurrentUserManager {
updateFlag=true; updateFlag=true;
updateYunxin=true; updateYunxin=true;
} }
if(res.getInviteId() != null){ if(res.getInviteId() != null && user.getInviteId() != null){
update.set(User::getInviteId,res.getInviteId()); update.set(User::getInviteId,res.getInviteId());
// TODO 邀请人的后续操作 user.setInviteId(res.getInviteId());
ExecutorConstant.COMMON_EXECUTOR.execute(() -> loginManager.dealInviteId(user));
} }
if(res.getBirthday() != null){ if(res.getBirthday() != null){
update.set(User::getBirthday,res.getBirthday()); update.set(User::getBirthday,res.getBirthday());
@@ -141,10 +148,15 @@ public class CurrentUserManager {
updateYunxin=true; updateYunxin=true;
} }
if(res.getGender() != null){ 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())){ if(user.getGender() != 0 && !user.getGender().equals(res.getGender())){
throw new ServiceException("性别不可以修改"); throw new ServiceException("性别不可以修改");
} }
update.set(User::getGender,genderEnum.getCode());
update.set(User::getAvatar,genderEnum.getDefaultAvatar());
} }
if(res.getCityId() != null){ if(res.getCityId() != null){
update.set(User::getCityId,res.getCityId()); update.set(User::getCityId,res.getCityId());
@@ -152,12 +164,14 @@ public class CurrentUserManager {
updateFlag=true; updateFlag=true;
} }
if(StringUtils.isNotEmpty(res.getAvatar())){ if(StringUtils.isNotEmpty(res.getAvatar())){
if(!GenderEnum.checkDefaultAvatar(res.getAvatar())){
update.set(User::getAvatar,res.getAvatar()); update.set(User::getAvatar,res.getAvatar());
update.set(User::getAvatarState,1); update.set(User::getAvatarState,1);
// uinfoReq.setIcon(res.getAvatar()); // uinfoReq.setIcon(res.getAvatar());
// updateYunxin=true; // updateYunxin=true;
updateFlag=true; updateFlag=true;
} }
}
if(updateFlag){ if(updateFlag){
boolean flag = userService.update(update); boolean flag = userService.update(update);
if(flag){ if(flag){

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.UserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo; import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo; 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.mapper.UserMapper;
import com.ruoyi.cai.service.*; import com.ruoyi.cai.service.*;
import com.ruoyi.cai.ws.service.RoomService; 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){ if(user == null || user.getFinishStatus() == 1){
return; return;
} }
if(user.getCity() != null && user.getBirthday() != null && StringUtils.isNotEmpty(user.getNickname()) if(user.getCity() != null && user.getBirthday() != null && GenderEnum.NONE.getCode().equals(user.getGender())){
&& user.getGender() == 0){
this.update(Wrappers.lambdaUpdate(User.class) this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,user.getId()) .eq(User::getId,user.getId())
.set(User::getFinishStatus,1)); .set(User::getFinishStatus,1));