月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-07-18 340ed663ca8d8d14f29dc958c0a50103955c879c
修改资源表的相关操作类
已修改6个文件
178 ■■■■■ 文件已修改
src/main/java/com/moon/server/controller/sys/ResController.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/entity/all/StaticData.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/entity/sys/ResEntity.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/helper/HttpHelper.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/sys/ProxyService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sys/ResMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/controller/sys/ResController.java
@@ -44,44 +44,6 @@
    private final static String TAB_NAME = "lf.sys_res";
    @SysLog()
    @ApiOperation(value = "查询记录数")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", required = false, example = "")
    })
    @GetMapping({"/selectCount"})
    public ResponseMsg<Integer> selectCount(String name) {
        try {
            int count = resService.selectCount(name);
            return success(count);
        } catch (Exception ex) {
            return fail(ex, -1);
        }
    }
    @SysLog()
    @ApiOperation(value = "分页查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = ""),
            @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"),
            @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1")
    })
    @GetMapping(value = "/selectByPage")
    public ResponseMsg<List<ResEntity>> selectByPage(String name, Integer pageSize, Integer pageIndex) {
        try {
            if (pageSize < 1 || pageIndex < 1) {
                return fail("每页页数或分页数小于1", null);
            }
            List<ResEntity> rs = resService.selectByPage(name, pageSize, pageSize * (pageIndex - 1));
            return success(rs);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "分页查询并返回记录数")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = ""),
@@ -136,6 +98,19 @@
    }
    @SysLog()
    @ApiOperation(value = "查询所有")
    @GetMapping(value = "/selectAll")
    public ResponseMsg<List<ResEntity>> selectAll() {
        try {
            List<ResEntity> list = resService.selectAll();
            return success(list);
        } catch (Exception ex) {
            return fail(ex, null);
        }
    }
    @SysLog()
    @ApiOperation(value = "根据ID查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1")
src/main/java/com/moon/server/entity/all/StaticData.java
@@ -84,6 +84,8 @@
     */
    public final static String COMMA = ",";
    public final static String AK = "?ak=";
    /**
     * 单引号
     */
src/main/java/com/moon/server/entity/sys/ResEntity.java
@@ -12,13 +12,19 @@
    private int id;
    private String name;
    private int pid;
    private String cnName;
    private String enName;
    private int type;
    private int status;
    private String manufacturer;
    private int category;
    private int firm;
    private String url;
@@ -34,7 +40,9 @@
    private String img;
    private String guid;
    private int level;
    private int sort;
    private int createUser;
@@ -61,12 +69,28 @@
        this.id = id;
    }
    public String getName() {
        return name;
    public int getPid() {
        return pid;
    }
    public void setName(String name) {
        this.name = name;
    public void setPid(int pid) {
        this.pid = pid;
    }
    public String getCnName() {
        return cnName;
    }
    public void setCnName(String cnName) {
        this.cnName = cnName;
    }
    public String getEnName() {
        return enName;
    }
    public void setEnName(String enName) {
        this.enName = enName;
    }
    public int getType() {
@@ -85,12 +109,20 @@
        this.status = status;
    }
    public String getManufacturer() {
        return manufacturer;
    public int getCategory() {
        return category;
    }
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    public void setCategory(int category) {
        this.category = category;
    }
    public int getFirm() {
        return firm;
    }
    public void setFirm(int firm) {
        this.firm = firm;
    }
    public String getUrl() {
@@ -149,12 +181,20 @@
        this.img = img;
    }
    public String getGuid() {
        return guid;
    public int getLevel() {
        return level;
    }
    public void setGuid(String guid) {
        this.guid = guid;
    public void setLevel(int level) {
        this.level = level;
    }
    public int getSort() {
        return sort;
    }
    public void setSort(int sort) {
        this.sort = sort;
    }
    public int getCreateUser() {
src/main/java/com/moon/server/helper/HttpHelper.java
@@ -7,7 +7,6 @@
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.utils.URIUtils;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
@@ -22,7 +21,6 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpCookie;
import java.net.URI;
import java.net.URISyntaxException;
@@ -68,9 +66,7 @@
        // copyRequestHeaders(request, proxyRequest, host);
        //setXrForwardedForHeader(request, proxyRequest);
        //if (!StringHelper.isEmpty(cookie)) {
        //    proxyRequest.addHeader("Cookie", cookie + "; ");
        //}
        // if (!StringHelper.isEmpty(cookie)) proxyRequest.addHeader("Cookie", cookie + "; ")
        CloseableHttpClient client = null;
        HttpResponse proxyResponse = null;
@@ -282,19 +278,33 @@
        Header[] headers = proxyResponse.getHeaders("content-type");
        if (null != headers && headers.length > 0 && headers[0].getValue().contains(StaticData.TEXT_XML)) {
            String str = EntityUtils.toString(entity, "UTF-8");
            if (str.contains(res.getUrl())) {
                String proxyUrl = res.getProxy().replace("{token}", response.getHeader("token"));
                proxyUrl = request.getRequestURL().substring(0, request.getRequestURL().indexOf(proxyUrl) + proxyUrl.length());
                str = str.replace(res.getUrl(), proxyUrl);
            String str = filterStr(request, response, res, EntityUtils.toString(entity, "UTF-8"));
                byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
                response.setContentLength(bytes.length);
                outputStream.write(bytes);
            }
            byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
            response.setContentLength(bytes.length);
            outputStream.write(bytes);
            return;
        }
        entity.writeTo(outputStream);
    }
    private String filterStr(HttpServletRequest request, HttpServletResponse response, ResEntity res, String str) {
        String url = res.getUrl();
        if (url.contains(StaticData.AK)) {
            String[] strs = url.split("\\?");
            url = strs[0];
            if (!StringHelper.isEmpty(strs[1])) {
                str = str.replace("?" + strs[1], "");
            }
        }
        if (str.contains(url)) {
            String proxyUrl = res.getProxy().replace("{token}", response.getHeader("token"));
            proxyUrl = request.getRequestURL().substring(0, request.getRequestURL().indexOf(proxyUrl) + proxyUrl.length());
            str = str.replace(res.getUrl(), proxyUrl);
        }
        return str;
    }
}
src/main/java/com/moon/server/service/sys/ProxyService.java
@@ -51,6 +51,9 @@
        if (null == ue) {
            return;
        }
        if (!check(req, res, ue, token)) {
            return;
        }
        // 9.获取资源实体
        ResEntity entity = getResEntity(ue, resId);
src/main/resources/mapper/sys/ResMapper.xml
@@ -26,7 +26,7 @@
    </select>
    <select id="selectById" resultType="com.moon.server.entity.sys.ResEntity">
        select * from lf.sys_res where id = #{id}
        select * from lf.sys_res where id = #{id};
    </select>
    <select id="selectCountForRole" resultType="java.lang.Integer">
@@ -55,17 +55,17 @@
    <insert id="insert" parameterType="com.moon.server.entity.sys.ResEntity">
        insert into lf.sys_res
        (name,type,status,manufacturer,url,test,proxy,descr,depid,dirid,img,guid,create_user,create_time,bak)
        (pid,cn_name,en_name,type,status,category,firm,url,test,proxy,descr,depid,dirid,img,level,sort,create_user,create_time,bak)
        values
        (#{name},#{type},#{status},#{manufacturer},#{url},#{test},#{proxy},#{descr},#{depid},#{dirid},#{img},#{guid},#{createUser},now(),#{bak})
        (#{pid},#{cnName},#{enName},#{type},#{status},#{category},#{firm},#{url},#{test},#{proxy},#{descr},#{depid},#{dirid},#{img},#{level},#{sort},#{createUser},now(),#{bak})
    </insert>
    <insert id="inserts">
        insert into lf.sys_res
        (name,type,status,manufacturer,url,test,proxy,descr,depid,dirid,img,guid,create_user,create_time,bak)
        (pid,cn_name,en_name,type,status,category,firm,url,test,proxy,descr,depid,dirid,img,level,sort,create_user,create_time,bak)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (#{item.name},#{item.type},#{item.status},#{item.manufacturer},#{item.url},#{item.test},#{item.proxy},#{item.descr},#{item.depid},#{item.dirid},#{item.img},#{item.guid},#{item.createUser},now(),#{item.bak})
            (#{item.pid},#{item.cnName},#{item.enName},#{item.type},#{item.status},#{item.category},#{item.firm},#{item.url},#{item.test},#{item.proxy},#{item.descr},#{item.depid},#{item.dirid},#{item.img},#{item.level},#{item.sort},#{item.createUser},now(),#{item.bak})
        </foreach>
    </insert>
@@ -82,14 +82,14 @@
    <update id="update">
        update lf.sys_res
        set name=#{name},type=#{type},status=#{status},manufacturer=#{manufacturer},url=#{url},test=#{test},proxy=#{proxy},descr=#{descr},depid=#{depid},dirid=#{dirid},img=#{img},guid=#{guid},update_user=#{updateUser},update_time=now(),bak=#{bak}
        set pid=#{pid},cn_name=#{cnName},en_name=#{enName},type=#{type},status=#{status},category=#{category},firm=#{firm},url=#{url},test=#{test},proxy=#{proxy},descr=#{descr},depid=#{depid},dirid=#{dirid},img=#{img},level=#{level},sort=#{sort},update_user=#{updateUser},update_time=now(),bak=#{bak}
        where id=#{id}
    </update>
    <update id="updates">
        <foreach collection="list" item="item" index="index" separator=";">
            update lf.sys_res
            set name=#{item.name},type=#{item.type},status=#{item.status},manufacturer=#{item.manufacturer},url=#{item.url},test=#{item.test},proxy=#{item.proxy},descr=#{item.descr},depid=#{item.depid},dirid=#{item.dirid},img=#{item.img},guid=#{item.guid},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak}
            set pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},type=#{item.type},status=#{item.status},category=#{item.category},firm=#{item.firm},url=#{item.url},test=#{item.test},proxy=#{item.proxy},descr=#{item.descr},depid=#{item.depid},dirid=#{item.dirid},img=#{item.img},level=#{item.level},sort=#{item.sort},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak}
            where id = #{item.id}
        </foreach>
    </update>