From 340ed663ca8d8d14f29dc958c0a50103955c879c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 18 七月 2023 14:44:29 +0800 Subject: [PATCH] 修改资源表的相关操作类 --- src/main/java/com/moon/server/entity/all/StaticData.java | 2 src/main/java/com/moon/server/controller/sys/ResController.java | 51 ++++------------ src/main/java/com/moon/server/service/sys/ProxyService.java | 3 + src/main/resources/mapper/sys/ResMapper.xml | 14 ++-- src/main/java/com/moon/server/entity/sys/ResEntity.java | 70 ++++++++++++++++++----- src/main/java/com/moon/server/helper/HttpHelper.java | 38 ++++++++---- 6 files changed, 104 insertions(+), 74 deletions(-) diff --git a/src/main/java/com/moon/server/controller/sys/ResController.java b/src/main/java/com/moon/server/controller/sys/ResController.java index 09fb3e1..07e4939 100644 --- a/src/main/java/com/moon/server/controller/sys/ResController.java +++ b/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") diff --git a/src/main/java/com/moon/server/entity/all/StaticData.java b/src/main/java/com/moon/server/entity/all/StaticData.java index 5e63475..6583316 100644 --- a/src/main/java/com/moon/server/entity/all/StaticData.java +++ b/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="; + /** * 鍗曞紩鍙� */ diff --git a/src/main/java/com/moon/server/entity/sys/ResEntity.java b/src/main/java/com/moon/server/entity/sys/ResEntity.java index 0b1e3e0..0bc08e0 100644 --- a/src/main/java/com/moon/server/entity/sys/ResEntity.java +++ b/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() { diff --git a/src/main/java/com/moon/server/helper/HttpHelper.java b/src/main/java/com/moon/server/helper/HttpHelper.java index 2ee36e5..68e27cc 100644 --- a/src/main/java/com/moon/server/helper/HttpHelper.java +++ b/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; + } } diff --git a/src/main/java/com/moon/server/service/sys/ProxyService.java b/src/main/java/com/moon/server/service/sys/ProxyService.java index ee18ddb..ba3987c 100644 --- a/src/main/java/com/moon/server/service/sys/ProxyService.java +++ b/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); diff --git a/src/main/resources/mapper/sys/ResMapper.xml b/src/main/resources/mapper/sys/ResMapper.xml index 3b117e4..3b1913b 100644 --- a/src/main/resources/mapper/sys/ResMapper.xml +++ b/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> -- Gitblit v1.9.3