java framework
环球通后 java 开发框架。
1.21.0
- WechatOfficialAccountMsgSceneEnum 添加对应场景
- 条形码生成ZxingUtils.encode
1.20.0
- 异步导出:ExportExcel.asyncExport的数据委托写入文件方法抽离可供业务使用
- ExportExcelUtil.writeCsv 写csv文件
- ExportExcelUtil.exportCsvOss 导出csv文件到oss
- AdminUserInfo增加loginMchId(当前登录的商户ID)属性
- 增加es工具类 ElasticsearchRestEsUtils
- 异步导出批量,生成为zip格式 ExportExcel.asyncExportBatch
1.19.0
- 新加rabbit死信发送方法:RabbitMQService.convertAndSendDead
1.18.0
- 修复controller结束后未清除线程traceId,解决非http请求下不覆盖traceId问题
1.17.0
- 同步导出CSV到本地与OSS方法 ExportExcel.exportCsv/ExportExcel.exportCsvOss
- 添加druid(德鲁伊)监控页面(/druid/index.html)
- Front端登录态增加OPENDID
1.16.0
- 重写mybatis plus自定义Id生成规则,使用分布式key
- AjaxResult优化
- 添加getByCustomCode(String code) 说明: 获取响应数据中data,数据为空或者存在业务异常时,返回自定义业务异常,为null时不可返回
- 添加getByResultCode() 说明: 获取响应数据中data,数据为空或者存在业务异常时,返回上游业务异常,为null时不可返回
- 添加get() 说明: 获取响应数据中data,存在业务异常时,返回上游业务异常,为null时可返回
- 添加SecureUtils 加签验签,加解密工具类
- com.gotone.boot.config.base.Beans 添加环境相关方法
- isPro() 是否线上环境
- getEnv() 返回当前环境
- UploadOssUtils.upFileStream失败后抛出BusinessException
- 基于UploadOssUtils.upFileStream的修改优化异步下载的上传oss
1.15.0
- 批量获取分布式id放入KeyGenerator
- ConcurrentLinkedQueue
generateKeys
- ConcurrentLinkedQueue
- 优化Excel导出逻辑
1.14.0
- 修复批量获取分布式id报错问题
- AjaxResult返回添加traceId
1.13.0
- 添加批量获取分布式ID接口 GeneratorIdApiDao:getSegmentIDs
- 添加枚举YesOrNo
- 添加ZxingUtils,二维码生成工具
- 添加通用XxlJobConfig配置,升级当前版本需删除服务单独添加的该配置文件
- 分布式key根据服务名作为tagName,不同服务单独累计,避免所有服务使用默认,频繁取库
- MQ消费重试失败入库能力添加
1.12.0
- 新增通用枚举类 MerchantType,WechatInfoTypeEnum
- ConvertUtils
- 添加mapKeyLowerFirst,mapKey 首字母小写工具
- 添加underLineToSnakeCase 字符串转实体(下划线转驼峰)
- 添加FrontLoginFilter
- 获取当前front登录人信息,获取方式SessionManager.getCurrentFrontMemberInfo()
- 如涉及/front/* path下不需要登录的接口,需添加@FrontNotLogin 注解
- 添加金额工具类 AmountUtil
1.11.0
- 移动com.gotone.boot.config包下类路径,无功能更新
- 业务线枚举类更新
1.10.0
- 添加基础工具实体类,支持掩码方法
- Address 地址处理类
- Email 邮箱处理类
- IDCard 身份证处理类
- Mobile 手机号处理类
- NumberString 数字字符串处理类
- 添加@AdminLogin注解(用于op与mp接口)</br>
使用方法:controller中方法添加注解,mq异步场景下更新数据需自己传递更新操作人</br>
作用:可在使用insert及update时,协助添加创建人及更新人,并可使用SessionManager.getCurrentAdminUserInfo()获取当前登录人信息</br>
依赖:更新创建人及更新人需依赖生成器添加new Property("createName", FieldFill.INSERT), new Property("updateName", FieldFill.INSERT_UPDATE)
1.9.0
- 添加CompareFieldUtils,对比同实体的两个实例变更
- 添加断言工具类Asserts
- PDF操作工具包
- 文件工具类FileUtil
1.8.0
- 修改ID生成规则KeyGenerator,
1.7.0
- 添加AjaxResult多个静态重载,支持AjaxResult.success(data)/AjaxResult.error(code,msg)等多个静态方法
如集成BaseController使用方法:return success()/success(data)/error(code,msg);
1.6.0
- MessageConverterConfig配置消息转换器去除将数值类型字段的空值输出为0
- ParamLogPrint,出入参打印 需在Controller方法添加ParamLogPrint注解
1.5.0
- 业务操作日志类 BusinessLogUtil 查询业务操作日志列表:getList 保存运营后台业务操作日志:saveOpLog 保存商户后台业务操作日志:saveMpLog
- rabbitMQ重试工具类 RabbitMQRetryUtil 最终失败处理实现IRabbitMQRetryFailProcess接口委托,默认打印日志 Apollo配置 是否开启重试:spring.rabbitmq.listener.simple.retry.enabled 默认为不开启,需要开启的在自己服务中配置 重试次数:spring.rabbitmq.listener.simple.retry.max-attempts 默认为3次 重试间隔:spring.rabbitmq.listener.simple.retry.initial-interval 毫秒,暂未使用
- 修复controller切面日志request,response序列化报错问题
1.4.0
- easyexcel导入导出及异步导出csv
导入:ImportExcel
导出:ExportExcel.exportExcel
异步导出:ExportExcel.asyncExport
本地文件存储地址:export.save.path
1.3.0
- mybatis-plus属性自动填充配置(依赖 @TableField(fill = FieldFill.INSERT_UPDATE)(代码生成器可生成))
1.2.0
- 集成hutool-core https://www.hutool.cn/
- 接口入参打印添加swagger接口描述
1.1.0
- 添加OSS工具类/图片操作类 UploadOssUtils/ImageUtils
- RabbitMQServiceImpl rabbit send 方法
- EmailSender 邮件发送工具
1.0.0
- Common 添加全局异常处理(业务异常,系统异常)
- BaseController对参数做编码处理,防止XSS攻击
- Common 添加Swagger公共配置集成
- 添加LogUtil工具类,并添加controller及dao层性能日志切面
示例: LogUtil.logApplicationInfo("测试打印日志"); - 通用接口返回AjaxResult类定义
- 实现i18n的业务异常码的国际化
示例:throw new BusinessException("10003"); - KeyGenerator 基于雪花算法实现分布式key
示例:
@Autowired KeyGenerateAlgorithm keyGenerateAlgorithm; keyGenerateAlgorithm.generateKey() - mybatis-plus 集成并添加分页组件
- 添加自定义验证
int数组验证,用于int类型是否在指定数组内验证: @IntArrayValidator(values ={1,2,3} )
枚举验证,用于指定值是否存在于枚举: @EnumValidator
字符串数组验证,用于传递字符串是否存在于指定数组内: @StringArrayValidator(values ={"wx","wxa","zfb"}) - 实现Feign header透传,如有特殊需求@FeignIgnoreHeader 设置指定header不透传
- RestTemplate 默认实例配置,设置超时时间及header透传
- traceId 生成,实现日志串联,便于Kibana检索
- 配置中心及sharding jdbc 包集成
- jetCache集成 文档参考:https://github.com/alibaba/jetcache/wiki/GettingStarted_CN
- 添加分页基础类(BasePage)
- 处理前端long精度丢失问题,序列化统一返回string
- 添加ConvertUtils,实体属性copy
- 开启feign调试 feign.debug.other.env.enable=true 调试指定环境 feign.gateway.profile:dev 指定环境网关配置: api-gateway.host.map:{dev:'http://internal.dev.op-api-gateway.wonder-link.net/'}
- 使用fastjson代替jackson(FastJsonConverterConfig/JacksonConfig)
如何使用
<!--环球通 boot-common包-->
<dependency>
<groupId>com.gotone</groupId>
<artifactId>boot-common</artifactId>
<version>${gotone.framework.version}</version>
</dependency>
支持
diaomingkai@cngotone.com