This commit is contained in:
77
2024-04-19 00:40:49 +08:00
parent 92b78cf2d5
commit 115eebac8e
8 changed files with 97 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.dto.admin.user.FullUserVo;
import com.ruoyi.xq.dto.admin.user.UserAdminVo;
import com.ruoyi.xq.dto.admin.user.req.ResetPasswordAdminReq;
import com.ruoyi.xq.dto.admin.user.req.UpdateMobileAdminReq;
@@ -55,6 +56,14 @@ public class UserController extends BaseController {
return TableDataInfo.build(page);
}
@SaCheckPermission("xq:user:list")
@GetMapping("/fullUser")
public R<FullUserVo> fullUser(Long userId) {
FullUserVo vo = userService.fullUserAdmin(userId);
return R.ok(vo);
}
@GetMapping("/getByUsercode")
public R<User> getByUsercode(String usercode){
return R.ok(userService.getByUsercode(usercode));
@@ -122,6 +131,24 @@ public class UserController extends BaseController {
return R.ok();
}
@PostMapping("/lock")
@SaCheckPermission("xq:user:lock")
@Log(title = "封禁用户", businessType = BusinessType.UPDATE)
public R<Void> lock(@RequestBody IdReq res){
userService.lock(res.getId());
return R.ok();
}
@PostMapping("/unlock")
@SaCheckPermission("xq:user:unlock")
@Log(title = "解封用户", businessType = BusinessType.UPDATE)
public R<Void> unlock(@RequestBody IdReq res){
userService.unlock(res.getId());
return R.ok();
}
/**
* 获取用户管理详细信息

View File

@@ -0,0 +1,15 @@
package com.ruoyi.xq.dto.admin.user;
import com.ruoyi.xq.domain.*;
import lombok.Data;
import java.util.List;
@Data
public class FullUserVo {
private User user;
private UserInfo userInfo;
private UserAuth userAuth;
private UserLogin userLogin;
private List<UserPictures> userPicturesList;
}

View File

@@ -3,9 +3,20 @@ package com.ruoyi.xq.dto.admin.user;
import com.ruoyi.xq.domain.User;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class UserAdminVo extends User {
private Long inviteId;
private String inviteNickname;
private String inviteUsercode;
/**
* 最后登录IP
*/
private String lastLoginIp;
/**
* 最后登陆时间
*/
private LocalDateTime lastLoginTime;
private LocalDateTime regTime;
}

View File

@@ -11,4 +11,5 @@ import com.ruoyi.xq.domain.UserLogin;
*/
public interface UserLoginService extends IService<UserLogin> {
UserLogin getByUserId(Long userId);
}

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.dto.admin.user.FullUserVo;
import com.ruoyi.xq.dto.admin.user.UserAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateMobileAdminReq;
import com.ruoyi.xq.dto.app.user.HomePageReq;
@@ -43,4 +44,9 @@ public interface UserService extends IService<User> {
List<HomeUserListVo> vipHomePage();
boolean lock(Long id);
boolean unlock(Long id);
FullUserVo fullUserAdmin(Long userId);
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.xq.domain.UserLogin;
import com.ruoyi.xq.mapper.UserLoginMapper;
@@ -17,4 +18,8 @@ import org.springframework.stereotype.Service;
@Service
public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper,UserLogin> implements UserLoginService {
@Override
public UserLogin getByUserId(Long userId) {
return this.getOne(Wrappers.lambdaQuery(UserLogin.class).eq(UserLogin::getUserId, userId).last("limit 1"));
}
}

View File

@@ -12,9 +12,9 @@ import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanConvertUtil;
import com.ruoyi.xq.domain.*;
import com.ruoyi.xq.dto.admin.user.FullUserVo;
import com.ruoyi.xq.dto.admin.user.UserAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateMobileAdminReq;
import com.ruoyi.xq.dto.app.auth.LoginUser;
import com.ruoyi.xq.dto.app.user.HomePageReq;
import com.ruoyi.xq.dto.app.user.vo.HomeUserListVo;
import com.ruoyi.xq.dto.app.user.vo.HomeUserVo;
@@ -54,6 +54,8 @@ import java.util.stream.Collectors;
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
@Autowired
private UserInfoService userInfoService;
@Autowired
private UserLoginService userLoginService;
@Resource
private ImUserRefClient userRefClient;
@Autowired
@@ -264,4 +266,30 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
}
return null;
}
@Override
public boolean lock(Long id) {
return this.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,id).set(User::getStatus, 1));
}
@Override
public boolean unlock(Long id) {
return this.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,id).set(User::getStatus, 0));
}
@Override
public FullUserVo fullUserAdmin(Long userId) {
FullUserVo vo = new FullUserVo();
User user = this.getById(userId);
vo.setUser(user);
UserInfo userInfo = userInfoService.getByUserId(userId);
vo.setUserInfo(userInfo);
UserAuth userAuth = userAuthService.getByUserId(userId);
vo.setUserAuth(userAuth);
UserLogin userLogin = userLoginService.getByUserId(userId);
vo.setUserLogin(userLogin);
List<UserPictures> userPicturesList = userPicturesService.listByUserIdSuccess(userId);
vo.setUserPicturesList(userPicturesList);
return vo;
}
}

View File

@@ -4,9 +4,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.xq.mapper.UserMapper">
<select id="pageAdmin" resultType="com.ruoyi.xq.dto.admin.user.UserAdminVo">
select t1.*, t2.id as invite_id, t2.nickname as invite_nickname, t2.usercode as invite_usercode
select t1.*, t2.id as invite_id, t2.nickname as invite_nickname, t2.usercode as invite_usercode,
t3.last_login_ip, t3.last_login_time,t3.reg_time
from xq_user t1
left join xq_user t2 on t1.invite_id = t2.id
left join xq_user_login t3 on t1.id = t3.user_id
<where>
<if test="bo.usercode != null and bo.usercode != ''">
and t1.usercode = #{bo.usercode}