whyclxw
2024-12-20 88a34da304025257cda19d72e11a29c66e7a7822
区域
1个文件已添加
6个文件已修改
85 ■■■■ 已修改文件
src/main/java/com/whyc/controller/UserInfController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/AreaInfMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_area/AreaInf.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_user/UserInf.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AreaInfService.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserInfService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/AreaInfMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/UserInfController.java
@@ -48,8 +48,8 @@
    @ApiOperation(value = "将用户添加至100~1000管理员")
    @GetMapping("improveRole")
    public Response improveRole(@RequestParam int uid){
        return service.improveRole(uid);
    public Response improveRole(@RequestParam int uid,@RequestParam int areaId){
        return service.improveRole(uid,areaId);
    }
    @ApiOperation(value = "将管理员变成普通用户")
src/main/java/com/whyc/mapper/AreaInfMapper.java
@@ -2,5 +2,9 @@
import com.whyc.pojo.db_area.AreaInf;
import java.util.List;
public interface AreaInfMapper extends CustomMapper<AreaInf>{
    //获取区域信息
    List<AreaInf> selectAreaByUid(List areaList, int flag);
}
src/main/java/com/whyc/pojo/db_area/AreaInf.java
@@ -1,8 +1,10 @@
package com.whyc.pojo.db_area;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.whyc.pojo.db_user.UserInf;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@@ -12,6 +14,7 @@
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
 * <p>
@@ -47,10 +50,10 @@
    @ApiModelProperty(value = "区域层级")
    private Integer areaLevel;
    @ApiModelProperty(value = "区域负责人")
    private String areaUname;
    @ApiModelProperty(value = "区域描述")
    private String areaDescript;
    @TableField(exist = false)
    private List<UserInf> userInfs;
}
src/main/java/com/whyc/pojo/db_user/UserInf.java
@@ -51,6 +51,9 @@
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "管理的区域id:管理区域-1超级管理员,0普通用户")
    private Integer areaId;
    @ApiModelProperty(value = "电话号码")
    private String phoneNumber;
src/main/java/com/whyc/service/AreaInfService.java
@@ -9,6 +9,7 @@
import com.whyc.pojo.db_area.KeyInf;
import com.whyc.pojo.db_area.LockInf;
import com.whyc.pojo.db_user.UserInf;
import com.whyc.util.ActionUtil;
import com.whyc.util.PageInfoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -39,11 +40,30 @@
    //查询所有区域信息
    public Response getAllAreaInf() {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.like("area_path","武汉源畅%");
        wrapper.orderByAsc("area_path");
        List<AreaInf> list=mapper.selectList(wrapper);
        return new Response().setII(1,list!=null,list,"查询所有区域信息");
        UserInf uinf=new UserInf();
        uinf.setUname("test_admin");
        uinf.setUid(105);
        uinf.setAreaId(3);
        //UserInf uinf= ActionUtil.getUser();
        if(uinf.getUid()>100&&uinf.getUid()<=1000){
            //查询出当前用户所在区域
            QueryWrapper wrapper=new QueryWrapper();
            wrapper.eq("id",uinf.getAreaId());
            wrapper.last("limit 1");
            AreaInf ainf=mapper.selectOne(wrapper);
            List areaList=new ArrayList();
            if(ainf!=null){
                areaList.add(ainf.getId());
                getAllAreaId(ainf.getId(),areaList);
            }
            List<AreaInf> list1=mapper.selectAreaByUid(areaList,1);
            return new Response().setII(1,list1!=null,list1,"查询区域管理员的所有信息");
        }else if(uinf.getUid()>1000){
            return new Response().set(1,false,"暂无管理区域");
        }else {
            List<AreaInf> list2=mapper.selectAreaByUid(null,-1);
            return new Response().setII(1,list2!=null,list2,"查询所有区域信息");
        }
    }
    //添加区域
    public Response addArea(Integer parentId, String areaName,String areaUname,String areaDescript) {
src/main/java/com/whyc/service/UserInfService.java
@@ -168,7 +168,7 @@
        subject.logout();
    }
    //将用户添加至100~1000管理员
    public Response improveRole(int uid) {
    public Response improveRole(int uid,int areaId) {
        //判断表是否存在
        String tableName = mapper.existTable();
        if(tableName==null){
@@ -192,6 +192,7 @@
        UpdateWrapper wrapper =new UpdateWrapper();
        wrapper.set("uid",minUid);
        wrapper.set("udownload_role",1);
        wrapper.set("area_id",areaId);
        wrapper.eq("uid",uid);
        int flag= mapper.update(null,wrapper);
        return new Response().set(1,flag>0,flag>0?"身份变更成功":"身份变更失败");
@@ -212,6 +213,7 @@
        UpdateWrapper wrapper =new UpdateWrapper();
        wrapper.set("uid",Integer.valueOf(maxUid)+1);
        wrapper.set("udownload_role",0);
        wrapper.set("area_id",0);
        wrapper.eq("uid",uid);
        int flag= mapper.update(null,wrapper);
        //如果是普通用户自己强退,将用户名对应的sessionId变更
src/main/resources/mapper/AreaInfMapper.xml
New file
@@ -0,0 +1,31 @@
<?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.AreaInfMapper">
    <resultMap id="areaList" type="AreaInf">
        <id property="id" column="id"></id>
        <result property="parentId" column="parent_id"></result>
        <result property="areaName" column="area_name"></result>
        <result property="areaPath" column="area_path"></result>
        <result property="areaLevel" column="area_level"></result>
        <result property="areaDescript" column="area_descript"></result>
        <collection property="userInfs" javaType="java.util.ArrayList" ofType="com.whyc.pojo.db_user.UserInf" column="{id=id}" select="selectUinfByAreaId">
        </collection>
    </resultMap>
    <select id="selectAreaByUid" resultMap="areaList">
        select * from db_area.tb_area_inf
        <where>
            <if test="flag==1">
                id in
                <foreach collection="areaList" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by id asc
    </select>
    <select id="selectUinfByAreaId" resultType="userInf">
         select uid,uname,area_id from db_user.tb_user_inf
         where area_id=#{id}
    </select>
</mapper>