跳至主要內容

3.x版本升级日志

2023年4月13日大约 61 分钟升级日志升级日志3.x版本升级日志

3.x 已经停止维护,请使用4.x

3.11.0-java17 2023年09月25日21:21:00

build

refactor

fix

3.10.0-java17 2023年08月03日11:08:32

build

refactor

fix

3.10.0 2023年07月09日14:38:57

build

refactor

fix

3.9.0-java17-RC3 2023年02月24日11:19:59

build

feat

fix

备注

3.9.0-java17-rc2 2023年01月14日19:04:41

build

refactor

fix

3.9.0-java17-rc1 2022年12月26日10:19:32

build

feat

refactor

fix

存在的问题

3.9.0 2022年12月02日22:17:26

build

refactor

fix

3.8.2 2022年11月21日14:31:38

build

refactor:

3.8.1 2022年09月05日09:27:50

feat

3.8.0 2022年08月29日10:32:20

feat

3.7.0 版本更新详情

build

feat

refactor

  1. swagger version 调整到 bootstrap.yml 中
  2. 废弃 lamp-util 项目中的 lamp-security-starter 模块(lamp-security-sdk + lamp-userinfo-sdk = lamp-security-starter 模块)
  3. 新增 lamp-security-sdk 模块
  4. 新增 lamp-userinfo-sdk 模块
  5. 重构 lamp-data-scope-sdk 模块,使其解耦不在依赖业务服务的模块
  6. 新增 lamp-model 模块,用于存放业务相关的公共实体和 VO
  7. 重构 lamp-tenant-datasource-init 模块,使其解耦
  8. 废弃 lamp-tenant-datasource 模块
  9. Echo 重命名为 EchoApi
  10. DictionaryType 重命名为 EchoDictType
  11. 优化 lamp-cloud 项目依赖,便于各个服务能独立编译。编译顺序为:lamp-dependencies 、lamp-public 、 lamp-authority、 lamp-msg、lamp-file、lamp-tenant、lamp-oauth
  12. @DS ("#thread.tenant") 修改为 @DS (DsConstant.BASE_TENANT)、@DS (DsConstant.EXTEND_TENANT)
  13. 新增租户时,表结构和初始数据 脚本调整
  14. tenant 服务 和 msg 服务 启动时,默认连接 2 个库
  15. 调整 sql 适配 3.x 的表结构
  16. 优化机构管理页面布局
  17. 优化角色资源维护页面显示是否默认数据权限标识 fix 修复升级导致的序列化规则失效导致的 bug 枚举类型空字符串时,报错的 bug 修复机构类型枚举参数和字典值不匹配 修复角色资源维护页面可正常显示资源类型

3.6.2 2022年04月09日18:05:33

build:

spring.boot.version>2.6.6
spring.cloud.version>2021.0.1
spring-cloud-alibaba-dependencies.version>2021.0.1.0
spring-boot-admin.version>2.6.6
dynamic.datasource.version>3.5.1
fastjson.version>1.2.80

"ant-design-vue": "3.1.1",
"typescript": "^4.6.3",
"vite": "^2.9.1",

feat

refactor

fix:

3.6.1 2022年3月10日21:36:31

build:

spring.boot.version>2.5.10
hutool.version>5.7.22
gateway.version>3.0.7
nacos.version>2.0.4
mysql.version>8.0.28
mybatis.version>3.5.9
mybatisplus.version>3.5.1

fix

3.6.0 2022年01月27日17:21:55

build:

spring-boot-admin.version>2.6.2
hutool.version>5.7.20

feat:

refactor

3.5.8 2022年1月16日20:02:23

build

spring-boot-admin.version>2.6.0
hutool.version>5.7.19
fastjson.version>1.2.79
lombok.version>1.18.22
caffeine.version>2.9.3

refactor:

fix:

3.5.7 2021年12月27日09:39:27

build

spring.boot.version>2.5.8
spring-boot-admin.version>2.5.5
hutool.version>5.7.18
logback.version > 1.2.9

fix

3.5.6 2021年12月14日

build: 3.5.6

hutool.version>5.7.17
aliyun-java-sdk-core.version>4.5.30
qiniu-java-sdk.version>7.9.0

fix

3.5.5 2021年11月28日23:34:30

build

spring.boot.version>2.5.7
spring-boot-admin.version>2.5.4
hutool.version>5.7.16
yarn -> pnpm
moment -> dayjs
vue -> 3.2.22
ant-design-vue > 3.0

refactor

fix

3.5.4 2021年11月4日09:04:28

build

spring.boot.version>2.5.6
spring-boot-admin.version>2.5.3
mysql.version>8.0.27
hutool.version>5.7.15

feat

✨ Features

fix

3.5.3 2021年10月11日21:03:18

build 依赖

## lamp-cloud
spring.boot.version>2.5.5
spring.cloud.version>2020.0.4
spring-boot-admin.version>2.5.2
hutool.version>5.7.14
druid.version>1.2.8
mybatisplus.version>3.4.3.4
transmittable-thread-local.version>2.12.2

## lamp-web-plus
vue: ^3.2.19
vite: ^2.6.3
axios: ^0.22.0

feat 新增

fix 修复

3.5.2 2021年09月18日10:35:14

build: 依赖

spring.cloud.version>2020.0.4
spring.boot.version>2.5.5
mybatisplus.version>3.4.3.4
hutool.version>5.7.13

feat:

fix:

3.5.1 2021年08月31日09:07:17

build: 依赖

spring.boot.version > 2.5.4
mybatisplus.version > 3.4.3.1
antisamy.version>1.6.4
hutool.version>5.7.10

feat: 新增

refactor: 增强

fix: 修复

3.5.0 2021年08月17日21:22:33

build: 依赖

nacos -> 2.0.3
seata -> 1.4.2
aliyun-java-sdk-core.version > 4.5.25
aliyun-java-sdk-dysmsapi.version>2.1.0
bce-java-sdk.version>0.10.174
aliyun-sdk-oss.version>3.13.0
hutool.version>5.7.8
fastjson.version>1.2.78
spring-boot-admin.version>2.5.0
caffeine.version>2.9.2
protostuff.version>1.7.4

feat: 新增

refactor: 增强

fix: 修复

3.4.0 2021年07月26日22:46:42

build 依赖

guava.version > 30.1.1-jre

feat: 新增

refactor: 优化

fix: 修复

3.3.0 2021年07月24日00:32:53

build: 依赖升级

spring.boot.version > 2.5.3
spring.cloud.version > 2020.0.3
spring-cloud-alibaba-dependencies.version > 2021.1
sentinel.version > 1.8.2
qiniu.version > 7.8.0
hutool.version > 5.7.5
minio.version > 8.2.2

feat: 新增

refactor: 重构优化

fix: 修复

3.2.5 2021年07月13日20:09:30

build: 依赖升级

  spring.boot.version>2.3.12.RELEASE
  spring.cloud.version>Hoxton.SR12
  nacos.version>2.0.2
  druid.version>1.2.6
  mybatis.version>3.5.7
  mybatisplus.version>3.4.3.1
  knife4j.version>2.0.9
  hutool.version>5.7.3

feat:

适用于一个连锁店多个分门店、一个集团多个分子公司、一个商户多个售货机 等场景

fix:

refactor:

可以通过新增多个实现类来替代method和findNameByIds的功能

3.2.4 2021年07月07日12:46:50

3.2.3 2021年06月28日00:34:15

3.2.2 2021年05月25日11:03:48

3.2.1 2021年05月17日15:32:55

3.2.1 2021年05月17日15:32:55

3.2.0 2021年04月18日17:20:32

3.1.2 2021年03月27日23:30:07

3.1.1 2021年03月10日20:32:54

3.1.0.PRE 2021年01月29日17:48:05

3.0.2 2021年01月11日09:43:54

3.0.1 2020-12-16 16:02

3.0.0 (2020-12-07 18:00:00)

项目结构调整

数据库调整

代码&功能调整

2.7.0 (2020-11-05 23:30)

2.6.0 (2020年10月22日 20:40:00)

2.5.2 升级日志 (2020年09月27日19:35:30)

2.5.1 升级日志 (2020年09月05日16:48:42)

    mybatisplus.version -> 3.4.0
    mybatis.version -> 3.5.5
    mybatis-spring.version -> 2.0.5
    p6spy.version -> 3.9.1
后台服务项目名启动时连接的库运行时租户库功能描述
认证服务zuihou-oauthzuihou_defaultszuihou_base_{tenant}负责登录、用户必备的数据接口
权限服务zuihou-authorityzuihou_defaultszuihou_base_{tenant}权限、公共、组织架构等基础功能。 后期考虑更名为 zuihou-base(欢迎提建议)
文件服务zuihou-filezuihou_defaultszuihou_base_{tenant}负责文件上传、下载等功能
消息服务zuihou-msgszuihou_defaultszuihou_base_{tenant}负责站内信、消息、短信、邮件等功能
租户服务zuihou-tenantzuihou_defaultszuihou_defaults负责租户模式管理租户
网关服务zuihou-gatezuihou_defaultszuihou_extend_{tenant}负责统一路由、认证、限流等
订单服务zuihou-orderzuihou_defaultszuihou_extend_{tenant}演示用
演示服务zuihou-demozuihou_defaultszuihou_extend_{tenant}演示用
定时服务zuihou-jobszuihou_defaultszuihou_base_{tenant}、zuihou_extend_{tenant}负责定时任务

2.5.0 升级日志(2020年08月10日20:28:56)

  1. spring-boot-maven-plugin.version -> 2.2.9
    spring-boot-admin.version -> 2.2.4
    dynamic.datasource.version -> 3.2.0
    mysql.version>8.0.21
    easypoi.version>4.2.0
    hutool.version>5.3.10
    caffeine.version>2.8.5
    
  2. 优化SpringCloud(zuihou-cloud-starter)相关功能

  3. 新增限流功能

  4. 新增IP黑名单功能

  5. 修复zuihou-jobs-server无法显示图标的bug

2.4.1 升级日志 (2020年08月03日07:54:48)

  1. 用户信息返回给前端时,忽略密码字段
  2. 修复zuihou-ui - 用户管理 - 修改用户信息时,会将用户密码多次修改的bug
  3. 修复zuihou-ui - 用户管理 - 新增单独的修改密码功能
  4. 修复zuihou-admin-ui - 全局用户 切换企业为租户后,修改用户时,无法回显企业的bug
  5. 修复zuihou-admin-ui - 全局用户 修改页面无法正常回显企业的bug
  6. 优化zuihou-admin-ui - 全局用户 修改页面去除密码修改功能。
  7. 新增zuihou-admin-ui - 全局用户 新增独立的修改密码功能
  8. 优化批量替换项目名&包名&前缀的Shells脚本(支持Linux&Mac)
  9. 新增基于Java代码实现的批量替换项目名&包名&前缀的Shells脚本(支持Window&Linux&Mac)
  10. 修复删除租户时,无法删除所有服务的数据库的bug

2020年07月13日14:27:27 升级日志

  1. 新增批量替换项目名&包名&前缀的Shells脚本(支持Linux&Mac)
  2. 完整的项目讲解视频
  3. 优化代码若干 & 删除无用代码和注释掉的代码若干 & 完善代码注释若干
  4. 调整了nacos中的所有配置文件
  5. 优化整个项目所有的枚举类型(删除枚举类型上标记的@JsonFormat(shape = JsonFormat.Shape.OBJECT) )
  6. 废弃zuihou-sacn-stater模块
  7. 修复通用短信验证码发送的bug
  8. 修复zuihou-admin-ui上传租户头像报错和无法修改头像成功的bug
  9. 修复zipkin + seata整合时冲突报错 10.废弃SystemApi模块 11.依赖升级 spring.boot.version -> 2.2.7.RELEASE spring.cloud.version -> Hoxton.SR3 dynamic.datasource.version -> 3.1.0 mybatis.version -> 3.5.4 mybatis-spring.version -> 2.0.4 mybatisplus.version -> 3.3.2 p6spy.version -> 3.9.0 fastjson.version -> 1.2.72  (修复安全漏洞) druid.version -> 1.1.22   (修复编译时,IDEA的警告) knife4j.version -> 2.0.4 swagger.version -> 1.5.22 hutool.version -> 5.3.9 jjwt.version -> 0.11.1

zuihou-gateway-server

  1. 优化gateway网关的熔断配置
  2. AccessFilter为TokenContextFilter

zuihou-injection-starter

  1. 修改 InjectionFieldPo 和 InjectionField 类的 feign 字段为 apiClass,使得字段命名更加合理
  2. InjectionField注解类新增dictType属性,解决字典类型数据注入bug
  3. 修复自动注入器注入字典类型的数据时,无法区分不同字典类型的值

zuihou-validator-starter

  1. 修复表单统一验证模块不支持Restful风格 + BaseController接口的验证规则获取bug
  2. com.github.zuihou.validator.config.EnableFormValidator 注解移动到 com.github.zuihou.validator.annotation.EnableFormValidator

zuihou-databases

  1. 优化SCHEMA模式全局拦截器代码功能和可读性
  2. 优化非DATASOURCE模式数据源配置
  3. 优化分页插件每次查询最大500条的限制
  4. PageParams类的 getPage() 方法修改成 buildPage(),并支持多字段排序
  5. 删除 MultiTenantInterceptor ,新增 ReplaceSql
  6. 新增MasterDatabaseConfiguration, 优化NONE、SCHEMA、COLUMN模式的数据源配置和事务配置
  7. 修复NONE、SCHEMA、COLUMN模式事务失效的bug

zuihou-core

  1. 新增JsonUtil工具类(jackson)

zuihou-boot

  1. 优化枚举字段反序列化全局配置类:EnumDeserializer, 提高可读性和性能
  2. 新增枚举类型字段的全局序列化配置类:EnumSerializer, 实现了BaseEnum接口的枚举按照规范序列化
  3. 优化 BaseConfig 类中全局的 ObjectMapper 配置
  4. 优化LocalDateTime类型参数的Jackson反序列化规则
  5. 优化LocalDateTime、Date、LocalDate、LocalTime等日期类型表单参数传递时的转换规则
  6. 全局统一异常的状态码修改为400
  7. 优化PageController类handlerWrapper方法的逻辑

zuihou-cloud-starter

  1. 优化服务远程调用时,请求头和线程变量的传递
  2. 新增全局的支持负载均衡策略、请求头和LocalThread参数传递的LbRestTemplate
  3. 新增全局的熔断回调, @FeignClient 注解无需单独配置 fallback 和 fallbackFactory 即可实现回调

zuihou-swagger2-starter

  1. 使得通过 zuihou.swaggger.enabled 可以全局禁用swagger功能
  2. 优化SwaggerProperties类的配置和默认值

zuihou-log-starter

  1. 为了减少zuihou-log-starter模块体积,将ip2region.db移动到oauth服务。
  2. 修复操作日志根据参数控制是否记录请求参数的bug

定时任务

  1. 修复分布式定时执行器运行重置任务时,找不到sql脚本的bug

代码生成器

  1. 优化代码生成器配置若干
  2. 修复代码生成器生成的代码导包不正确和缺少配置的bug 3,修复代码生成器生成配置类和Controller类错误的bug 4,优化代码生成器使得生成代码时,可以使用模糊查询同时生成多张表 5,完善代码生成后的提示信息 6, 支持生成租户数据源动态新增消息队列监听类

升级日志 2020年04月26日23:14:24

  1. spring.cloud.version -> Hoxton.SR3
  2. spring.boot.version -> 2.2.6.RELEASE
  3. spring-cloud-alibaba -> 2.2.1.RELEASE
  4. seata.version -> 1.2.0
  5. fastjson.version -> 1.2.68
  6. j2cache.version -> 2.8.2-release
  7. jjwt.version -> 0.9.1
  8. hutool.version -> 5.3.1
  9. 支持 nacos 1.2.1
  10. 支持 seata 1.2.0
  11. 优化数据权限逻辑
  12. 修复删除资源时执行删除SQL的bug
  13. 修复查询缓存数据时,查询到为null的数据的会报NPE的bug
  14. 同步 nacos 和 seata 的脚本
  15. 修复RoleAuthorityServiceImpl类的方法 无事务注解
  16. 优化项目配置,使得任意模式完美支持 seata
  17. 优化若干代码
  18. 调整开发文档兼容当前最新版本代码

升级日志 2020年04月19日14:44:46

新增:

  1. 网关新增客户端认证校验
  2. 新增分布式定时任务执行器(现在同时支持单机定时执行和分布式定时执行)

优化:

  1. 优化代码生成器模版文件,减少依赖项
  2. 优化 Swagger自动配置项,支持设置认证参数
  3. 废弃zuihou-config模块,合并到zuihou-cloud-starter模块中
  4. zuihou-admin-ui全局用户查询体验
  5. 多数据源模式独立成插件,使用时自由插拔
  6. 优化mq、scan等配置
  7. 优化tenant模块包名

修复:

  1. zuihou-admin-ui无法新增运营后台账号的bug

升级日志 2020年04月05日23:33:23

新增:

  1. 新增认证服务(zuihou-oauth-server:负责登录、获取用户所有权限、资源、菜单等功能)
  2. 参照SpringSecurity原理,调整 认证服务登录、刷新token等 接口相关逻辑
  3. 参照SpringSecurity原理,新增 zuihou-security-starter 模块,实现 URI权限配置 和 鉴权
  4. 新增 租户模式 支持多数据源模式:动态增减数据源,一个租户一个库一个数据源(不开源)
  5. 多数据源模式相关代码和配置,调整成一键切换模式(不开源)
  6. 新增多数据源模式完美支持分布式事务 (seata 1.0.0) (不开源)
  7. 新增删除租户时,删除租户数据和数据库的接口,并删除该租户的数据源
  8. 新增记录在线用户功能 & 主动T人下线功能

优化:

  1. 重写token生成规则和方法
  2. 优化用户登录逻辑,根据配置决定是否限制用户重复登录、多端登录。
  3. 登录日志改成发布事件的方式。
  4. 移除 zuihou-shiro-starter 和 zuihou-user-starter 模块
  5. 移除 zuihou-zuul-* 模块中没用的几个模块
  6. 优化swagger配置,支持接口认证等参数
  7. 配置文件调整:zuihou.database.bizDatabase -> zuihou.database.tenantDatabasePrefix
  8. 将分散在各个服务的枚举接口(/enums)合并到 Oauth 服务,前端在登录之后,一次性拉取存放在前端缓存中。
  9. 日志统一存储路径: logging.file.path 移动到 src/main/filters/config-dev.properties 统一配置
  10. 将租户模块相关代码独立到权限服务的 zuihou-tenant-** 模块中,降低代码耦合度,增强系统的独立性。(有条件的朋友,完全可以将租户模块独立成一个服务)
  11. 将非租户模式、字段租户模式、SCHEMA/数据源租户模式的数据库脚本区分开。
  12. 简化租户后台系统相关接口逻辑 (zuihou-admin-ui)
  13. 废除之前的配置在Controller层的声明式事务配置,采用注解配置事务,调整事务控制到service层,通过注解来控制事务,原因是兼容多数据源模式。
  14. SuperCacheServiceImpl 相关方法加上事务注解。
  15. SuperCacheServiceImpl 相关操作缓存的方法去除@Cache注解,采用cacheChanel方式,防止子类this调用时,无法使用缓存的bug
  16. 拆分上下文拦截器,将租户信息、MDC分离到 拦截器TenantContextHandlerInterceptor(封装租户相关请求头)、MdcHandlerInterceptor(封装日志相关线程变量)
  17. 优化操作日志相关配置,实现根据条件实例不同的bean
  18. 简化order和demo服务的分布式事务配置
  19. SpringUtils类增加发布事件的静态方法
  20. 废弃IgnoreTokenConfig,调整为配置文件方式: IgnoreTokenProperties

修复

  1. 修复UserQuery构造方法报NPE的bug
  2. 完善租户模块相关功能,并修复一个弱智bug

模式介绍

租户模式描述优点缺点
NONE(非租户模式)没有租户简单、适合独立系统缺少租户系统的优点
COLUMN(字段模式)租户共用一个数据库,在业务表中增加字段来区分简单、不复杂、开发无感知数据隔离性差、安全性差、数据备份和恢复困难、
SCHEMA(独立schema)每个租户独立一个 数据库(schema),执行sql时,动态在表名前增加schema简单、开发无感知、数据隔离性好配置文件中必须配置数据库的root账号、不支持复杂sql和 sql嵌套自定义函数
DATASOURCE(独立数据源)每个租户独立一个 数据库(数据源),执行代码时,动态切换数据源可独立部署数据库,数据隔离性好、扩展性高、故障影响小相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库
模式\描述表中有无租户字段实体类中有无租户字段分布式事务有几个数据库
NONE支持zuihou_defaults
COLUMN支持zuihou_defaults
SCHEMA暂时不支持zuihou_defaults、zuihou_base_{tenant}
DATASOURCE支持zuihou_defaults、zuihou_base_{tenant}

升级指南:

  1. 更新 zuihou-admin-cloud, 待依赖更新完毕后,根据IDEA提示,删除zuihou-zuul-base、zuihou-zuul-authentication、zuihou-zuul-ratelimit 等模块
  2. 若要更新zuihou-commons(该项目已经发布中央仓库,若不想看源码,可以不用管),待依赖更新完毕后,根据IDEA提示,删除zuihou-user-starter、zuihou-shiro-starter等模块
  3. 编译项目
  4. 重新导入 数据库脚本 (数据库改动较大,请务必重新执行,执行时,看着: docs/sql/脚本说明.md 根据自身情况导入脚本)
  5. 重新导入 nacos 配置文件 (配置文件改动很大,删除合并了很多配置)
  6. 启动项目

升级日志 2020年03月12日16:26:52

新增

0.新增 Base、Delete、Poi、Save、Update、Query等6个功能的Controller接口,方便业务方并提供默认实现SuperSimpleController、SuperNoPoiController、SuperController、SuperCacheController。 1.新增 SuperCacheController、SuperCacheService、SuperCacheServiceImpl 一套默认使用缓存的基类 2.新增 SuperController、SuperService、SuperServiceImpl 一套无缓存基类,用于区分上面的3个基类 3.新增 手动查询当前登录用户、角色、岗位、组织信息。(原来只能用过 @LoginUser SysUser 方式注入) 4.新增 项目功能兼容mysql 8.0.19 (nacos使用 mysql8 需要修改nacos官方源码中驱动的版本号,并自行编译!!!) 5.前端项目:所有的分页查询请求改成POST、分页切换页面时记忆历史选中项目、点击表格一行的任意位置即为勾选、默认创建时间支持排序、所有表格head筛选改成后端筛选。 6.操作日志记录支持DB存储和FILE存储2种选择,并重新定义日志格式,支持应用名、端口号、租户ID、用户ID、日志链路ID等信息 7.多租户模式支持配置成 租户字段模式 8.用户管理页面支持导出、导入校验功能 9.新增new LbqWrapper(entity);方法,当entity中有类型为RemoteData的字段时,key为空也忽略拼接该字段。

优化

0.依赖升级:springboot -> 2.2.5、 mysql -> 8.0.18、lombok -> 1.18.12、 fastjson -> 1.2.66、 mybatis-> 3.5.3、guava -> 22.0、 hutool -> 5.2.1、knife4j -> 2.0.2 1.完全独立zuihou-commons包,并优化相关配置,使得完美兼容cloud和boot项目 2.zuihou-commons相关jar发布至正式仓库。 3.优化代码生成器,兼容新增的几个基类(Super*) 4.废弃zuihou-api模块,将 zuihou--api 模块移动到 zuihou- 模块下,方便部署编译 5.废弃原 BaseController 基类,并将原来写的所有代码,继承了全新的基类。 6.谨遵约定大于配置原则,优化zuihou-user-stater、zuihou-scan-stater使得选择Feign、Service、Rabbit模式时,其他模式的实现类完全不初始化 7.原来pom里面的配置移动到src/main/filters/config-ENV.properties 8.记录操作日志优化,支持开关、继承覆盖。 9.原zuihou-config下存放的配置文件移动到third-party/nacos/clientConfig 10.新增清理指定时段内的操作日志和登录日志的方法

修复

0.修复MultiTenantInterceptor拦截器类,无法替换部分复杂SQL表名的bug 1.zuihou-admin-ui 刷新页面后,切换菜单时控制台报错。

zuihou-admin-cloud项目 代码更新升级指引:

0.以下几点只适用于在1.x版本中没有改动代码或者改动较少的情况,若对原来项目的代码该多较大,请重新找一个目录clone项目 1.在IDEA2019.3中,点击 Update Projects ,勾选: Merge the incoming changes into the current branch 后点OK 2.等代码更新完毕后,在文件资源管理器中将zuihou-commonszuihou-backendzuihou-dependencies3个文件夹直接删除。

数据库变更

0.所有库增加tenant_code字段,存放租户表的code。

配置文件变更(包含但不限于以下配置):

0.nacos中 commmon.yml 新增:

zuihou:
  log:
    enabled: true
    type: DB

1.nacos中 zuihou-order-server.yml 和 zuihou-demo-server.yml: 修改

zuihou:
  database:
    multiTenantType: NONE       ## 修改前:     isMultiTenant: false

2.nacos中 database.yml: 修改

zuihou:
  database:
    multiTenantType: SCHEMA   ## 修改前:isMultiTenant: true  

3.项目中:zuihou-admin-cloud/zuihou-dependencies/pom.xml 中 profiles 相关的配置移动到了 zuihou-admin-cloud/src/main/filters/config-dev.properties

pom.profile.name=dev
nacos.ip=127.0.0.1
nacos.port=8848
nacos.namespace=b16f7baf-56e7-4f4e-a26c-425ee0668016
seata.namespace=

5.原来存放在 zuihou-commons/src/main/resources 中的nacos配置文件,移动到了 third-party/nacos/clientConfig

为什么要将zuihou-commons模块独立出来?

1.工具代码和业务代码存放在一个工程,复制项目时,会增加冗余代码。
2.zuihou-commons项目下的所有模块均为独立的工具包,她的用途不局限于zuihou-admin-cloud和zuihou-admin-boot2个项目,而是适合任意SpringBoot或者SpringCloud项目

为何要将项目拆分成这么多子模块?

这是高内聚低耦合的最佳体现
增强代码的可读性、复用性、可维护性和易变更性
模块内部的代码,相互之间的联系越强,内聚就越高, 模块的独立性就越好。 一个模块应该尽量的独立,去完成独立的功能!
如果有代码非得引入到独立的模块,建议拆分成多模块!低内聚的代码,不好维护,代码也不够健壮

升级日志 2020年02月27日11:31:14

新增

  1. zuihou-ui 增加公共导出excel组件
  2. 代码生成器:支持导入、导出、导出预览、分页查询、翻页勾选、行级勾选等方法
  3. 代码生成器: 支持字段生成 枚举、字典 类型的字段
  4. SuperController 新增自定义查询列表方法

优化

  1. 优化代码生成器匹配最新的后端代码: 树形、列表、编辑、导出预览、导入页面
  2. 优化 SuperServiceCacheImpl 缓存相关配置

修复

  1. 修复zuihou-admin-ui 项目密码错误时报错的bug
  2. 修复logback日志无法打印debug级别到控制台的bug
  3. 修复定时任务重置租户数据时,会误删除内置租户数据的bug

升级日志 2020年02月19日23:03:01

新增

  1. 新增 SuperService、SuperServiceCacheImpl 类,增加缓存的支持
  2. 新增 SuperMapper 类,增加 updateAllById 和 insertBatchSomeColumn 方法
  3. 新增 QueryWrap 类,对MP提供的 QueryWrapper 类增强, 并优化 LbqWrapper 类
  4. 重写 SpringCache 的 cacheResolver,使得 注解模式 支持子类 重写缓存key
  5. 新增 首页右上角显示我的消息 功能
  6. 调整 代码生成器初始化工程的结构和pom依赖, 生成后端代码使用最新的 Super* 父类接口, 并且生成的后端代码支持导入、导出功能

优化

  1. 优化 操作日志,使得能够记录 SuperController 类的日志,并支持子类 重写操作日志描述
  2. 优化 父类 BaseController2 重命名为 SupperController, 完善方法:CRUD、导入、导出、Excel预览、分页(支持排序、日期区间查询),完善操作日志(@SysLog)的支持
  3. 调整用户(c_auth_user)相关类 继承新增的 Super* 接口,并联合前端调整接口后,测试通过
  4. 优化 WriteInterceptor 写入权限拦截器,使之能根据nacos中参数,动态启用禁用,便于管理员在演示环境临时修改数据。

修复

  1. 修复 zuihou-ui 消息发送 页面的bug
  2. zuihou-ui 附件列表页面 鼠标移到文件名列时正确显示手形鼠标

升级日志 2020年02月13日18:28:30

  1. 升级 Alibaba Cloud 2.2.0.RELEASE
  2. 修复 数据自动注入器 注入远程调用的数据类型擦除的bug
  3. 新增 ribbon自定义负载均衡规则 实现简单的灰度发布
  4. 完善父类控制器:BaseController2,新增模板方法:CRUD、导入、导出、预览、分页(排序)
  5. 分页接口由原来的GET请求修改成POST请求,并用RequestParams参数包裹,方便传参
  6. 调整 zuihou-commons 下各组主键的依赖关系和代码位置。
  7. 模块 zuihou-common 移动到 zuihou-backend 包下,用于存放业务相关公共代码。
  8. 新增 zuihou-boot 模块用于存放 SpringBoot 相关配置,并将 zuihou-core 模块中 base 包下的代码移动到 zuihou-boot。
  9. zuihou-openfeign-starter 重命名为 zuihou-cloud-stater 用于存放 SpringCloud 相关配置。
  10. 修复 LbqWrapper#nested 方法参数为空时的一个bug
  11. 完善各个模块之间依赖关系、将Pom依赖调整为最小依赖。
  12. 调整登录接口的返回值
  13. Order和Demo 服务中 seata 相关配置移动到 zuihou-order/demo-server.yml 配置文件中, 并通过参数控制是否启用

升级日志 2020年02月12日15:54:39

  1. 修复数据权限拦截器执行顺序不对导致的 数据bug ## fix I197PH
  2. 用户表增加 民族、学历、职位状态等 数据字典类型的字段, 并对接前后端页面
  3. 修复定时发送短信接口报错的bug
  4. 将业务代码中一些过时的方法替换成 hutool的相关方法
  5. 委婉修复Jobs服务,首次启动报错的问题 (其实这个报错不算bug,但为了让大家减少疑惑,就调整了一下)
  6. 优化代码生成器生成代码的可读性
  7. 修改系统前后端交互时,拉取枚举和字典字段的方式为实时拉取。(原来是登录时拉取后缓存在前端,有数据不一致的bug)
  8. 操作日志记录支持 SpEL 表达式
  9. 代码生成器支持识别 注解上用 feign 模式
  10. 优化部分过时、无用、bug代码
  11. 系统中涉及树形结构的相关接口优化

升级日志 2020年02月03日15:59:19

  1. 唯一Id生成器换成 hutool 的 IdUtil
  2. 关联字段数据注入工具(zuihou-injection-starter) 增加guava本地缓存,加快注入速度, 完善注释。
  3. 使用MP提供的自定义枚举类型转换器,修复 数据库中枚举字段的值不存在时,报错的bug
  4. 使用hutool工具类优化操作日志记录的异常消息
  5. 标记core下的一些工具类为过时,拥抱Hutool 6,新增 参数管理 相关功能,用于配置系统全局参数或租户个性化参数。 7,修复 关联字段数据注入工具 缓存查询的一个bug
  6. 代码生成器相关bug修复,并新增 前端页面生成 功能。

#升级日志 2020年01月28日17:42:42

  1. 修复 bug ## fix 3
  2. 升级SpringBoot 版本至 2.2.4
  3. 升级MybatisPlus 版本至 3.3.1
  4. 升级spring 版本至 5.2.3
  5. 代码生成器支持 生成父类为 TreeEntity 类的结构
  6. 代码生成器支持 解析数据库注释中的 @InjectionField 类型
  7. 关联字段数据注入工具(原名zuihou-remote-data-starer) 重命名为: zuihou-injection-starter。 用于优雅解决跨服务、垮库、跨表的关联字段 数据回显问题。
  8. 修复dozer-starter的配置读取无法使用通配符的bug。 并考虑项目中废弃 dozer ,采用hutool 的BeanUtil 作为JavaBean 的转换工具。
  9. 岗位/用户 管理页面组织字段采用 数据注入工具 回显数据
  10. 修复短信管理删除时,不会级联删除的bug
  11. gateway 新增重定向接口兼容zuul 的swagger地址
  12. gateway swagger文档地址返回调优
  13. 修复 前端页面访问错误路径时,无法跳转到404 的bug
  14. 增加自定义表单校验规则,使得能正常检验 RemoteData 类型的字段的 @NotEmpty @NotNull @Length 等检验注解

升级日志 2020年01月21日09:52:50

0,定时任务 增加重置演示环境数据功能 1,完善地区相关接口,并优化地区表结构 2,对接 地区 相关前端页面 3,新增 数据字典相关方法 4,新增 爬虫,用于从国家统计局爬取全国的省市区数据 5,新增 数据聚合工具(zuihou-remote-data-starter), 用于解决跨库、跨表、跨服务的 关联数据 回显之痛。 6,新增 树形基础实体TreeEntity, 使得实体支持树状结构 7,新增 Mybatis自定义类型处理器,使得Mybatis 能够将数据库中的字段解析成Java中的自定义类型

升级日志 2020年01月16日11:35:48

  1. 升级 zipkin-server 到 2.19.2 ,并修改项目配置,使得兼容新版本,并完善使用文档
  2. 代码生成器 增加 创建新服务 的功能
  3. 代码生成器 支持实体中id字段名称任意命名,且不强制继承父类实体
  4. MetaObjectHandler 支持任意名称的Id字段自动注入, 并优化其代码可读性
  5. 同步 zuihou-admin-boot 和 zuihou-admin-cloud 项目之间的代码,并部署到新的测试线
  6. 优化 jobs项目的配置
  7. 新增rabbitmq起步依赖便于项目 动态控制 是否启用rabbitmq
  8. 修复 bug ## fix 8
  9. 优化&完善文档: 在线文档
  10. 修改 zuihou-ui 和 zuihou-admin-ui 配置,使得开发环境无需 nginx 也能自由切换 zuihou-admin-boot / zuihou-admin-cloud

升级日志 2020年01月09日

  1. 完善数据字典相关接口对接
  2. 重构数据源配置 BaseDbConfiguration
  3. 让项目的租户模式变成可配置模式。
  4. 解决 p6spy 打印 为null 的sql语句
  5. 将配置文件中过时的配置(logging.path等)升级为 最新版本的配置
  6. 用于测试分布式事务的2个服务取消多租户配置,并将分布式事务调试通过

升级日志 2020年01月02日22:15:50

  1. 完善系统API&应用模块表结构、前后端对接等
  2. 操作日志中模块描述记录得更加人性化
  3. 优化&修复 前后端项目bug、代码功能不健全、命名不规范等若干
  4. 消息中心接口完善&前后端对接
  5. 删除附件统计相关无用接口
  6. seata-all 相关版本升级到 1.0.0. 完善demo&test服务对seata-server的支持 (对本项目中采用的SaaS方案. 还存在一些问题)
  7. 升级 SpringCloud 版本为 Hoxton.SR1
  8. 升级 SpringBoot 版本为 2.2.2.RELEASE
  9. 升级 mybatis-plus 版本为 3.3.0 (升级后发现官方分页查询的bug. 又回滚到3.2.0)
  10. 升级 Alibaba Cloud 版本为 2.1.1.RELEASE
  11. 升级Alibaba Cloud 版本为 2.1.1.RELEASE后. zuihou-j2cache-starter 存在无法读取nacos中配置的bug. 已修复
  12. 升级 knife4j 版本为 2.0.1
  13. 升级 hutool 版本为 5.1.0
  14. 升级大部分依赖jar的版本为最新稳定

升级日志 2019年12月18日09:42:07

  1. 删除 服务表以及相关代码
  2. 新增 系统api接口表 以及相关接口
  3. 修改 应用表相关字段. 并重新生成代码
  4. 新增 应用-系统api 关联表. 用于外部应用的api授权。
  5. 新增 zuihou-scan-starter 起步依赖. 实现自动扫描服务的所有api接口. 并提供2种实现方式(feign or rabbitmq)
  6. 升级 swagger-bootstrap-ui 1.9.6 为 knife4j 2.0.0

升级日志 2019年12月03日11:59:38-2019年12月04日18:22:12

  1. 优化根据ip查询地区的方法
  2. 增加swagger全局参数
  3. 完善gateway相关核心功能. 目前使用gateway能正常登陆和解析token等
  4. 调整Mybatis拦截器. 控制演示环境的写入权限控制。防止数据被 乱删乱改。 想要在演示环境测试增删改功能的. 请新增租户和账号后测试
  5. zuihou-admin-cloud的兄弟项目:zuihou-admin-boot 初次提交. 是在本项目基础上去除微服务部分。 目的:简化开发、部署、方便小型项目快速建站 地址: https://github.com/zuihou/zuihou-admin-boot

升级日志 2019年12月02日

  1. 完善用户中心(修改头像、登录时间、账号信息、修改密码等)相关接口对接
  2. 完善用户管理的用户信息修改相关接口
  3. 修复jobs服务启动报错
  4. 统一jobs服务的logback日志配置
  5. 完善启动文档&脚本
  6. 修复文件服务在window系统下返回路径错误的bug
  7. 发布启动教学视频

2019年11月26日00:11:56 升级日志

  1. 同步最新的sql脚本、nacos脚本到源码相应文件中
  2. 租户运营后台升级:
  1. 租户后台升级:

2019年10月20日23:46:29

  1. 新增全新UI: https://github.com/zuihou/zuihou-ui
  2. 对接新UI的验证码 + 登录 + 动态获取路由
  3. 新增登录日志表
  4. 修改权限库多张表的结构(zuihou_authority_new.sql)
  5. 修改了nacos中的配置文件 common.yml 、zuihou-authority-server-dev.yml
  6. 完善代码生成器
  7. 修复 zuihou-jobs-server 启动失败的bug
  8. 项目文档程序员节5折(10月24日): https://www.kancloud.cn/zuihou/zuihou-admin-cloud

2019年10月18日11:04:22

  1. 删除zuihou-redis-starter
  2. 新增zuihou-j2cache-starter(封装2级缓存:j2cache. 并修复了官方的starter中. 无法从nacos中读取配置文件的 bug)
  3. 如何配置2级redis缓存的开关? 请参考: zuihou-j2cache-starter/README.md
  4. 修改了nacos中 redis.yml 的配置. 详情请看 zuihou-config/src/main/resources/redis.yml 或者 third-party/nacos/nacos_config_export_2019-10-18 11_02_43.zip
  5. 权限服务(zuihou-authority-server)中 资源. 菜单 已经加入j2cache
  6. 合并北城的PR. 修复了 zuihou-admin-ui 切换 nav 会退出的bug。

待完善:

  1. j2cache 默认提供的序列化策略. 对本项目来说都不太友好. 暂时先用fst. 后面考虑自定义序列化策略!
  2. fst 缺点:增删改字段后. 反序列化报错
  3. json 缺点:不支持LocalDateTime

2019年09月20日14:31:08

  1. 新增链路监控模块 zuihou-zipkin . 用mysql作为存储. rabbitmq作为采集方式
  2. 封装了一个可插拔起步依赖: zuihou-zipkin-client-starter 给各个需要采集调用信息的服务使用(可通过配置文件控制是否采集)
  3. 将 zuihou-monitor 服务和 zuihou-zipkin 服务的配置统一抽离到naocs
  4. third-party/nacos/nacos_config_export_x.zip 目录下的nacos的配置. 将原来的 数据库名 nacos_test 修改成 zuihou_nacos
  5. third-party/seata/nacos_config_export_x.zip 目录下的seata的配置. 将原来的 数据库名 seata 修改成 zuihou_seata

2019年09月06日23:56:20

  1. mybatis plus 升级为3.2.0. 并将insert update select时. 字段策略分别修改
  2. 响应 MP 要求. 在开发环境增加 p6spy . 用于打印 sql语句
  3. 抽取整个项目的logback配置文件的公共部分. 到zuihou-log-starter模块. 并针对开发环境和其他环境配置不同的日志格式和等级。
  4. 开发环境增加控制台高亮日志、控制台SQL语句、控制台SQL执行分析;正式环境等增加异步日志输入. 以提高TPS
  5. 修复spring-boot-admin项目无法正确读取各个项目的远程日志的bug

2019年08月15日16:04:13

  1. 在zuihou-order-server、zuihou-demo-server集成 阿里开源的分布式事务中间件seata-server 0.7.1 (官方指出当前版本不适用于生产. 故在此作为演示学习使用)
  2. Eureka 注册中心废除. 用Nacos替换
  3. 项目中的配置文件. 统一到Nacos配置中心
  4. 调试zuihou-gateway-server启动成功

2019年08月08日22:35:17

  1. 新增 断点续传/分片上传/秒传功能 前后端代码

2019年07月23日11:28:31

  1. 在zuihou-databases模块中增加 数据权限 拦截器DataScopeInterceptor
    使用方法(参考AuthorityAutoConfiguration、FileAutoConfiguration):
    1) 继承BaseDbConfiguration类
    2)覆盖getDataScopeInterceptor()方法. 返回以下其中一种
        new DataScopeInterceptor((userId) -> SpringUtil.getBean(UserApi.class).getDataScopeById(userId)); 
        new DataScopeInterceptor((userId) -> SpringUtil.getBean(UserService.class).getDataScopeById(userId)); 
    3)自定义查询方法上加上参数 new DataScope()   (参考AttachmentMapper.page 、 StationMapper.findStationPage)
    
  2. 对官方的Wrappers.lambdaQuery(entity) 进行扩展 . 参考:Wraps.lbQ(entity)
        1) 字符串类型默认like查询
        2) 字符串类型字段不想用like 查询的的. 调用 ignore(Entity::set字段) 方法排除. 然后在调用eq等自己想要的方法 
        3)对参数中有 % _ 的特殊符号的参数进行 转义。
        4)参考:TestResource.testWrapper
        5)Resource build = Resource.builder().code("123%456").name("nide %z").build();
           LbqWrapper<Resource> ignore = Wraps.lbQ(build).ignore(Resource::setCode).eq(Resource::getCode.  build.getCode());
    

2019年07月08日23:12:04

  1. 重构项目依赖结构
  2. 新增zuihou-dependencies项目. 用于管理所有项目的pom版本
  3. 依赖结构为:
     zuihou-dependencies <- zuihou-commons <- zuihou-backend <- zuihou-support <- zuihou-frontend(后期废除)
    
  4. docker 启动命令
    docker run -idt -p  8768:8768 -p 8767:8767 --name zuihou-jobs-server --restart=always \
        -e EUREKA_IP=172.17.229.167 \
            -e MYSQL_IP=172.17.229.167 \
            -e NGINX_IP=127.0.0.1 \
        -m 384m --memory-swap=512m \
        -v /data/docker-data/projects/:/projects \
        zuihou-jobs-server:201907120926   
    
👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。
5.0.4已发布: