Files
cai-server/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/UserAdminManager.java
dute7liang 54801cc546 init
2024-01-04 23:10:02 +08:00

84 lines
3.1 KiB
Java

package com.ruoyi.cai.manager;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserCount;
import com.ruoyi.cai.domain.UserOnline;
import com.ruoyi.cai.dto.admin.query.UpdateMobileAdminReq;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
import com.ruoyi.cai.dto.admin.vo.UserFullAdminVo;
import com.ruoyi.cai.service.*;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class UserAdminManager {
@Autowired
private UserService userService;
@Autowired
private UserInfoService userInfoService;
@Autowired
private AccountService accountService;
@Autowired
private AnchorService anchorService;
@Autowired
private UnionService unionService;
@Autowired
private UserOnlineService userOnlineService;
@Autowired
private UserCountService userCountService;
@Autowired
private UserAlbumService userAlbumService;
@Autowired
private UserMemberService userMemberService;
public synchronized boolean updateMobileUser(UpdateMobileAdminReq req){
User user = userService.getById(req.getId());
if(StringUtils.isNotEmpty(req.getMobile())){
long count = userService.count(Wrappers.lambdaQuery(User.class)
.eq(User::getMobile, req.getMobile())
.ne(User::getId, user.getId()));
if(count > 0){
throw new BaseException("手机号已存在,无法修改");
}
}
User update = new User();
update.setId(user.getId());
update.setMobile(req.getMobile());
userService.updateById(update);
return true;
}
public boolean updateUser(UserUpdateAdminReq userUpdateAdmin){
User user = userService.getById(userUpdateAdmin.getId());
if(!user.getGender().equals(userUpdateAdmin.getGender()) && user.getIsAnchor() == 1){
throw new BaseException("主播不能修改性别");
}
User update = new User();
update.setId(user.getId());
update.setNickname(userUpdateAdmin.getNickname());
update.setGender(userUpdateAdmin.getGender());
update.setSendDynamic(userUpdateAdmin.getSendDynamic());
update.setAvatar(userUpdateAdmin.getAvatar());
// TODO 需要检测资料完成度
userService.updateById(update);
return true;
}
public UserFullAdminVo getUser(Long id) {
UserFullAdminVo vo = new UserFullAdminVo();
vo.setUser(userService.getById(id));
vo.setUserInfo(userInfoService.getByUserId(id));
vo.setAccount(accountService.getByUserId(id));
vo.setAnchor(anchorService.getByUserId(id));
vo.setUnion(unionService.getByUserId(id));
vo.setUserOnline(userOnlineService.getByUserId(id));
vo.setUserCount(userCountService.getByUserId(id));
vo.setUserAlbums(userAlbumService.listByUserId(id));
vo.setUserMember(userMemberService.getByUserId(id));
return vo;
}
}