🎉 3.7.0.RELEASE Token加密传输

This commit is contained in:
smallchill 2023-09-12 02:00:24 +08:00
parent fd5135e3a5
commit abc412290c
49 changed files with 225 additions and 233 deletions

View File

@ -176,7 +176,7 @@ recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within the same "printed page" as the copyright notice for easier identification within
third-party archives. third-party archives.
Copyright 2023 BladeX (https://bladex.vip) Copyright 2023 BladeX (https://bladex.cn)
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -1,13 +1,13 @@
<p align="center"> <p align="center">
<img src="https://img.shields.io/badge/Release-V3.6.0-green.svg" alt="Downloads"> <img src="https://img.shields.io/badge/Release-V3.7.0-green.svg" alt="Downloads">
<img src="https://img.shields.io/badge/JDK-1.8+-green.svg" alt="Build Status"> <img src="https://img.shields.io/badge/JDK-1.8+-green.svg" alt="Build Status">
<img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status"> <img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status">
<img src="https://img.shields.io/badge/Spring%20Cloud-2021-blue.svg" alt="Coverage Status"> <img src="https://img.shields.io/badge/Spring%20Cloud-2021-blue.svg" alt="Coverage Status">
<img src="https://img.shields.io/badge/Spring%20Boot-2.7.10-blue.svg" alt="Downloads"> <img src="https://img.shields.io/badge/Spring%20Boot-2.7.10-blue.svg" alt="Downloads">
<a target="_blank" href="https://bladex.vip"> <a target="_blank" href="https://bladex.cn">
<img src="https://img.shields.io/badge/Author-Small%20Chill-ff69b4.svg" alt="Downloads"> <img src="https://img.shields.io/badge/Author-Small%20Chill-ff69b4.svg" alt="Downloads">
</a> </a>
<a target="_blank" href="https://bladex.vip"> <a target="_blank" href="https://bladex.cn">
<img src="https://img.shields.io/badge/Copyright%20-@BladeX-%23ff3f59.svg" alt="Downloads"> <img src="https://img.shields.io/badge/Copyright%20-@BladeX-%23ff3f59.svg" alt="Downloads">
</a> </a>
</p> </p>
@ -53,8 +53,8 @@ SpringBlade
``` ```
## 官方信息 ## 官方信息
* 官网地址:[https://bladex.vip](https://bladex.vip) * 官网地址:[https://bladex.cn](https://bladex.cn)
* 问答社区:[https://sns.bladex.vip](https://sns.bladex.vip) * 问答社区:[https://sns.bladex.cn](https://sns.bladex.cn)
* 会员计划:[SpringBlade会员计划](https://gitee.com/smallc/SpringBlade/wikis/SpringBlade会员计划) * 会员计划:[SpringBlade会员计划](https://gitee.com/smallc/SpringBlade/wikis/SpringBlade会员计划)
* 交流一群:`477853168`(满) * 交流一群:`477853168`(满)
* 交流二群:`751253339`(满) * 交流二群:`751253339`(满)
@ -65,15 +65,15 @@ SpringBlade
* 交流七群:`298061704` * 交流七群:`298061704`
## 在线演示 ## 在线演示
* Saber-基于Vue[https://saber.bladex.vip](https://saber.bladex.vip) * Saber-基于Vue[https://saber.bladex.cn](https://saber.bladex.cn)
* Sword-基于React[https://sword.bladex.vip](https://sword.bladex.vip) * Sword-基于React[https://sword.bladex.cn](https://sword.bladex.cn)
## 数据大屏 ## 数据大屏
* 数据大屏展示系统:[https://data.bladex.vip](https://data.bladex.vip) * 数据大屏展示系统:[https://data.bladex.cn](https://data.bladex.cn)
## 技术文档 ## 技术文档
* [SpringBlade开发手册一览](https://gitee.com/smallc/SpringBlade/wikis/SpringBlade开发手册) * [SpringBlade开发手册一览](https://gitee.com/smallc/SpringBlade/wikis/SpringBlade开发手册)
* [SpringBlade常见问题集锦](https://sns.bladex.vip/article-14966.html) * [SpringBlade常见问题集锦](https://sns.bladex.cn/article-14966.html)
* [SpringBlade基于Kuboard部署K8S](https://kuboard.cn/learning/k8s-practice/spring-blade/) * [SpringBlade基于Kuboard部署K8S](https://kuboard.cn/learning/k8s-practice/spring-blade/)
* [SpringBlade基于Rainbond部署](https://www.rainbond.com/docs/micro-service/example/blade) * [SpringBlade基于Rainbond部署](https://www.rainbond.com/docs/micro-service/example/blade)
@ -103,7 +103,7 @@ Apache Licence也是对商业应用友好的许可。使用者也可以在需要
# 界面 # 界面
## [BladeX](https://bladex.vip/#/vip) 工作流一览 ## [BladeX](https://bladex.cn/#/vip) 工作流一览
<table> <table>
<tr> <tr>
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/bladex-flow1.png"/></td> <td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/bladex-flow1.png"/></td>

View File

@ -8,7 +8,7 @@
<parent> <parent>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<artifactId>blade-auth</artifactId> <artifactId>blade-auth</artifactId>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,13 +5,13 @@
<parent> <parent>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>blade-ops</artifactId> <artifactId>blade-ops</artifactId>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
<version>3.6.0</version> <version>3.7.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>blade-admin</module> <module>blade-admin</module>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -36,7 +36,7 @@ import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "DictVO对象", description = "DictVO对象") @ApiModel(value = "DictVO对象", description = "DictVO对象")
public class DictVO extends Dict implements INode { public class DictVO extends Dict implements INode<DictVO> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 主键ID * 主键ID
@ -54,10 +54,10 @@ public class DictVO extends Dict implements INode {
* 子孙节点 * 子孙节点
*/ */
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<INode> children; private List<DictVO> children;
@Override @Override
public List<INode> getChildren() { public List<DictVO> getChildren() {
if (this.children == null) { if (this.children == null) {
this.children = new ArrayList<>(); this.children = new ArrayList<>();
} }

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -35,7 +35,7 @@ import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "DeptVO对象", description = "DeptVO对象") @ApiModel(value = "DeptVO对象", description = "DeptVO对象")
public class DeptVO extends Dept implements INode { public class DeptVO extends Dept implements INode<DeptVO> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
@ -54,10 +54,10 @@ public class DeptVO extends Dept implements INode {
* 子孙节点 * 子孙节点
*/ */
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<INode> children; private List<DeptVO> children;
@Override @Override
public List<INode> getChildren() { public List<DeptVO> getChildren() {
if (this.children == null) { if (this.children == null) {
this.children = new ArrayList<>(); this.children = new ArrayList<>();
} }

View File

@ -35,7 +35,7 @@ import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MenuVO对象", description = "MenuVO对象") @ApiModel(value = "MenuVO对象", description = "MenuVO对象")
public class MenuVO extends Menu implements INode { public class MenuVO extends Menu implements INode<MenuVO> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
@ -54,7 +54,7 @@ public class MenuVO extends Menu implements INode {
* 子孙节点 * 子孙节点
*/ */
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<INode> children; private List<MenuVO> children;
/** /**
* 是否有子孙节点 * 是否有子孙节点
@ -63,7 +63,7 @@ public class MenuVO extends Menu implements INode {
private Boolean hasChildren; private Boolean hasChildren;
@Override @Override
public List<INode> getChildren() { public List<MenuVO> getChildren() {
if (this.children == null) { if (this.children == null) {
this.children = new ArrayList<>(); this.children = new ArrayList<>();
} }

View File

@ -36,7 +36,7 @@ import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "RegionVO对象", description = "行政区划表") @ApiModel(value = "RegionVO对象", description = "行政区划表")
public class RegionVO extends Region implements INode { public class RegionVO extends Region implements INode<RegionVO> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
@ -66,7 +66,7 @@ public class RegionVO extends Region implements INode {
* 子孙节点 * 子孙节点
*/ */
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<INode> children; private List<RegionVO> children;
@Override @Override
public Long getId() { public Long getId() {
@ -79,7 +79,7 @@ public class RegionVO extends Region implements INode {
} }
@Override @Override
public List<INode> getChildren() { public List<RegionVO> getChildren() {
if (this.children == null) { if (this.children == null) {
this.children = new ArrayList<>(); this.children = new ArrayList<>();
} }

View File

@ -35,7 +35,7 @@ import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "RoleVO对象", description = "RoleVO对象") @ApiModel(value = "RoleVO对象", description = "RoleVO对象")
public class RoleVO extends Role implements INode { public class RoleVO extends Role implements INode<RoleVO> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
@ -54,10 +54,10 @@ public class RoleVO extends Role implements INode {
* 子孙节点 * 子孙节点
*/ */
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<INode> children; private List<RoleVO> children;
@Override @Override
public List<INode> getChildren() { public List<RoleVO> getChildren() {
if (this.children == null) { if (this.children == null) {
this.children = new ArrayList<>(); this.children = new ArrayList<>();
} }

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,13 +5,13 @@
<parent> <parent>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>blade-service-api</artifactId> <artifactId>blade-service-api</artifactId>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
<version>3.6.0</version> <version>3.7.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<description>SpringBlade 微服务API集合</description> <description>SpringBlade 微服务API集合</description>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service</artifactId> <artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -34,7 +34,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api(value = "配置接口", tags = "即时刷新配置") @Api(value = "配置接口", tags = "即时刷新配置")
public class DemoController { public class DemoController {
@Value("${demo.name}") @Value("${demo.name:1}")
private String name; private String name;
private final DemoProperties properties; private final DemoProperties properties;

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>blade-service</artifactId> <artifactId>blade-service</artifactId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -55,4 +55,124 @@ public class DashBoardController {
return R.data(list); return R.data(list);
} }
/**
* 获取消息
*
* @return
*/
@GetMapping("/notices")
@ApiOperation(value = "消息", notes = "消息")
public R notices() {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map1 = new HashMap<>(16);
map1.put("logo", "https://spring.io/img/homepage/icon-spring-framework.svg");
map1.put("title", "SpringBoot");
map1.put("description", "现在的web项目几乎都会用到spring框架而要使用spring难免需要配置大量的xml配置文件而 springboot的出现解 决了这一问题一个项目甚至不用部署到服务器上直接开跑真像springboot所说“just run”。");
map1.put("member", "Chill");
map1.put("href", "http://spring.io/projects/spring-boot");
list.add(map1);
Map<String, String> map2 = new HashMap<>(16);
map2.put("logo", "https://spring.io/img/homepage/icon-spring-cloud.svg");
map2.put("title", "SpringCloud");
map2.put("description", "SpringCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。");
map2.put("member", "Chill");
map2.put("href", "http://spring.io/projects/spring-cloud");
list.add(map2);
Map<String, String> map3 = new HashMap<>(16);
map3.put("logo", "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1546359961068&di=05ff9406e6675ca9a58a525a7e7950b9&imgtype=jpg&src=http%3A%2F%2Fimg0.imgtn.bdimg.com%2Fit%2Fu%3D575314515%2C4268715674%26fm%3D214%26gp%3D0.jpg");
map3.put("title", "Mybatis");
map3.put("description", "MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。");
map3.put("member", "Chill");
map3.put("href", "http://www.mybatis.org/mybatis-3/getting-started.html");
list.add(map3);
Map<String, String> map4 = new HashMap<>(16);
map4.put("logo", "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png");
map4.put("title", "React");
map4.put("description", "React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架都不满意就决定自己写一套用来架设Instagram 的网站。做出来以后发现这套东西很好用就在2013年5月开源了。");
map4.put("member", "Chill");
map4.put("href", "https://reactjs.org/");
list.add(map4);
Map<String, String> map5 = new HashMap<>(16);
map5.put("logo", "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png");
map5.put("title", "Ant Design");
map5.put("description", "蚂蚁金服体验技术部经过大量的项目实践和总结,沉淀出设计语言 Ant Design这可不单纯只是设计原则、控件规范和视觉尺寸还配套有前端代码实现方案。也就是说采用Ant Design后UI设计和前端界面研发可同步完成效率大大提升。");
map5.put("member", "Chill");
map5.put("href", "https://ant.design/docs/spec/introduce-cn");
list.add(map5);
Map<String, String> map6 = new HashMap<>(16);
map6.put("logo", "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png");
map6.put("title", "Ant Design Pro");
map6.put("description", "Ant Design Pro 是一个企业级开箱即用的中后台前端/设计解决方案。符合阿里追求的'敏捷的前端+强大的中台'的思想。");
map6.put("member", "Chill");
map6.put("href", "https://pro.ant.design");
list.add(map6);
return R.data(list);
}
/**
* 获取我的消息
*
* @return
*/
@GetMapping("/my-notices")
@ApiOperation(value = "消息", notes = "消息")
public R myNotices() {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map1 = new HashMap<>(16);
map1.put("id", "000000001");
map1.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png");
map1.put("title", "你收到了 14 份新周报");
map1.put("datetime", "2018-08-09");
map1.put("type", "notification");
list.add(map1);
Map<String, String> map2 = new HashMap<>(16);
map2.put("id", "000000002");
map2.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png");
map2.put("title", "你推荐的 曲妮妮 已通过第三轮面试");
map2.put("datetime", "2018-08-08");
map2.put("type", "notification");
list.add(map2);
Map<String, String> map3 = new HashMap<>(16);
map3.put("id", "000000003");
map3.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg");
map3.put("title", "曲丽丽 评论了你");
map3.put("description", "描述信息描述信息描述信息");
map3.put("datetime", "2018-08-07");
map3.put("type", "message");
map3.put("clickClose", "true");
list.add(map3);
Map<String, String> map4 = new HashMap<>(16);
map4.put("id", "000000004");
map4.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg");
map4.put("title", "朱偏右 回复了你");
map4.put("description", "这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像");
map4.put("type", "message");
map4.put("datetime", "2018-08-07");
map4.put("clickClose", "true");
list.add(map4);
Map<String, String> map5 = new HashMap<>(16);
map5.put("id", "000000005");
map5.put("title", "任务名称");
map5.put("description", "任务需要在 2018-01-12 20:00 前启动");
map5.put("extra", "未开始");
map5.put("status", "todo");
map5.put("type", "event");
list.add(map5);
return R.data(list);
}
} }

View File

@ -23,7 +23,9 @@ import org.springblade.common.cache.CacheNames;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.entity.Notice; import org.springblade.desk.entity.Notice;
import org.springblade.desk.service.INoticeService; import org.springblade.desk.service.INoticeService;
@ -32,9 +34,6 @@ import org.springblade.desk.wrapper.NoticeWrapper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -43,6 +42,7 @@ import java.util.Map;
* @author Chill * @author Chill
* @since 2018-09-29 * @since 2018-09-29
*/ */
@PreAuth(RoleConstant.HAS_CRYPTO)
@RestController @RestController
@RequestMapping("notice") @RequestMapping("notice")
@AllArgsConstructor @AllArgsConstructor
@ -118,125 +118,4 @@ public class NoticeController extends BladeController implements CacheNames {
return R.status(temp); return R.status(temp);
} }
/**
* 获取消息
*
* @return
*/
@GetMapping("/notices")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "消息", notes = "消息")
public R notices() {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map1 = new HashMap<>(16);
map1.put("logo", "https://spring.io/img/homepage/icon-spring-framework.svg");
map1.put("title", "SpringBoot");
map1.put("description", "现在的web项目几乎都会用到spring框架而要使用spring难免需要配置大量的xml配置文件而 springboot的出现解 决了这一问题一个项目甚至不用部署到服务器上直接开跑真像springboot所说“just run”。");
map1.put("member", "Chill");
map1.put("href", "http://spring.io/projects/spring-boot");
list.add(map1);
Map<String, String> map2 = new HashMap<>(16);
map2.put("logo", "https://spring.io/img/homepage/icon-spring-cloud.svg");
map2.put("title", "SpringCloud");
map2.put("description", "SpringCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。");
map2.put("member", "Chill");
map2.put("href", "http://spring.io/projects/spring-cloud");
list.add(map2);
Map<String, String> map3 = new HashMap<>(16);
map3.put("logo", "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1546359961068&di=05ff9406e6675ca9a58a525a7e7950b9&imgtype=jpg&src=http%3A%2F%2Fimg0.imgtn.bdimg.com%2Fit%2Fu%3D575314515%2C4268715674%26fm%3D214%26gp%3D0.jpg");
map3.put("title", "Mybatis");
map3.put("description", "MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。");
map3.put("member", "Chill");
map3.put("href", "http://www.mybatis.org/mybatis-3/getting-started.html");
list.add(map3);
Map<String, String> map4 = new HashMap<>(16);
map4.put("logo", "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png");
map4.put("title", "React");
map4.put("description", "React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架都不满意就决定自己写一套用来架设Instagram 的网站。做出来以后发现这套东西很好用就在2013年5月开源了。");
map4.put("member", "Chill");
map4.put("href", "https://reactjs.org/");
list.add(map4);
Map<String, String> map5 = new HashMap<>(16);
map5.put("logo", "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png");
map5.put("title", "Ant Design");
map5.put("description", "蚂蚁金服体验技术部经过大量的项目实践和总结,沉淀出设计语言 Ant Design这可不单纯只是设计原则、控件规范和视觉尺寸还配套有前端代码实现方案。也就是说采用Ant Design后UI设计和前端界面研发可同步完成效率大大提升。");
map5.put("member", "Chill");
map5.put("href", "https://ant.design/docs/spec/introduce-cn");
list.add(map5);
Map<String, String> map6 = new HashMap<>(16);
map6.put("logo", "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png");
map6.put("title", "Ant Design Pro");
map6.put("description", "Ant Design Pro 是一个企业级开箱即用的中后台前端/设计解决方案。符合阿里追求的'敏捷的前端+强大的中台'的思想。");
map6.put("member", "Chill");
map6.put("href", "https://pro.ant.design");
list.add(map6);
return R.data(list);
}
/**
* 获取我的消息
*
* @return
*/
@GetMapping("/my-notices")
@ApiOperation(value = "消息", notes = "消息")
public R myNotices() {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map1 = new HashMap<>(16);
map1.put("id", "000000001");
map1.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png");
map1.put("title", "你收到了 14 份新周报");
map1.put("datetime", "2018-08-09");
map1.put("type", "notification");
list.add(map1);
Map<String, String> map2 = new HashMap<>(16);
map2.put("id", "000000002");
map2.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png");
map2.put("title", "你推荐的 曲妮妮 已通过第三轮面试");
map2.put("datetime", "2018-08-08");
map2.put("type", "notification");
list.add(map2);
Map<String, String> map3 = new HashMap<>(16);
map3.put("id", "000000003");
map3.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg");
map3.put("title", "曲丽丽 评论了你");
map3.put("description", "描述信息描述信息描述信息");
map3.put("datetime", "2018-08-07");
map3.put("type", "message");
map3.put("clickClose", "true");
list.add(map3);
Map<String, String> map4 = new HashMap<>(16);
map4.put("id", "000000004");
map4.put("avatar", "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg");
map4.put("title", "朱偏右 回复了你");
map4.put("description", "这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像");
map4.put("type", "message");
map4.put("datetime", "2018-08-07");
map4.put("clickClose", "true");
list.add(map4);
Map<String, String> map5 = new HashMap<>(16);
map5.put("id", "000000005");
map5.put("title", "任务名称");
map5.put("description", "任务需要在 2018-01-12 20:00 前启动");
map5.put("extra", "未开始");
map5.put("status", "todo");
map5.put("type", "event");
list.add(map5);
return R.data(list);
}
} }

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service</artifactId> <artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service</artifactId> <artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -24,7 +24,6 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.system.entity.Dept; import org.springblade.system.entity.Dept;
import org.springblade.system.service.IDeptService; import org.springblade.system.service.IDeptService;
@ -71,7 +70,7 @@ public class DeptController extends BladeController {
}) })
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@ApiOperation(value = "列表", notes = "传入dept") @ApiOperation(value = "列表", notes = "传入dept")
public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) { public R<List<DeptVO>> list(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) {
QueryWrapper<Dept> queryWrapper = Condition.getQueryWrapper(dept, Dept.class); QueryWrapper<Dept> queryWrapper = Condition.getQueryWrapper(dept, Dept.class);
List<Dept> list = deptService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Dept::getTenantId, bladeUser.getTenantId()) : queryWrapper); List<Dept> list = deptService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Dept::getTenantId, bladeUser.getTenantId()) : queryWrapper);
return R.data(DeptWrapper.build().listNodeVO(list)); return R.data(DeptWrapper.build().listNodeVO(list));

View File

@ -21,7 +21,6 @@ import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.system.entity.Dict; import org.springblade.system.entity.Dict;
import org.springblade.system.service.IDictService; import org.springblade.system.service.IDictService;
@ -72,8 +71,7 @@ public class DictController extends BladeController {
}) })
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@ApiOperation(value = "列表", notes = "传入dict") @ApiOperation(value = "列表", notes = "传入dict")
public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> dict) { public R<List<DictVO>> list(@ApiIgnore @RequestParam Map<String, Object> dict) {
@SuppressWarnings("unchecked")
List<Dict> list = dictService.list(Condition.getQueryWrapper(dict, Dict.class).lambda().orderByAsc(Dict::getSort)); List<Dict> list = dictService.list(Condition.getQueryWrapper(dict, Dict.class).lambda().orderByAsc(Dict::getSort));
return R.data(DictWrapper.build().listNodeVO(list)); return R.data(DictWrapper.build().listNodeVO(list));
} }

View File

@ -24,7 +24,6 @@ import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.node.INode;
import org.springblade.system.entity.Region; import org.springblade.system.entity.Region;
import org.springblade.system.service.IRegionService; import org.springblade.system.service.IRegionService;
import org.springblade.system.vo.RegionVO; import org.springblade.system.vo.RegionVO;
@ -81,8 +80,8 @@ public class RegionController extends BladeController {
}) })
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@ApiOperation(value = "懒加载列表", notes = "传入menu") @ApiOperation(value = "懒加载列表", notes = "传入menu")
public R<List<INode>> lazyList(String parentCode, @ApiIgnore @RequestParam Map<String, Object> menu) { public R<List<RegionVO>> lazyList(String parentCode, @ApiIgnore @RequestParam Map<String, Object> menu) {
List<INode> list = regionService.lazyList(parentCode, menu); List<RegionVO> list = regionService.lazyList(parentCode, menu);
return R.data(RegionWrapper.build().listNodeLazyVO(list)); return R.data(RegionWrapper.build().listNodeLazyVO(list));
} }
@ -96,8 +95,8 @@ public class RegionController extends BladeController {
}) })
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
@ApiOperation(value = "懒加载列表", notes = "传入menu") @ApiOperation(value = "懒加载列表", notes = "传入menu")
public R<List<INode>> lazyTree(String parentCode, @ApiIgnore @RequestParam Map<String, Object> menu) { public R<List<RegionVO>> lazyTree(String parentCode, @ApiIgnore @RequestParam Map<String, Object> menu) {
List<INode> list = regionService.lazyTree(parentCode, menu); List<RegionVO> list = regionService.lazyTree(parentCode, menu);
return R.data(RegionWrapper.build().listNodeLazyVO(list)); return R.data(RegionWrapper.build().listNodeLazyVO(list));
} }

View File

@ -24,7 +24,6 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.CacheUtil; import org.springblade.core.tool.utils.CacheUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.system.entity.Role; import org.springblade.system.entity.Role;
@ -75,7 +74,7 @@ public class RoleController extends BladeController {
}) })
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@ApiOperation(value = "列表", notes = "传入role") @ApiOperation(value = "列表", notes = "传入role")
public R<List<INode>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) { public R<List<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) {
QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class); QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class);
List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper); List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper);
return R.data(RoleWrapper.build().listNodeVO(list)); return R.data(RoleWrapper.build().listNodeVO(list));

View File

@ -16,8 +16,8 @@
package org.springblade.system.mapper; package org.springblade.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.core.tool.node.INode;
import org.springblade.system.entity.Region; import org.springblade.system.entity.Region;
import org.springblade.system.vo.RegionVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -36,7 +36,7 @@ public interface RegionMapper extends BaseMapper<Region> {
* @param param * @param param
* @return * @return
*/ */
List<INode> lazyList(String parentCode, Map<String, Object> param); List<RegionVO> lazyList(String parentCode, Map<String, Object> param);
/** /**
* 懒加载列表 * 懒加载列表
@ -45,6 +45,6 @@ public interface RegionMapper extends BaseMapper<Region> {
* @param param * @param param
* @return * @return
*/ */
List<INode> lazyTree(String parentCode, Map<String, Object> param); List<RegionVO> lazyTree(String parentCode, Map<String, Object> param);
} }

View File

@ -16,8 +16,8 @@
package org.springblade.system.service; package org.springblade.system.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.tool.node.INode;
import org.springblade.system.entity.Region; import org.springblade.system.entity.Region;
import org.springblade.system.vo.RegionVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -52,7 +52,7 @@ public interface IRegionService extends IService<Region> {
* @param param * @param param
* @return * @return
*/ */
List<INode> lazyList(String parentCode, Map<String, Object> param); List<RegionVO> lazyList(String parentCode, Map<String, Object> param);
/** /**
* 懒加载列表 * 懒加载列表
@ -61,6 +61,6 @@ public interface IRegionService extends IService<Region> {
* @param param * @param param
* @return * @return
*/ */
List<INode> lazyTree(String parentCode, Map<String, Object> param); List<RegionVO> lazyTree(String parentCode, Map<String, Object> param);
} }

View File

@ -18,12 +18,12 @@ package org.springblade.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringPool;
import org.springblade.system.entity.Region; import org.springblade.system.entity.Region;
import org.springblade.system.mapper.RegionMapper; import org.springblade.system.mapper.RegionMapper;
import org.springblade.system.service.IRegionService; import org.springblade.system.service.IRegionService;
import org.springblade.system.vo.RegionVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -87,12 +87,12 @@ public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> impleme
} }
@Override @Override
public List<INode> lazyList(String parentCode, Map<String, Object> param) { public List<RegionVO> lazyList(String parentCode, Map<String, Object> param) {
return baseMapper.lazyList(parentCode, param); return baseMapper.lazyList(parentCode, param);
} }
@Override @Override
public List<INode> lazyTree(String parentCode, Map<String, Object> param) { public List<RegionVO> lazyTree(String parentCode, Map<String, Object> param) {
return baseMapper.lazyTree(parentCode, param); return baseMapper.lazyTree(parentCode, param);
} }
} }

View File

@ -18,7 +18,6 @@ package org.springblade.system.wrapper;
import org.springblade.common.constant.CommonConstant; import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.SpringUtil;
@ -58,8 +57,8 @@ public class DeptWrapper extends BaseEntityWrapper<Dept, DeptVO> {
return deptVO; return deptVO;
} }
public List<INode> listNodeVO(List<Dept> list) { public List<DeptVO> listNodeVO(List<Dept> list) {
List<INode> collect = list.stream().map(dept -> BeanUtil.copy(dept, DeptVO.class)).collect(Collectors.toList()); List<DeptVO> collect = list.stream().map(dept -> BeanUtil.copy(dept, DeptVO.class)).collect(Collectors.toList());
return ForestNodeMerger.merge(collect); return ForestNodeMerger.merge(collect);
} }

View File

@ -18,7 +18,6 @@ package org.springblade.system.wrapper;
import org.springblade.common.constant.CommonConstant; import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.SpringUtil;
@ -58,8 +57,8 @@ public class DictWrapper extends BaseEntityWrapper<Dict, DictVO> {
return dictVO; return dictVO;
} }
public List<INode> listNodeVO(List<Dict> list) { public List<DictVO> listNodeVO(List<Dict> list) {
List<INode> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictVO.class)).collect(Collectors.toList()); List<DictVO> collect = list.stream().map(dict -> BeanUtil.copy(dict, DictVO.class)).collect(Collectors.toList());
return ForestNodeMerger.merge(collect); return ForestNodeMerger.merge(collect);
} }

View File

@ -17,7 +17,6 @@ package org.springblade.system.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.system.entity.Region; import org.springblade.system.entity.Region;
@ -52,7 +51,7 @@ public class RegionWrapper extends BaseEntityWrapper<Region, RegionVO> {
return regionVO; return regionVO;
} }
public List<INode> listNodeLazyVO(List<INode> list) { public List<RegionVO> listNodeLazyVO(List<RegionVO> list) {
return ForestNodeMerger.merge(list); return ForestNodeMerger.merge(list);
} }

View File

@ -18,7 +18,6 @@ package org.springblade.system.wrapper;
import org.springblade.common.constant.CommonConstant; import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.node.INode;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.SpringUtil;
@ -58,8 +57,8 @@ public class RoleWrapper extends BaseEntityWrapper<Role, RoleVO> {
return roleVO; return roleVO;
} }
public List<INode> listNodeVO(List<Role> list) { public List<RoleVO> listNodeVO(List<Role> list) {
List<INode> collect = list.stream().map(this::entityVO).collect(Collectors.toList()); List<RoleVO> collect = list.stream().map(this::entityVO).collect(Collectors.toList());
return ForestNodeMerger.merge(collect); return ForestNodeMerger.merge(collect);
} }

View File

@ -5,7 +5,7 @@
<parent> <parent>
<artifactId>blade-service</artifactId> <artifactId>blade-service</artifactId>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -7,12 +7,12 @@
<parent> <parent>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<version>3.6.0</version> <version>3.7.0</version>
</parent> </parent>
<artifactId>blade-service</artifactId> <artifactId>blade-service</artifactId>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
<version>3.6.0</version> <version>3.7.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<description>SpringBlade 微服务集合</description> <description>SpringBlade 微服务集合</description>

View File

@ -69,10 +69,10 @@ knife4j:
swagger: swagger:
title: SpringBlade 接口文档系统 title: SpringBlade 接口文档系统
description: SpringBlade 接口文档系统 description: SpringBlade 接口文档系统
version: 3.6.0 version: 3.7.0
license: Powered By SpringBlade license: Powered By SpringBlade
licenseUrl: https://bladex.vip licenseUrl: https://bladex.cn
terms-of-service-url: https://bladex.vip terms-of-service-url: https://bladex.cn
contact: contact:
name: smallchill name: smallchill
email: smallchill@163.com email: smallchill@163.com
@ -83,6 +83,8 @@ blade:
token: token:
#使用 blade-auth服务 @org.springblade.test.SignKeyGenerator 获取 #使用 blade-auth服务 @org.springblade.test.SignKeyGenerator 获取
sign-key: 请配置32位签名提高安全性 sign-key: 请配置32位签名提高安全性
#使用AesUtil.genAesKey()生成,需和后端配置保持一致
aes-key: 请配置Aes的密钥
xss: xss:
enabled: true enabled: true
skip-url: skip-url:

12
pom.xml
View File

@ -5,12 +5,12 @@
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>SpringBlade</artifactId> <artifactId>SpringBlade</artifactId>
<version>3.6.0</version> <version>3.7.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<properties> <properties>
<blade.tool.version>3.6.0</blade.tool.version> <blade.tool.version>3.7.0</blade.tool.version>
<blade.project.version>3.6.0</blade.project.version> <blade.project.version>3.7.0</blade.project.version>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<maven.plugin.version>3.8.1</maven.plugin.version> <maven.plugin.version>3.8.1</maven.plugin.version>
@ -22,10 +22,10 @@
<mica.auto.version>2.3.2</mica.auto.version> <mica.auto.version>2.3.2</mica.auto.version>
<mysql.connector.version>8.0.32</mysql.connector.version> <mysql.connector.version>8.0.32</mysql.connector.version>
<spring.version>5.3.27</spring.version> <spring.version>5.3.29</spring.version>
<spring.boot.version>2.7.10</spring.boot.version> <spring.boot.version>2.7.15</spring.boot.version>
<spring.boot.admin.version>2.7.10</spring.boot.admin.version> <spring.boot.admin.version>2.7.10</spring.boot.admin.version>
<spring.cloud.version>2021.0.6</spring.cloud.version> <spring.cloud.version>2021.0.8</spring.cloud.version>
<alibaba.cloud.version>2021.0.5.0</alibaba.cloud.version> <alibaba.cloud.version>2021.0.5.0</alibaba.cloud.version>
<alibaba.nacos.version>2.1.2</alibaba.nacos.version> <alibaba.nacos.version>2.1.2</alibaba.nacos.version>

View File

@ -1,2 +1,2 @@
REGISTER=192.168.0.157/blade REGISTER=192.168.0.157/blade
TAG=3.6.0 TAG=3.7.0

View File

@ -152,7 +152,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-admin - name: blade-admin
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-admin:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-admin:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -386,7 +386,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-auth - name: blade-auth
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-auth:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-auth:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -625,7 +625,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-desk - name: blade-desk
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-desk:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-desk:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -864,7 +864,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-develop - name: blade-develop
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-develop:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-develop:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1096,7 +1096,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-gateway - name: blade-gateway
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-gateway:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-gateway:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1331,7 +1331,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-log - name: blade-log
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-log:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-log:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1565,7 +1565,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-report - name: blade-report
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-report:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-report:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -1799,7 +1799,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-resource - name: blade-resource
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-resource:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-resource:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -2033,7 +2033,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-system - name: blade-system
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-system:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-system:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -2267,7 +2267,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-user - name: blade-user
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-user:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-user:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -2496,7 +2496,7 @@ spec:
spec: spec:
containers: containers:
- name: saber-web - name: saber-web
image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-web:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-web:3.7.0'
ports: ports:
- name: web - name: web
containerPort: 80 containerPort: 80
@ -2721,7 +2721,7 @@ spec:
spec: spec:
containers: containers:
- name: blade-swagger - name: blade-swagger
image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-swagger:3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/blade-swagger:3.7.0'
args: args:
- '--spring.profiles.active=${PROFILE}' - '--spring.profiles.active=${PROFILE}'
- '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}' - '--spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}'
@ -3749,7 +3749,7 @@ spec:
spec: spec:
containers: containers:
- name: mysql - name: mysql
image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-db:v3.6.0' image: 'swr.cn-east-2.myhuaweicloud.com/blade/saber-db:v3.7.0'
ports: ports:
- name: mysql - name: mysql
containerPort: 3306 containerPort: 3306