From dba521c55ea6355689df44b526ca5bf5558718cf Mon Sep 17 00:00:00 2001 From: haotianmingyue <2421912570@qq.com> Date: Thu, 7 Nov 2024 11:53:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=90=8E=E5=8F=B0=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E6=89=80=E6=9C=89=E7=94=A8=E6=88=B7=E5=92=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=94=A8=E6=88=B7=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backstage/BackstageController.java | 112 ++++++++ .../com/ruoyi/common/constant/Constants.java | 5 + .../system/domain/dto/UpdateUserStateDto.java | 19 ++ .../ruoyi/system/mapper/SysUserMapper.java | 4 +- .../ruoyi/system/mapper/UserInfoMapper.java | 2 + .../ruoyi/system/service/ISysUserService.java | 5 + .../system/service/IUserInfoService.java | 4 + .../impl/SysUserOnlineTimeServiceImpl.java | 4 +- .../service/impl/SysUserServiceImpl.java | 5 + .../service/impl/UserInfoServiceImpl.java | 13 + .../resources/mapper/system/SysUserMapper.xml | 5 +- .../mapper/system/UserInfoMapper.xml | 6 + ruoyi-ui/src/views/login.vue | 251 ++++++++++++++---- 13 files changed, 386 insertions(+), 49 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/BackstageController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateUserStateDto.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/BackstageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/BackstageController.java new file mode 100644 index 00000000..bbdace37 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/BackstageController.java @@ -0,0 +1,112 @@ +package com.ruoyi.web.controller.backstage; + +import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.domain.UserInfo; +import com.ruoyi.system.domain.dto.UpdateUserStateDto; +import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.IUserInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import static com.ruoyi.common.utils.PageUtils.startPage; + +import java.util.List; + +import static com.ruoyi.common.core.domain.AjaxResult.success; + +@RestController +@RequestMapping("/backstage/system") +public class BackstageController { + + @Autowired + private IUserInfoService userInfoService; + + @Autowired + private ISysUserService sysUserService; + + @GetMapping("/getAllUserInfo") + public TableDataInfo getAllUserInfo(){ + + // 这里面是不是就没有user_type啊,直接解码的token不包含user_type + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + + SysUser user1 = sysUserService.selectUserById(userId); + String userType = user1.getUserType(); + + + if (userType.equals(Constants.USER_TYPE_ADMIN)){ + // 分页 + startPage(); + List userInfoList = userInfoService.selectAllUserInfo(); + + return getDataTable(userInfoList); + } + else{ + return noAuthority(); + } + + + + } + + @PostMapping("/changeUserStatus") + public AjaxResult changeUserState(@RequestBody UpdateUserStateDto updateUserStateDto){ + + if(isAtuthority(Constants.USER_TYPE_ADMIN)){ + String username = updateUserStateDto.getUsername(); + String status = updateUserStateDto.getStatus(); + + int back = sysUserService.updateUserState1(username,status); + + if(back>0){ + return success(); + } + else{ + return AjaxResult.error("修改用户权限失败"); + } + } + else{ + return AjaxResult.error("无权限"); + } + + } + + private TableDataInfo getDataTable(List list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } + + private TableDataInfo noAuthority() + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.ERROR); + rspData.setMsg("无权限"); + return rspData; + } + private boolean isAtuthority(String type){ + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + SysUser user1 = sysUserService.selectUserById(userId); + String userType = user1.getUserType(); + + if(userType.equals(type)){ + return true; + } + return false; + + } + +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java index 9d43a9b7..155a62e9 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java @@ -134,6 +134,11 @@ public class Constants */ public static final String[] JOB_WHITELIST_STR = { "com.ruoyi" }; + /** + * 管理员用户类型 + */ + public static final String USER_TYPE_ADMIN = "66"; + /** * 定时任务违规的字符 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateUserStateDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateUserStateDto.java new file mode 100644 index 00000000..b1a390bc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateUserStateDto.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.domain.dto; + +public class UpdateUserStateDto { + private String username; + private String status; + + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 421fbbd5..8751cb6c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -67,6 +67,8 @@ public interface SysUserMapper */ public int updateUser(SysUser user); + public int updateUserState1(@Param("username") String username, @Param("status") String status); + /** * 修改用户头像 * @@ -131,5 +133,5 @@ public interface SysUserMapper SysUser selectUserByPhonenumber(@Param("phoneNumber") String phoneNumber); - int test(); +// int test(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserInfoMapper.java index 9f5966d4..d65880ca 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserInfoMapper.java @@ -28,6 +28,8 @@ public interface UserInfoMapper */ public List selectUserInfoList(UserInfo userInfo); + public List selectAllUserInfo(); + /** * 新增用户个人信息 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 4ef78837..ee4f4d05 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -128,6 +128,9 @@ public interface ISysUserService */ public int updateUser(SysUser user); + + + /** * 用户授权角色 * @@ -144,6 +147,8 @@ public interface ISysUserService */ public int updateUserStatus(SysUser user); + public int updateUserState1(String username, String status); + /** * 修改用户基本信息 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserInfoService.java index 9619c1d5..1e0a9347 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserInfoService.java @@ -27,6 +27,8 @@ public interface IUserInfoService */ public List selectUserInfoList(UserInfo userInfo); + public List selectAllUserInfo(); + /** * 新增用户个人信息 * @@ -66,6 +68,8 @@ public interface IUserInfoService * */ public boolean updateSignature(String phonenumber, String signature); +// public int updateUserState(String username, String state); + /* * 更新用户头像 * */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineTimeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineTimeServiceImpl.java index a3d0f7de..2b8acc44 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineTimeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineTimeServiceImpl.java @@ -191,8 +191,8 @@ public class SysUserOnlineTimeServiceImpl implements ISysUserOnlineTimeService { // System.out.println("定时任务输出"+date); // } // 每天凌晨 1 点计算近7/30天的在线时长 -// @Scheduled(cron="0 0 1 * * ?") - @Scheduled(cron="0 * * * * ?") + @Scheduled(cron="0 0 1 * * ?") +// @Scheduled(cron="0 * * * * ?") @Override public void calculateUserOnlineStats() { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 38a92863..39d0e683 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -299,6 +299,11 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.updateUser(user); } + @Override + public int updateUserState1(String userName, String status){ + return userMapper.updateUserState1(userName, status); + } + /** * 用户授权角色 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserInfoServiceImpl.java index 6bad17aa..eceffc17 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserInfoServiceImpl.java @@ -55,6 +55,11 @@ public class UserInfoServiceImpl implements IUserInfoService return userInfoMapper.insertUserInfo(userInfo); } + @Override + public List selectAllUserInfo(){ + return userInfoMapper.selectAllUserInfo(); + } + /** * 修改用户个人信息 * @@ -67,6 +72,14 @@ public class UserInfoServiceImpl implements IUserInfoService return userInfoMapper.updateUserInfo(userInfo); } +// /** +// * 更新用户状态 +// */ +// @Override +// public int updateUserState(String username, String state){ +// return userInfoMapper.updateUserState(username, state); +// } + /** * 批量删除用户个人信息 * diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 34dfb8df..2c22c55c 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, + select u.user_id, u.dept_id, u.user_name ,u.nick_name,u.user_type, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u @@ -210,6 +210,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_user set status = #{status} where user_id = #{userId} + + update sys_user set status = #{status} where user_name = #{username} + update sys_user set nick_name = #{nickName} where user_name = #{userName} diff --git a/ruoyi-system/src/main/resources/mapper/system/UserInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserInfoMapper.xml index bec00815..34bbe75c 100644 --- a/ruoyi-system/src/main/resources/mapper/system/UserInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/UserInfoMapper.xml @@ -72,6 +72,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where user_id = #{userId} + + insert into user_info @@ -165,6 +169,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where user_id = #{userId} + + delete from user_info where user_id = #{userId} diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue index b0c8331a..95cff50f 100644 --- a/ruoyi-ui/src/views/login.vue +++ b/ruoyi-ui/src/views/login.vue @@ -1,58 +1,219 @@ + +