量化派业务参考代码

测试二级标题

如果 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中的成员初始化顺序和内存分配过程

    Java中的成员初始化顺序和内存分配过程 原帖是这样描述的: http://java.dzone.com/articles/java-object-initialization?utm_source= ...

  2. linux 设置 jdk环境变量

    1.安装jdk  tar zxvf jdk-8u112-linux-i586.tar.gz 2.设置环境变量:vi /etc/profile 输入i加入内容如下:export JAVA_HOME=/u ...

  3. php操作Memcache示例

    <?php //==============================实例化============================ $mem=new Memcache; //====== ...

  4. Eclipse中修改SVN用户名和密码方法

    于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法. 解决方案: 在Eclipse 使用SVN 的过程中大多数人往往习惯把访问SVN 的用户 ...

  5. android 04 AbsoluteLayout

    绝对布局:layout_x,layout_y:坐标精准定位 xml文件:不推荐使用 <AbsoluteLayout xmlns:android="http://schemas.andr ...

  6. git 工具

    https://www.kernel.org/pub/software/scm/git/ wget https://www.kernel.org/pub/software/scm/git/git-2. ...

  7. python re

    >>> url="http://apk.gfan.com/Product/App45021.html" >>> result=html.cont ...

  8. J2EE 读取文件路径

    在J2ee中实现java类读取webcontent/web-inf/config.xml的实现代码 ,其中../config.xml相对于classes的路径 java.net.URL url = t ...

  9. Socket.IO 概述

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3826251.html ...

  10. 当升级新版本的时候,从新加载新版本的js的方法

    <script src="../Script/SmcScript.js?version='<%=Smc20.Web.WebForm.Public.WebConst.WEBJSCA ...