当前位置: 首页 > news >正文

网站有限公司web网页

网站有限公司,web网页,外国人做的关于中国的视频网站,广州网站建设studstu一、说明 在电商网站中,订单的支付作为直接与营销收入挂钩的一环,在业务流程中非常重要。对于订单而言,为了正确控制业务流程,也为了增加用户的支付意愿,网站一般会设置一个支付失效时间,超过一段时间不支…

一、说明

在电商网站中,订单的支付作为直接与营销收入挂钩的一环,在业务流程中非常重要。对于订单而言,为了正确控制业务流程,也为了增加用户的支付意愿,网站一般会设置一个支付失效时间,超过一段时间不支付的订单就会被取消。另外,对于订单的支付,我们还应保证用户支付的正确性,这可以通过第三方支付平台的交易数据来做一个实时对账。

二、思路

对于订单支付事件,用户支付完成其实并不算完,我们还得确认平台账户上是否到账了。而往往这会来自不同的日志信息,所以我们要同时读入两条流的数据来做合并处理。

三、数据准备

订单数据从OrderLog.csv中读取,交易数据从ReceiptLog.csv中读取
JavaBean类的准备

四、代码

package com.lyh.flink06;import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction;
import org.apache.flink.util.Collector;import java.util.HashMap;
import java.util.Map;public class Project_Order {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(2);SingleOutputStreamOperator<OrderEvent> orderEventString = env.readTextFile("input/OrderLog.csv").map(line -> {String[] data = line.split(",");return new OrderEvent(Long.valueOf(data[0]),data[1],data[2],Long.valueOf(data[3]));}).filter(log -> "pay".equals(log.getEventType()));SingleOutputStreamOperator<TxEvent> txEventString = env.readTextFile("input/ReceiptLog.csv").map(line -> {String[] data = line.split(",");return new TxEvent(data[0],data[1],Long.valueOf(data[2]));});orderEventString.connect(txEventString).keyBy(OrderEvent::getTxId,TxEvent::getTxId).process(new KeyedCoProcessFunction<String, OrderEvent, TxEvent, String>() {Map<String,OrderEvent> OrderEventmap = new HashMap<>();Map<String,TxEvent> TxEventmap = new HashMap<>();@Overridepublic void processElement1(OrderEvent value,Context ctx,Collector<String> out) throws Exception {TxEvent txEvent = TxEventmap.get(ctx.getCurrentKey());if (txEvent != null) {out.collect("订单" + value.getOrderId() + "对账成功");}else {OrderEventmap.put(ctx.getCurrentKey(),value);}}@Overridepublic void processElement2(TxEvent value,Context ctx,Collector<String> out) throws Exception {OrderEvent orderEvent = OrderEventmap.get(ctx.getCurrentKey());if (orderEvent != null) {out.collect("订单" + orderEvent.getOrderId() + "对账成功");}else {TxEventmap.put(ctx.getCurrentKey(),value);}}}).print();env.execute();}
}

五、结果

在这里插入图片描述

http://www.tj-hxxt.cn/news/71066.html

相关文章:

  • 番禺做网站公司手机端关键词排名免费软件
  • 用java做网站教程推销产品的万能句子
  • 陕西网站建设价格热线今日最新新闻重大事件
  • 购物网站的基本功能网站免费推广网站
  • 珠海网站建设公司有哪些电子商务网站建设与维护
  • 哇塞fm网站维护收录网站
  • 做网站如何兼职5118站长网站
  • 个人网站构建站长工具搜索
  • 网站弹出客服杭州seo推广公司
  • 线上营销渠道信息如何优化上百度首页
  • 建设网站基本思路免费自媒体网站
  • 网上有做任务赚钱的网站有哪些seo就业前景
  • 临清网站建设义乌百度广告公司
  • o2o网站模版企业关键词优化推荐
  • php网站后台页面西安seo霸屏
  • 公司网站需要修改推广引流平台
  • 石家庄做外贸的网站建设外链怎么做
  • 姜堰哪里有网站建设的品牌策略
  • 网站 医院信息化建设seo优化运营
  • 济南个人网站建设创建免费网站
  • 在网站上做宣传网站seo基础
  • wordpress 优酷免广告插件萧山市seo关键词排名
  • 宁波优化网页基本流程小江seo
  • 满足客户的crm软件定制深圳网络优化seo
  • 网页制作基础教程免费网站推广优化业务
  • 上海工业网站建设响应式网站模板的应用
  • 广州外发加工网seo网络优化师
  • 网站反链有好处吗seo优化内页排名
  • 做网站用哪个笔记本百度搜索关键词优化
  • 河北网站建设价格怎么做好网站搜索引擎优化