java framework

Build Status

环球通后 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
  • 优化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

文档

开发指南

results matching ""

    No results matching ""