量化派业务参考代码

测试二级标题

如果 merchant_id 是外部白条,则执行相关逻辑

if(order.getMerchantId() == Constants.BaitiaoMerchant.XINYANG && type == ConsumeType.REPAY){
    debtService.baitiaoOrderDebtNotify(order.getOrderNo(),"NEW_ORDER");
}

说明:重点在 Constants.BaitiaoMerchant.XINYANG ,关注实体类这部分的内容。

根据支付中心的 order_no 的前缀去判断

if (repayOrderNo.startsWith(Constants.BAITIAO_BILL_PREFIX)) { //如果是白条账单制后的还款计划
    return repayNotifyBaitiaoBill(orderNo, repayOrderNo, repaidAt);
} else {
    //没有前缀的是之前的还款计划,按照之前逻辑走
    return repayNotifyBaitiaoOld(orderNo, repayOrderNo, repaidAt);
}

Collectors 在项目中的应用 1:收集成 List

List<Long> planIds = repaymentPlans.stream().map(BaitiaoBillRepaymentPlan::getId).collect(Collectors.toList());

说明:1、使用 map 完成映射,最后收集成 List 对象;

2、因为 id 是自增长不重复的,所以用 List 收集。

Collectors 在项目中的应用 2:收集成 Set

Set<Long> orderIds = repaymentPlans.stream().map(BaitiaoBillRepaymentPlan::getOrderId).collect(Collectors.toSet());

说明:因为 order_id 有可能是重复的,所以用 Set 收集

Supplier 的用法

Supplier<Heavy> supplier = () -> new Heavy();
Supplier<Heavy> supplier = Heavy::new;

发送消息的时候使用异步

@Async

并且,为了不影响主要流程,我们要使用注解 @DummyException,来笑话新添加逻辑抛出的异常。

@DummyException 的作用是消化掉这个方法中抛出的异常,保证新加的代码不会影响到主流程。

发送消息使用的模板代码

@Override
public void baitiaoRePayDebtNotify(String orderNo) {
    // 1、先构造发送消息的对象的内容
    RepaymentMQ repaymentOrderMQ = this.getRepaymentInfoAfterRefund(orderNo);
    // 2、使用 JSON 工具类库将上一步的对象转换为 json 字符串
    String msg = Constants.GSON.toJson(repaymentOrderMQ);
    // 3、使用 RabbitMQ 的模板对象(rabbitTemplate)的 convertAndSend 方法发送消息报文
    rabbitTemplate.convertAndSend(xyqbBaitiaoQueue.getName(),msg);
    LOGGER.info("向债转债权池推送白条还款消息,消息内容-->{}", msg);
}

查询旧的还款计划

Long orderId = baitiaoOrder.getId();
// 查询旧的还款计划 根据 order_id 查询 baitiao_repayment_plan
// 根据 order_id 去查询白条还款计划表
List<BaitiaoRepaymentPlan> baitiaoRepaymentPlans = repaymentPlanRepository.findByOrderId(orderId);

查询新的还款计划

// 查询新的还款计划 根据 baitiao_bill_repayment_plan(该方法中已经完成了还款计划的更新)
List<BaitiaoBillRepaymentPlan> baitiaoBillRepaymentPlanList = baitiaoBillRepaymentPlanRepository.queryRepaymentPlanByOrderIdAndEnableTrue(orderId);

Markdown 测试的更多相关文章

  1. markdown测试

    测试 1.第一点 这一点 代码块 @requires_authorization def somefunc(param1='', param2=0): '''A docstring''' if par ...

  2. 这是一篇markdown测试博客

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接 ...

  3. markdown 测试博客发布

    这是一个测试页面 无序列表 tet test 有序列表 特使团 tetst 引用 This is a test 插入图片 插入链接 baidu 粗体 这是粗体 斜体 这是斜体 表格 IP VIP 备注 ...

  4. Markdown测试2

    四级标题 内容测试 内容测试 内容测试 为知笔记发布博客时会添加一些HTML或CSS的标记,会影响文章的摘要显示. A B 一 二 α​" role="presentation&q ...

  5. markdown 测试代码

    这是 H1 这是 H2 这是 H3 这是 H4 这是 H5 这是 H6 A First Level Header A Second Level Header Now is the time for a ...

  6. 基于 Laravel 开发博客应用系列 —— 从测试开始(二):使用Gulp实现自动化测试

    3.使用 Gulp 进行 TDD(测试驱动开发) Gulp 是一个使用 JavaScript 编写的自动化构建工具.用于对前端通用任务(如最小化.压缩.编译)进行自动构建.Gulp 还可以用来监控源代 ...

  7. iOS 使用markdown 实现编辑和预览文本

    注意要点: 1.在iOS 可以依赖UIWebview 来实现 2.丰富的UI样式依赖 html 的样式, js 调用插入markdown内容呈现出来 3.实现markdown编辑快捷键:参考githu ...

  8. HelloDjango 第 09 篇:让博客支持 Markdown 语法和代码高亮

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 为了让博客文章具有良好的排版,显示更加丰富的格式,我们使用 Markdown 语法来书 ...

  9. Mardown字体颜色、背景色

    Markdown字体颜色.背景色 字体颜色表 Markdwon测试 **粗体文字**,或__加文字__ 加粗 Markdown测试 *斜体文字*, 或_斜体_ 斜体 Markdwon测试 列表: 背景 ...

随机推荐

  1. java web实现 忘记密码(找回密码)功能及代码

    java web实现 忘记密码(找回密码)功能及代码 (一).总体思路 (二).部分截图 (三).部分代码 (一).总体思路: 1.在 找回密码页面 录入 姓名.邮箱和验证码,录入后点击[提交]按钮, ...

  2. 用Excel完成专业化数据统计、分析工作

    使用Excel可以完成很多专业软件才能完成的数据统计.分析工作,比如:直方图.相关系数.协方差.各种概率分布.抽样与动态模拟.总体均值判断,均值推断.线性.非线性回归.多元回归分析.时间序列等.本专题 ...

  3. android中解析文件的三种方式

    android中解析文件的三种方式     好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...

  4. mysql 存储过程项目小结

    1. false :0  true 1 切记 官方文档:http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html BOOL,  ...

  5. URAL 2032 - Conspiracy Theory and Rebranding【本源勾股数组】

    [题意] 给出三角形的三个边长,均是10^7以内的整数,问三角形的三个角的坐标是否能均是整数,输出其中任意一个解. [题解] 一开始想的是枚举一条边的横坐标,然后通过勾股定理以及算角度求出其他点的坐标 ...

  6. Java批量文件打包下载zip

    网上看了很多,本文使用ant.jar中的org.apache.tools.zip,页面用js表单提交 代码供参考: ACTION: /* * 另存为 */ @RequestMapping(" ...

  7. java.util.Random深入理解

    java.util.Random next方法的原理 比较好的参考文档: http://isky001.iteye.com/blog/1339979 package random.utilrandom ...

  8. SQL Server 2012 LocalDB 管理之旅

    SQL Server LocalDB能够最大限度地节省您的数据库管理精力,以便开发人员可以专注于开发数据库应用. 使用SqlLocalDB命令行管理LocalDB 为了方便管理,LocalDB提供了一 ...

  9. postgresql jsonb类型查询

    select * from (select * from ud_order where user_id=10 and status=2unionselect * from ud_order where ...

  10. 添加Pods后,import无提示的解决办法

    选择工程的 Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项 新增一个值"$(PODS_ROOT)" ...