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

网站有限公司chatgpt网站

网站有限公司,chatgpt网站,分销,开发网站性能监控一、说明 在电商网站中,订单的支付作为直接与营销收入挂钩的一环,在业务流程中非常重要。对于订单而言,为了正确控制业务流程,也为了增加用户的支付意愿,网站一般会设置一个支付失效时间,超过一段时间不支…

一、说明

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

二、思路

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

三、数据准备

订单数据从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/98799.html

相关文章:

  • 免费提供网站建设网站自然排名优化
  • 网站建设流程分几步足球联赛排名
  • 上海网站建设哪家做得好竞价 推广
  • 做返利网站能赚钱建立网站的几个步骤
  • 网站开发毕设开题报告佛山seo关键词排名
  • 如何做简单网站seo任务平台
  • wordpress 站外搜索软文批发网
  • 新浪邮箱登录入口seo的名词解释
  • 开票 网站建设职业培训机构排名
  • 知名网站制作企业it学校培训学校哪个好
  • 在厦门注册公司的流程廊坊seo网络推广
  • 网站建设v杏信zhousi69小视频网站哪个可以推广
  • wordpress刷关键seo排名优化公司价格
  • 网站的收藏本站怎么做万网域名管理入口
  • 为什么做彩票网站会被提示危险网络品牌推广
  • 做动态图片的网站吗网站排名查询工具有哪些
  • 手机网站怎么改成电脑版搭建一个app平台要多少钱
  • 个人网站怎么自己备案html制作网站
  • 动态和静态网站的区别惠州自动seo
  • asp网站程序下载seo关键字优化
  • 移动端网站建设重点有哪些怎样在百度发广告贴
  • 一键做网站怎么引流到微信呢
  • 如何在网站添加代码如何推广app赚钱
  • 合肥网站建设是什么宁波seo网络推广咨询价格
  • 泗阳网站设计seo招聘信息
  • 免费拓客100个方法百度seo营销推广
  • 网站品牌高端定制南宁seo优化
  • 长沙模板网站长沙网站建设抖音seo排名系统哪个好用
  • 深圳联雅做网站怎么样网站免费网站免费优化优化
  • 建筑公司网站页面图片手机优化大师哪个好