From 363759daee7c8fc1c3534a5131a5bd0df2871fa3 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Fri, 8 Sep 2023 23:53:17 +0800 Subject: [PATCH] =?UTF-8?q?jimureport=201.6.2-RC=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jimureport-example/pom.xml | 5 +- .../config/JimuReportTokenService.java | 11 +++ .../jmreport/controller/TestController.java | 35 ++++++++- .../jmreport/testdb/TestRpSpringBean.java | 8 +- .../src/main/resources/application-dev.yml | 56 ++++++++++++++ .../src/main/resources/application-prod.yml | 56 ++++++++++++++ .../src/main/resources/application.yml | 50 +----------- .../src/main/resources/logback-spring.xml | 77 +++++++++++++++++++ 8 files changed, 245 insertions(+), 53 deletions(-) create mode 100644 jimureport-example/src/main/resources/application-dev.yml create mode 100644 jimureport-example/src/main/resources/application-prod.yml create mode 100644 jimureport-example/src/main/resources/logback-spring.xml diff --git a/jimureport-example/pom.xml b/jimureport-example/pom.xml index 8b40f82..c3327a3 100644 --- a/jimureport-example/pom.xml +++ b/jimureport-example/pom.xml @@ -14,7 +14,7 @@ jimureport-example 1.6 - http://jimureport.com + http://www.jimureport.com 积木报表集成示例 @@ -37,7 +37,7 @@ - 1.6.2-beta + 1.6.2-RC 1.8 8.0.3 @@ -181,6 +181,7 @@ + org.springframework.boot spring-boot-maven-plugin diff --git a/jimureport-example/src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java b/jimureport-example/src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java index c75f264..9b10896 100644 --- a/jimureport-example/src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java +++ b/jimureport-example/src/main/java/com/jeecg/modules/jmreport/config/JimuReportTokenService.java @@ -37,6 +37,17 @@ public class JimuReportTokenService implements JmReportTokenServiceI { return "admin"; } + /** + * 自定义用户拥有的角色 + * + * @param token + * @return + */ + @Override + public String[] getRoles(String token) { + return new String[]{"admin"}; + } + /** * Token校验 * @param token diff --git a/jimureport-example/src/main/java/com/jeecg/modules/jmreport/controller/TestController.java b/jimureport-example/src/main/java/com/jeecg/modules/jmreport/controller/TestController.java index 617661a..8873355 100644 --- a/jimureport-example/src/main/java/com/jeecg/modules/jmreport/controller/TestController.java +++ b/jimureport-example/src/main/java/com/jeecg/modules/jmreport/controller/TestController.java @@ -7,9 +7,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.util.Map; @RestController -@RequestMapping("/test") +@RequestMapping public class TestController { @Autowired private JdbcTemplate jdbcTemplate; @@ -17,10 +18,40 @@ public class TestController { private NamedParameterJdbcTemplate namedParameterJdbcTemplate; - @RequestMapping(value = "/list", method = RequestMethod.GET) + @RequestMapping(value = "/test/list", method = RequestMethod.GET) public void queryPageList(HttpServletRequest req) { System.out.println("getMaxRows="+jdbcTemplate.getMaxRows()); System.out.println("getCacheLimit="+namedParameterJdbcTemplate.getCacheLimit()); } + @RequestMapping(value = "/jimureport/test/getOne", method = RequestMethod.GET) + public Map getOne(HttpServletRequest req) { + return null; + } + + /** + * API示例接口 + * + * @param req + * @return + */ + @RequestMapping(value = "/jimureport/test/getList", method = RequestMethod.GET) + public String getList(HttpServletRequest req) { + String json = "{\n" + + "\t\"data\": [{\n" + + "\t\t\"ctotal\": \"125箱\",\n" + + "\t\t\"cname\": \"牛奶0\",\n" + + "\t\t\"cprice\": \"56\",\n" + + "\t\t\"riqi\": \"2021年08月11日\",\n" + + "\t\t\"id\": 100,\n" + + "\t\t\"dtotal\": \"1256箱\",\n" + + "\t\t\"tp\": \"7000\",\n" + + "\t\t\"ztotal\": \"589箱\",\n" + + "\t\t\"cnum\": \"每箱12瓶\",\n" + + "\t\t\"dId\": \"1\"\n" + + "\t}]\n" + + "}"; + return json; + } + } diff --git a/jimureport-example/src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java b/jimureport-example/src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java index 56191c2..a9c1956 100644 --- a/jimureport-example/src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java +++ b/jimureport-example/src/main/java/com/jeecg/modules/jmreport/testdb/TestRpSpringBean.java @@ -1,6 +1,7 @@ package com.jeecg.modules.jmreport.testdb; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.jmreport.common.util.OkConvertUtils; import org.jeecg.modules.jmreport.desreport.model.JmPage; import org.jeecg.modules.jmreport.api.data.IDataSetFactory; import org.springframework.stereotype.Component; @@ -51,11 +52,16 @@ public class TestRpSpringBean implements IDataSetFactory { */ @Override public JmPage createPageData(Map param) { + //默认必须有分页参数 pageSize + if(!param.containsKey("pageSize")){ + param.put("pageSize",1); + } + log.info(" 自定义javabean,有分页 :" + param); JmPage page = new JmPage(); List> ls = new ArrayList<>(); - int pageSize = Integer.parseInt(param.get("pageSize").toString()); + int pageSize = OkConvertUtils.getInt(param.get("pageSize").toString(),1); Map obj2 = new HashMap<>(); obj2.put("name", "张三"); diff --git a/jimureport-example/src/main/resources/application-dev.yml b/jimureport-example/src/main/resources/application-dev.yml new file mode 100644 index 0000000..3814972 --- /dev/null +++ b/jimureport-example/src/main/resources/application-dev.yml @@ -0,0 +1,56 @@ +server: + port: 8085 +spring: + #数据库 + datasource: + url: jdbc:mysql://${MYSQL-HOST:127.0.0.1}:${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 +#持久层框架 +minidao: + base-package: org.jeecg.modules.jmreport.* +jeecg: + # local|minio|alioss + uploadType: local + # local + path: + #文件路径 + upload: /opt/upload + # alioss + oss: + endpoint: ?? + accessKey: ?? + secretKey: ?? + bucketName: jimureport + # minio + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: ?? + #大屏报表参数设置 + jmreport: + #多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) + saasMode: + # 平台上线安全配置 + firewall: + # 数据源安全 (开启后,不允许使用平台数据源、SQL解析加签并且不允许查询数据库) + dataSourceSafe: false + # 低代码开发模式(dev:开发模式,prod:发布模式—关闭在线报表设计功能,分配角色admin、lowdeveloper可放开限制) + lowCodeMode: dev + # 展示列数 + col: 100 + # 展示行数 + row: 200 + #自定义API接口的前缀 #{api_base_path}和#{domainURL}的值 + apiBasePath: http://192.168.1.11:8085 + pageSize: + - 10 + - 20 + - 30 + - 40 +#输出sql日志 +logging: + level: + org.jeecg.modules.jmreport: info diff --git a/jimureport-example/src/main/resources/application-prod.yml b/jimureport-example/src/main/resources/application-prod.yml new file mode 100644 index 0000000..0041f2a --- /dev/null +++ b/jimureport-example/src/main/resources/application-prod.yml @@ -0,0 +1,56 @@ +server: + port: 8085 +spring: + #数据库 + datasource: + url: jdbc:mysql://${MYSQL-HOST:127.0.0.1}:${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 +#持久层框架 +minidao: + base-package: org.jeecg.modules.jmreport.* +jeecg: + # local|minio|alioss + uploadType: local + # local + path: + #文件路径 + upload: /opt/upload + # alioss + oss: + endpoint: ?? + accessKey: ?? + secretKey: ?? + bucketName: jimureport + # minio + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: ?? + #大屏报表参数设置 + jmreport: + #多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) + saasMode: created + # 平台上线安全配置 + firewall: + # 数据源安全 (开启后,不允许使用平台数据源、SQL解析加签并且不允许查询数据库) + dataSourceSafe: true + # 低代码开发模式(dev:开发模式,prod:发布模式—关闭在线报表设计功能,分配角色admin、lowdeveloper可放开限制) + lowCodeMode: prod + # 展示列数 + col: 100 + # 展示行数 + row: 200 + #自定义API接口的前缀 #{api_base_path}和#{domainURL}的值 + apiBasePath: http://192.168.1.11:8085 + pageSize: + - 10 + - 20 + - 30 + - 40 +#输出sql日志 +logging: + level: + org.jeecg.modules.jmreport: info diff --git a/jimureport-example/src/main/resources/application.yml b/jimureport-example/src/main/resources/application.yml index 49054d0..caf4dfc 100644 --- a/jimureport-example/src/main/resources/application.yml +++ b/jimureport-example/src/main/resources/application.yml @@ -1,49 +1,3 @@ -server: - port: 8085 spring: - #数据库 - datasource: - url: jdbc:mysql://${MYSQL-HOST:127.0.0.1}:${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 -jeecg : - # local|minio|alioss - uploadType: local - # local - path : - #文件路径 - upload: /opt/upload - # alioss - oss: - endpoint: ?? - accessKey: ?? - secretKey: ?? - bucketName: jimureport - # minio - minio: - minio_url: http://minio.jeecg.com - minio_name: ?? - minio_pass: ?? - bucketName: ?? - #大屏报表参数设置 - jmreport: - #只看自己的数据 - saas: false - #是否开启租户模式 Support By v1.5.5+ - openTenant: true - #安全模式(敏感接口校验、saas模式下不允许使用平台数据源) - #safeMode: true - # 列索引 - col: 100 - #接口超时设置(毫秒) - connect-timeout: 300000 - pageSize: - - 10 - - 20 - - 30 - - 40 -#输出sql日志 -logging: - level: - org.jeecg.modules.jmreport : info + profiles: + active: dev \ No newline at end of file diff --git a/jimureport-example/src/main/resources/logback-spring.xml b/jimureport-example/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..20e3d1d --- /dev/null +++ b/jimureport-example/src/main/resources/logback-spring.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n + + + + + + + + ${LOG_HOME}/jimureport-%d{yyyy-MM-dd}.%i.log + + 30 + 10MB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n + + + + + + + + ERROR + + + + %p%d%msg%M%F{32}%L + + + ${LOG_HOME}/error-log.html + + + + + + + + ${LOG_HOME}/jimureport-%d{yyyy-MM-dd}.%i.html + + 30 + 10MB + + + + %p%d%msg%M%F{32}%L + + + + + + + + + + + + + + + + + + + \ No newline at end of file