src/main/java/com/whyc/controller/UserInfController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/UserInfMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/UserInfService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/UserInfMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/UserInfController.java
@@ -39,4 +39,17 @@ public Response deleteUser(@RequestParam int uid){ return service.delUser(uid); } @ApiOperation(value = "将用户添加至100~1000管理员") @GetMapping("improveRole") public Response improveRole(@RequestParam int uid){ return service.improveRole(uid); } @ApiOperation(value = "将管理员变成普通用户") @GetMapping("dropRole") public Response dropRole(@RequestParam int uid){ return service.dropRole(uid); } } src/main/java/com/whyc/mapper/UserInfMapper.java
@@ -1,6 +1,8 @@ package com.whyc.mapper; import com.whyc.pojo.UserInf; import lombok.Value; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -11,4 +13,14 @@ int judgeUname(); //查询所有用户信息 List<UserInf> getAllUser(); //查询100~1000中最大的uid String getIn1000(); //创建100~1000的id表,不存在则创建 void createNumber(); //判断表是否存在 String existTable(); //插入默认数据 void setUnumber(@Param("sql") String sql); //查询最大的uid String getMaxUid(); } src/main/java/com/whyc/service/UserInfService.java
@@ -53,7 +53,7 @@ //判断是否存在普通用户(uid>100),若无,初始为1001 int judgecount=mapper.judgeUname(); if(judgecount==0){ uinf.setUid(101); uinf.setUid(1001); } String pwd= RSAUtil.encrypt("123456", RSAUtil.getPublicKey()); uinf.setUsnid(pwd); @@ -125,9 +125,50 @@ request.getSession().setAttribute("user", userDB); return response.setII(1,true, userDB,"登录成功"); } //等出 public void logout() { Subject subject = SecurityUtils.getSubject(); subject.logout(); } //将用户添加至100~1000管理员 public Response improveRole(int uid) { //判断表是否存在 String tableName = mapper.existTable(); if(tableName==null){ ///创建100~1000的id表,不存在则创建 mapper.createNumber(); //插入默认数据 String sql=" INSERT INTO temp_numbers(unumber) " + " VALUES "; for(int i=101;i<=1000;i++){ sql+="("+i+")"; if(i!=1000){ sql+=","; } } mapper.setUnumber(sql); } String minUid=mapper.getIn1000(); if(minUid==null){ return new Response().set(1,false,"管理员个数已经用完"); } UpdateWrapper wrapper =new UpdateWrapper(); wrapper.set("uid",minUid); wrapper.eq("uid",uid); int flag= mapper.update(null,wrapper); return new Response().set(1,flag>0,flag>0?"升级管理员成功":"升级为管理员失败"); } //将管理员变成普通用户 public Response dropRole(int uid) { //查询最大的uid String maxUid=mapper.getMaxUid(); if(maxUid==null){ maxUid="1001"; } UpdateWrapper wrapper =new UpdateWrapper(); wrapper.set("uid",Integer.valueOf(maxUid)+1); wrapper.eq("uid",uid); int flag= mapper.update(null,wrapper); return new Response().set(1,flag>0,flag>0?"管理员变成普通用户成功":"管理员变成普通用户失败"); } } src/main/resources/mapper/UserInfMapper.xml
@@ -1,7 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.whyc.mapper.UserInfMapper"> <update id="createNumber"> CREATE TABLE if not exists db_user.temp_numbers (unumber INT); </update> <update id="setUnumber"> ${sql} </update> <select id="existTable" resultType="java.lang.String"> select table_name from `INFORMATION_SCHEMA`.`TABLES` where table_name = 'db_user' and TABLE_SCHEMA = 'temp_numbers' </select> <select id="selectSnId" resultType="java.lang.String"> select usnid from db_user.tb_user_inf where uname=#{uname} limit 1 @@ -12,4 +24,14 @@ <select id="getAllUser" resultType="com.whyc.pojo.UserInf"> select uid,uname,udownload_role from db_user.tb_user_inf where uid>100 </select> <select id="getIn1000" resultType="java.lang.Integer"> SELECT min(unumber) FROM db_user.temp_numbers t WHERE t.unumber NOT IN (SELECT uid FROM db_user.tb_user_inf); </select> <select id="getMaxUid" resultType="java.lang.String"> SELECT max(uid) FROM db_user.tb_user_inf </select> </mapper>