From d62c01c6e06fb9082a37ca9c93d0ec5a1caa9e5d Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 5 Aug 2022 13:32:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8C=85=E5=90=8D=EF=BC=8C?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 +- .../JimuReportApplication.java | 2 +- .../jmreport/config/ApiArgumentsAdaptor.java | 19 ++++++ .../config/EpmetApiResultConvertAdapter.java | 61 +++++++++++++++++++ .../config/JimuReportTokenService.java | 24 +++++--- .../jmreport/controller/IndexController.java | 2 +- .../jmreport/controller/TestController.java | 2 +- .../jmreport/testdb/TestRpSpringBean.java | 2 +- src/main/resources/application.yml | 8 +-- 9 files changed, 106 insertions(+), 20 deletions(-) rename src/main/java/com/{jeecg/modules => epmet}/JimuReportApplication.java (97%) create mode 100644 src/main/java/com/epmet/jmreport/config/ApiArgumentsAdaptor.java create mode 100644 src/main/java/com/epmet/jmreport/config/EpmetApiResultConvertAdapter.java rename src/main/java/com/{jeecg/modules => epmet}/jmreport/config/JimuReportTokenService.java (51%) rename src/main/java/com/{jeecg/modules => epmet}/jmreport/controller/IndexController.java (92%) rename src/main/java/com/{jeecg/modules => epmet}/jmreport/controller/TestController.java (97%) rename src/main/java/com/{jeecg/modules => epmet}/jmreport/testdb/TestRpSpringBean.java (98%) diff --git a/pom.xml b/pom.xml index 72b4555..4d68aca 100644 --- a/pom.xml +++ b/pom.xml @@ -9,9 +9,9 @@ - jimureport-example - org.jeecg - jimureport-example + epmet-jimureport + com.epmet + epmet-jimureport 1.5 http://www.jimureport.com diff --git a/src/main/java/com/jeecg/modules/JimuReportApplication.java b/src/main/java/com/epmet/JimuReportApplication.java similarity index 97% rename from src/main/java/com/jeecg/modules/JimuReportApplication.java rename to src/main/java/com/epmet/JimuReportApplication.java index 1fdac39..ab89a8a 100644 --- a/src/main/java/com/jeecg/modules/JimuReportApplication.java +++ b/src/main/java/com/epmet/JimuReportApplication.java @@ -1,4 +1,4 @@ -package com.jeecg.modules; +package com.epmet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; diff --git a/src/main/java/com/epmet/jmreport/config/ApiArgumentsAdaptor.java b/src/main/java/com/epmet/jmreport/config/ApiArgumentsAdaptor.java new file mode 100644 index 0000000..5af07c5 --- /dev/null +++ b/src/main/java/com/epmet/jmreport/config/ApiArgumentsAdaptor.java @@ -0,0 +1,19 @@ +package com.epmet.jmreport.config;//package com.jeecg.modules.jmreport.config; +// +//import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; +//import org.springframework.http.HttpHeaders; +//import org.springframework.stereotype.Component; +// +//@Component +//public class JimuReportTokenService implements JmReportTokenServiceI { +// +// @Override +// public HttpHeaders customApiHeader() { +// HttpHeaders header = new HttpHeaders(); +// header.add("custom-header1", "Please set a custom value 1"); +// header.add("custom-header2", "Please set a custom value 2"); +// return header; +// } +// +// +//} diff --git a/src/main/java/com/epmet/jmreport/config/EpmetApiResultConvertAdapter.java b/src/main/java/com/epmet/jmreport/config/EpmetApiResultConvertAdapter.java new file mode 100644 index 0000000..af23c87 --- /dev/null +++ b/src/main/java/com/epmet/jmreport/config/EpmetApiResultConvertAdapter.java @@ -0,0 +1,61 @@ +package com.epmet.jmreport.config; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.jeecg.modules.jmreport.desreport.render.handler.convert.ApiDataConvertAdapter; +import org.springframework.stereotype.Component; + +/** + * 接口数据格式转换 + */ +@Component("epmetApiResultConvertAdapter") +public class EpmetApiResultConvertAdapter implements ApiDataConvertAdapter { + /** + * 返回list数据集 + * @param jsonObject 接口数据原始对象 + * @return + */ + @Override + public String getData(JSONObject jsonObject) { + JSONObject data = jsonObject.getJSONObject("data"); + //if (data == null) { + // // 没有数据返回 + // return null; + //} + + + JSONArray list = data.getJSONArray("list"); + return list.toJSONString(); + } + + /** + * 返回links + * @param jsonObject 接口数据原始对象 + * @return + */ + @Override + public String getLinks(JSONObject jsonObject) { + return null; + } + + /** + * 返回总页数 + * @param jsonObject 接口数据原始对象 + * @return + */ + @Override + public String getTotal(JSONObject jsonObject) { + return "10"; + } + + /** + * 返回总条数 + * @param jsonObject 接口数据原始对象 + * @return + */ + @Override + public String getCount(JSONObject jsonObject) { + JSONObject data = jsonObject.getJSONObject("data"); + return data.getString("total"); + } +} \ No newline at end of file diff --git a/src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java b/src/main/java/com/epmet/jmreport/config/JimuReportTokenService.java similarity index 51% rename from src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java rename to src/main/java/com/epmet/jmreport/config/JimuReportTokenService.java index 331dba3..acdffcc 100644 --- a/src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java +++ b/src/main/java/com/epmet/jmreport/config/JimuReportTokenService.java @@ -1,8 +1,11 @@ -package com.jeecg.modules.jmreport.config; +package com.epmet.jmreport.config; import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; @@ -15,7 +18,9 @@ import javax.servlet.http.HttpServletRequest; public class JimuReportTokenService implements JmReportTokenServiceI { /** - * 通过请求获取Token + * 通过请求获取Token(前端通过?token=xxx访问预览,预览会以X-Access-Token/token为header访问后台,然后会调用此方法) + * 然后请求业务后台api,会以X-Access-Token/token为header访问后台。 + * 注意:此方法和customApiHeader互斥,当customApiHeader被实现,这个方法仍然会被调用,但X-Access-Token/token不会在请求业务api的时候被携带了 * @param request * @return */ @@ -23,7 +28,8 @@ public class JimuReportTokenService implements JmReportTokenServiceI { public String getToken(HttpServletRequest request) { //System.out.println("---------call---------getToken-----------------------"); //return TokenUtils.getTokenByRequest(request); - return "123456"; + String authorizationToken = request.getHeader("token"); + return authorizationToken; } /** @@ -44,20 +50,20 @@ public class JimuReportTokenService implements JmReportTokenServiceI { */ @Override public Boolean verifyToken(String token) { - System.out.println("---------verify123123-----Token123123---------------"); + System.out.println("---------verify-----Token---------------"); //return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil); - return false; + return true; } /** - * 自定义请求头 + * 如果X-Access-Token/token不能自定义请求头 * @return */ @Override public HttpHeaders customApiHeader() { HttpHeaders header = new HttpHeaders(); - header.add("custom-header1", "Please set a custom value 1"); - header.add("token", "token value 2"); + header.add("Authorization", getToken()); + //header.add("Authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhcHAiOiJnb3YiLCJjbGllbnQiOiJ3ZWIiLCJleHAiOjE2NjAxODExNzcsInVzZXJJZCI6IjczYWU2MjgwZTQ2YTY2NTNhNTYwNWQ1MWQ1NDYyNzI1IiwiaWF0IjoxNjU5NTc2Mzc3fQ.XX5dAzKoUrNcSgfEEBIO7EjZdd5ooP7nK2lYgphy1J5RrgR_DOilxUmASOJ99y93uAJluW66J6YyqaLtJ7vEmQ"); return header; } -} +} \ No newline at end of file diff --git a/src/main/java/com/jeecg/modules/jmreport/controller/IndexController.java b/src/main/java/com/epmet/jmreport/controller/IndexController.java similarity index 92% rename from src/main/java/com/jeecg/modules/jmreport/controller/IndexController.java rename to src/main/java/com/epmet/jmreport/controller/IndexController.java index b03bab5..4e11e00 100644 --- a/src/main/java/com/jeecg/modules/jmreport/controller/IndexController.java +++ b/src/main/java/com/epmet/jmreport/controller/IndexController.java @@ -1,4 +1,4 @@ -package com.jeecg.modules.jmreport.controller; +package com.epmet.jmreport.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/com/jeecg/modules/jmreport/controller/TestController.java b/src/main/java/com/epmet/jmreport/controller/TestController.java similarity index 97% rename from src/main/java/com/jeecg/modules/jmreport/controller/TestController.java rename to src/main/java/com/epmet/jmreport/controller/TestController.java index a5439dd..e38fcdb 100644 --- a/src/main/java/com/jeecg/modules/jmreport/controller/TestController.java +++ b/src/main/java/com/epmet/jmreport/controller/TestController.java @@ -1,4 +1,4 @@ -package com.jeecg.modules.jmreport.controller; +package com.epmet.jmreport.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; diff --git a/src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java b/src/main/java/com/epmet/jmreport/testdb/TestRpSpringBean.java similarity index 98% rename from src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java rename to src/main/java/com/epmet/jmreport/testdb/TestRpSpringBean.java index 56191c2..e8837b6 100644 --- a/src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java +++ b/src/main/java/com/epmet/jmreport/testdb/TestRpSpringBean.java @@ -1,4 +1,4 @@ -package com.jeecg.modules.jmreport.testdb; +package com.epmet.jmreport.testdb; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.jmreport.desreport.model.JmPage; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d1b0884..a2a4dfb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,9 +1,9 @@ server: - port: 8085 + port: 8118 spring: #数据库 datasource: - url: jdbc:mysql://${MYSQL-HOST:192.168.1.140}:${MYSQL-PORT:3306}/${MYSQL-DB:jimureport}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + url: jdbc:mysql://${MYSQL-HOST:localhost}:${MYSQL-PORT:3306}/${MYSQL-DB:jimureport}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver @@ -13,7 +13,7 @@ jeecg : # local path : #文件路径 - upload: /opt/upload + upload: /opt/jimureport_upload # alioss oss: endpoint: ?? @@ -29,4 +29,4 @@ jeecg : #输出sql日志 logging: level: - org.jeecg.modules.jmreport : debug + org.epmet.jmreport : debug