84 lines
3.1 KiB
Java
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;
|
|
}
|
|
}
|