月球大数据地理空间分析展示平台-【后端】-月球后台服务
1
13693261870
2023-08-09 c7cd444e95f0193f363576340bbe2fe0b82d0fb0
1
已修改8个文件
112 ■■■■ 文件已修改
src/main/java/com/moon/server/controller/all/PermsController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/controller/sys/RoleLayerController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/entity/sys/RoleLayerEntity.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/mapper/sys/LayerMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/all/PermsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/sys/LayerService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sys/LayerMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sys/RoleLayerMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/controller/all/PermsController.java
@@ -1,6 +1,7 @@
package com.moon.server.controller.all;
import com.moon.server.annotation.SysLog;
import com.moon.server.entity.sys.LayerEntity;
import com.moon.server.entity.sys.MenuEntity;
import com.moon.server.entity.sys.ResEntity;
import com.moon.server.entity.sys.UserEntity;
@@ -38,6 +39,25 @@
    @Autowired
    LayerService layerService;
    @SysLog()
    @ApiOperation(value = "查询当前用户的资源授权")
    @GetMapping(value = "/selectLayers")
    public ResponseMsg<Object> selectLayers(HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            String uid = StaticData.ADMIN.equals(ue.getUid()) ? null : ue.getUid();
            List<LayerEntity> rs = layerService.selectLayers(uid);
            return success(rs);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "查询当前用户的资源授权")
@@ -180,22 +200,4 @@
            return fail(ex, null);
        }
    }
    /*@SysLog()
    @ApiOperation(value = "查询所有图层")
    @GetMapping(value = "/selectLayers")
    public ResponseMsg<Object> selectLayers(HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<LayerEntity> list = layerService.selectAll();
            return success(list);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }*/
}
src/main/java/com/moon/server/controller/sys/RoleLayerController.java
@@ -37,7 +37,7 @@
    PermsService permsService;
    @SysLog()
    @ApiOperation(value = "根据角色ID查询资源")
    @ApiOperation(value = "根据角色ID查询图层")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "roleid", value = "角色ID", dataType = "Integer", paramType = "query", example = "1")
    })
src/main/java/com/moon/server/entity/sys/RoleLayerEntity.java
@@ -1,7 +1,5 @@
package com.moon.server.entity.sys;
import io.swagger.models.auth.In;
import java.io.Serializable;
import java.sql.Timestamp;
@@ -12,7 +10,7 @@
public class RoleLayerEntity implements Serializable {
    private static final long serialVersionUID = -773018130926889472L;
    private int id;
    private Integer id;
    private int roleid;
@@ -30,7 +28,7 @@
    private String enName;
    private Integer type;
    private Integer isLayer;
    private Integer pid;
@@ -41,11 +39,11 @@
    public RoleLayerEntity() {
    }
    public int getId() {
    public Integer getId() {
        return id;
    }
    public void setId(int id) {
    public void setId(Integer id) {
        this.id = id;
    }
@@ -113,12 +111,12 @@
        this.enName = enName;
    }
    public Integer getType() {
        return type;
    public Integer getIsLayer() {
        return isLayer;
    }
    public void setType(Integer type) {
        this.type = type;
    public void setIsLayer(Integer isLayer) {
        this.isLayer = isLayer;
    }
    public Integer getPid() {
src/main/java/com/moon/server/mapper/sys/LayerMapper.java
@@ -14,6 +14,14 @@
@Repository
public interface LayerMapper {
    /**
     * 根据用户ID查询图层列表
     *
     * @param uid 用户ID
     * @return 图层列表
     */
    public List<LayerEntity> selectLayers(String uid);
    /**
     * 查询记录数
     *
     * @param name 名称
src/main/java/com/moon/server/service/all/PermsService.java
@@ -111,7 +111,7 @@
    }
    /**
     * 清除权限缓存
     * 清除授权缓存
     */
    public void clearPermsCache() {
        redisService.clearKeys(RedisCacheKey.permsRootKey());
src/main/java/com/moon/server/service/sys/LayerService.java
@@ -1,12 +1,18 @@
package com.moon.server.service.sys;
import com.moon.server.entity.all.RedisCacheKey;
import com.moon.server.entity.all.SettingData;
import com.moon.server.entity.sys.LayerEntity;
import com.moon.server.entity.sys.ResEntity;
import com.moon.server.helper.StringHelper;
import com.moon.server.mapper.sys.LayerMapper;
import com.moon.server.service.all.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
 * 图层
@@ -14,9 +20,28 @@
 */
@Service
public class LayerService implements LayerMapper {
    @Autowired
    @Resource
    LayerMapper layerMapper;
    @Resource
    RedisService redisService;
    @Override
    public List<LayerEntity> selectLayers(String uid) {
        String key = RedisCacheKey.permsLayerKey(uid);
        Object obj = redisService.get(key);
        if (obj instanceof List<?>) {
            return (List<LayerEntity>) obj;
        }
        List<LayerEntity> list = layerMapper.selectLayers(uid);
        if (list != null && list.size() > 0) {
            redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES);
        }
        return list;
    }
    @Override
    public Integer selectCount(String name) {
        name = StringHelper.getLikeUpperStr(name);
src/main/resources/mapper/sys/LayerMapper.xml
@@ -1,6 +1,21 @@
<?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.moon.server.mapper.sys.LayerMapper">
    <select id="selectLayers" resultType="com.moon.server.entity.sys.LayerEntity">
        select distinct d.*
        from lf.sys_user a
        inner join lf.sys_role_user b on a.id = b.userid
        inner join lf.sys_role_res c on b.roleid = c.roleid
        inner join lf.sys_res d on c.resid = d.id
        <where>
            d.status = 1
            <if test="uid != null">
                and a.uid = #{uid}
            </if>
        </where>
        order by d.id;
    </select>
    <select id="selectCount" resultType="java.lang.Integer">
        select count(*) from lf.sys_layer
        <where>
src/main/resources/mapper/sys/RoleLayerMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.moon.server.mapper.sys.RoleLayerMapper">
    <select id="selectLayersByRole" resultType="com.moon.server.entity.sys.RoleLayerEntity">
        with rs as (select id, layerid from lf.sys_role_layer where roleid = #{roleid})
        select (select id from rs b where b.layerid = a.id) "id", a.id "layerid", a.cn_name, a.en_name, a.type, a.pid, a.level, a.order_num
        select (select id from rs b where b.layerid = a.id) "id", a.id "layerid", a.cn_name, a.en_name, a.is_layer, a.pid, a.level, a.order_num
        from lf.sys_layer a
        order by a.id;
    </select>