This commit is contained in:
dute7liang
2024-01-01 15:56:56 +08:00
parent 3aa29bcefc
commit d2bd79204a
11 changed files with 121 additions and 18 deletions

View File

@@ -1,25 +1,34 @@
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.domain.*;
import com.ruoyi.cai.dto.app.query.AccountAliBankCardRes;
import com.ruoyi.cai.dto.app.query.AnchorUpdateReq;
import com.ruoyi.cai.dto.app.query.UserUpdateReq;
import com.ruoyi.cai.dto.app.vo.*;
import com.ruoyi.cai.dto.app.vo.AnchorVo;
import com.ruoyi.cai.dto.app.vo.CurrentUserInfoVo;
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.service.*;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanConvertUtil;
import com.ruoyi.yunxin.client.ImUserRefClient;
import com.ruoyi.yunxin.req.UpdateUinfoReq;
import com.ruoyi.yunxin.resp.YxCommonR;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.format.DateTimeFormatter;
import java.util.List;
@Component
@Slf4j
public class CurrentUserManager {
@Autowired
private UserService userService;
@@ -33,6 +42,8 @@ public class CurrentUserManager {
private AccountService accountService;
@Autowired
private AccountBankcardService accountBankcardService;
@Resource
private ImUserRefClient userClient;
public CurrentUserInfoVo currentInfo() {
Long userId = LoginHelper.getUserId();
@@ -87,15 +98,22 @@ public class CurrentUserManager {
public boolean userUpdate(UserUpdateReq res) {
res.setUserId(LoginHelper.getUserId());
boolean updateFlag = false;
boolean updateYunxin = false;
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
uinfoReq.setAccid(res.getUserId()+"");
LambdaUpdateWrapper<User> update =
Wrappers.lambdaUpdate(User.class).eq(User::getId, res.getUserId());
if(StringUtils.isNotEmpty(res.getNickname())){
update.set(User::getNickname,res.getNickname());
uinfoReq.setName(res.getNickname());
updateFlag=true;
updateYunxin=true;
}
if(res.getBirthday() != null){
update.set(User::getBirthday,res.getBirthday());
uinfoReq.setBirth(res.getBirthday().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
updateFlag=true;
updateYunxin=true;
}
if(res.getCity() != null){
update.set(User::getCity,res.getCity());
@@ -104,12 +122,20 @@ public class CurrentUserManager {
if(StringUtils.isNotEmpty(res.getAvatar())){
update.set(User::getAvatar,res.getAvatar());
update.set(User::getAvatarState,1);
// uinfoReq.setIcon(res.getAvatar());
// updateYunxin=true;
updateFlag=true;
}
if(updateFlag){
boolean flag = userService.update(update);
if(flag){
userService.checkFinishStatus(res.getUserId());
if(updateYunxin){
YxCommonR r = userClient.updateUinfo(uinfoReq);
if(!r.isSuccess()){
log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r));
}
}
}
}
return true;