自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 CompletionService的使用分页查数据,写入excel

背景:商户中心对账单文件下载。产品需求:商户对结算明细的数据2.5w分一个文件。个人2.5w数据在一个excel文件中,不会导致打开文件慢,但是数据在写入excel只能多线程。对于文件的导出主要是防止数据在内存中大量存在 不能及时的写到磁盘,故去和产品沟通一把。建议将数据分2k条写入一个excel文件,数据获取从mysql也是这个数据量级去分页查询。理论上会合理些,沟通后意见并未采纳(一般都挺...

2019-12-10 16:11:43 399

原创 mybatis typehandler的使用

背景:最近在做商户中心清算明细的数据生成,文件中用了两个枚举数据,以及金额的显示都需要按特定的金额来展示小数位或者取整。。。。笔者想通过在数据层做相关数据的转换,mybatis中提供typehandler刚好符合改需求。springboot添加注册handler的扫描地址,在application.properties中添加配置mybatis.type-handlers-package=...

2019-12-02 10:13:22 579

原创 扫码登录模拟IO

在钱包的项目中有扫码支付功能,功能虽然不是我去实现,但个人还是对该功能挺感兴趣的,故也私下去查阅了相关资料。方案大致为:具体实现为: 1.通过tomcat8的websocket长连接实现的。效果不是很理想,主要原因是websocket长连接占用连接。 2.非阻塞轮训的方式,但是经过测试这个方案和大厂的实现还是有一定的出入。 1)定时器在c...

2019-09-24 13:38:16 446

原创 apiversion就近调用(接口多版本)

业务背景: gateway多版本接口,在被第三方调用是发现传入的apiversion传错了,不能与代码中apiversion对应,导致调用了最老的版本接口。基于这个问题,我们准备使用apiversion就近向下调用。实现步骤:项目启动统计所有接口对用的版本号到redis(不考虑redis服务不可用的情况),利用过滤器过滤出请求header的apiversion,通过比对将reques...

2019-08-30 11:47:52 3870

原创 spring的监听器

最近在查看公司counter组件源码,看到有使用监听器。。。那么学习下这个设计模式。spring编程式、声明式、springboot编写event 事件类package com.cn.zcj.event;import org.springframework.context.ApplicationEvent;public class MyMsgEvent extends App...

2019-08-25 15:47:50 194

原创 策略模式的使用

背景: 最近做交易对账文件的解析,需要根据不用的渠道解析不同的excel。由于解析渠道比较多,文件中的内容解析内容比较多,导致具体渠道解析的代码块也多。通过if()else()逻辑判断来处理的话,代码不够优雅。。。那么通过策略处理优化该问题。策略接口方法的定义package com.cn.strategy;/** * 策略解析方法定义 * @author zcj * *...

2019-08-15 14:24:13 170

原创 mysql标量子查询分析优化

在做结算的业务组件是发现其他开发有在for循环中做select查询。private List<TSettleCycleResponse> buildCycleListToResponseListForSearch(List<TSettleCycle> cycleList){ List<TSettleCycleResponse> responseLi...

2019-02-21 10:16:42 638

原创 mybatis 一对一 查询结果集

我们在mybatis 做关联的时候,需要放回两张表里面的字段,一般在sql中 对列名称取别名。那么有没有一种不用取别名的方式去做呢??第一种使用mybatis的association标签代码如下mapper.xml<resultMap id="BaseResultRefMountMap" type="com.jollycorp.settle.dal.dto.TSettleCyc...

2019-01-25 20:20:16 304

原创 springboot @Async使用

使用Async标签前需要springboot的启动类上使用@EnableAsync开启异步。在业务方法上添加@Async  该方法返回的类型必须是Object或者void。package com.cn.zcj.controller.message;import java.lang.reflect.InvocationTargetException;import java.lang....

2019-01-22 19:59:46 1294

原创 表单提交 form选择

很久没写前端代码了,都有点生疏了。之前是将parent的form 提交,跳转到adeny的渠道页面。这样容易导致我们H5对页面不可控,用户不能回退。修改前 页面代码<!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>3D ...

2018-12-12 11:27:25 516

原创 泛型T

/** * 将任意类型转换成字符串 * @param value * @param <T> * @return */ public static <T> String beanToString(T value) { if(null == value) { return null; } Class<?> clazz = v...

2018-11-29 15:44:30 103

原创 jdk 8 stream 使用

通过反射获取对象属性值,利用stream 判断是否为空public static void main(String[] args) { VerifyBankcardDTO verifyBankcardDTO = new VerifyBankcardDTO(); verifyBankcardDTO.setBankCardNo("123456"); verifyBankcardDTO...

2018-11-27 17:46:34 177

原创 redis setnx 锁

/** * 买家扫jp支付动态码 * @param scanQRCodeRequest * @return */ @SuppressWarnings("unchecked") @Override public ScanQRCodeResponse scanQRCode(ScanQRCodeRequest scanQRCodeRequest) { //根据tradeN...

2018-11-26 21:15:41 559

原创 解决request body的内容,只能获取一次的问题

背景:通过过滤器做埋点数据。过滤器代码:package com.xx.xxxx.client.filter;import java.io.IOException;import java.net.URLDecoder;import java.util.Arrays;import java.util.Date;import java.util.HashMap;import ja...

2018-11-09 15:35:53 5612

原创 RSA加验签、加解密

apollo读取本地配置,修改C:\opt\settings目录下的server.properties将env从DEV(开发环境)切换到(LOCAL)本地修改C:\opt\data\jp-cashier\config-cache目录下注:下图文件在第一次连接apollo就会在本地缓存服务器上的配置将 valid.sign 属性设置为true 即开启验签 公私钥保存方...

2018-11-09 15:16:31 452

原创 junit+MockMvc/OkHttpClient 单元测试

1.基础类的封装 post方式package com.xx.wallet.client.controller.base;import org.springframework.http.MediaType;import org.springframework.test.web.servlet.MockMvc;import org.springframework.test.web.ser...

2018-11-09 14:56:20 1761 2

原创 关于MappedByteBuffer占用内存和文件关闭

问题:MappedByteBuffer内存占用和文件关闭等不确定问题,被MappedByteBuffer打开的文件只有在垃圾收集时才会被关闭。业务场景定时任务:操作文件scheduExec.scheduleWithFixedDelay(new CreateCPWordToFSExecutorTask(), 0, PERIOD_DAY, TimeUnit.MILLISECONDS);//

2017-08-04 10:15:14 2735

odbc 安装文件压缩包 包含32位和64位

该odbc压缩包 包含32位和64位 版本号是Version 19.3.0.0.0为Basic Package版本

2019-11-10

bootstrap-treeview以权限作为demo

用bootstrap-treeview插件,实现权限树的展示。包含全选,取消全选,子节点选择父节点默认也选中,节点查询,给父节点添加子节点

2017-02-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除