简历整理YH

embedded/2025/1/13 13:03:21/

一,订单中心


1,调拨单

融通(Rocketmq)-订单中心:ECC_BMS123(已出单),125(分配),127(发货),129(收货)
通过RocketMq接入多场景订单数据


2,销售单

sap(FTP)-订单中心,下发1002,1003,1004接口
Job定时读取FTP XML文件,解析,各订单类型实现自己的业务
类型:sap bms b2b shibai;连接不同FTP,读取不同业务类型路径下数据,下载,解析,不同订单各自处理,移动已处理文件。设计模式:枚举 + 策略 + 模版


3,主数据替换

所有主数据替换,原来查询数据库,现在统一查询商品接口,查询Redis或者ES

【调拨单】


数据层级:供应商 采购组织 大区 门店 商品分类 商品 。门店:商品 1:N


1.1,店间调拨单下传ECC_BMS123

【正常流程】


● 落原始数据
 状态流:延时待处理/延时已处理/未使用/已使用/延时异常数据
 说明:入库门店商品信息不存在,下发门店商品信息小于实际查询到的门店商品信息(延时待处理,流程结束,否则未使用)
● 主数据查询,组装数据,分批查询2000一批
查询商品中心,门店商品
查询供应商中心,根据供应商编码和采购组织查询方案组
查询价格中心,根据供应商门店商品
● 组装数据并写入订单明细跟踪(核心跟踪订单整个流程)
状态流:80-已取消 10 -待审核 20 -已审核 30 -已出单 40 -待发货/已分配 50 -待收货 60 -已收货 70 -已完成
初始状态:已出单
A:分表,根据大类分表,生鲜11 食百1213
B:订单明细跟踪同步ES,批量操作
● 增加在途
A:通过MQ发送库存中心更新库存信息(Topic/tags/source/key/msg)
B:异常消息记录,异常或者发送结果状态非OK,封装多种场景
C:JOB定时批量补偿异常消息,重新发送

【异常流程】


1,JOB检查123异常数据,补偿处理,门店商品数据是否正常
2,超过3天未处理,同步异常单数据到ES
3,补偿细节:
每次处理一定的量10条;
查询订单号,再根据订单号查询数据,充分利用索引;
限定创建时间,近期;
根据更新时间排序,循环处理

1.2,店间调拨单出库单出库数量上传 125


【正常流程】
查询123基础数据,检查数据完整性
检查下发数量和申请数据(123)是否一致,否,同步ES异常数据
查询订单明细跟踪,并更新
更新123状态为已使用,乐观锁
扣减库存,MQ,正向/反向库存标识,加或者减

【异常单流程】
JOB补偿

1.3,SAP销售退货单的DN下传云POS & 店间调拨过账后的交货单下传

1.4,店间调拨入库单的入库数量上传

2. 销售单:sap(FTP),以1004为例,下发发货指令
发货单商品数量,订单维度匹配订单明细跟踪该订单号所有明细商品数量。
场景:下发0->直接关单;匹配->完成订单;不匹配->延时数据,JOB定时处理
更新订单明细跟踪
更新库存MQ

二,独立活动类


1,生鲜价格动态:app活动
2,咏悦汇酒会(独立设计开发):app活动,门店茅台,洋酒,百威暗码换购活动

三,报表


1,商品资料非实时报表:大数据通过binlog同步主数据到es,批量查询多个索引数据。
2,巡检报表:查询es数据,大数据推送数据到es,根据不同维度分组,求和,聚合求和,聚合求和后再合计,聚合后排序,总计,分页(from/search_after)。

四,渠道/商品中心


对接云创系统:渠道标识同步云创。云创系统-渠道中心(MQ)-渠道同步中心
封装大量es查询接口

五,爬虫


重构大数据爬虫框架,使用java Gecco框架二次开发。
1.爬取内容:朴朴,多点,每日优化,京东,盒马鲜生 
2.数据处理:抓取数据发送kafka消息,推送给大数据。flume消费kafka消息到hdfs,同步到hive,hue查看数据。3.代理ip处理


http://www.ppmy.cn/embedded/153569.html

相关文章

【Rust】错误处理机制

目录 思维导图 引言 一、错误处理的重要性 1.1 软件中的错误普遍存在 1.2 编译时错误处理要求 二、错误的分类 2.1 可恢复错误(Recoverable Errors) 2.2 不可恢复错误(Unrecoverable Errors) 三、Rust 的错误处理机制 3…

Python的循环

Python的循环 Python的循环有两种,分别是for…in循环和while循环。 for…in 循环 假设我们要循环输出一个列表里的元素: names [张三,李四,王五] for name in names:print(name)执行这段代码后,会依次打印names的每一个元素:…

css 布局及动画应用(flex+transform+transition+animation)

文章目录 css 布局及动画应用animationtransform,transition,animation 综合应用实例代码实例解释 css 布局及动画应用 Display用法 作用:用于控制元素的显示类型,如块级元素、内联元素、无显示等。常见属性值及示例:…

HTTP 入门:认识网络通信基础

一、引言:HTTP 在网络世界的基石地位 在当今数字化的时代,网络通信如同空气一般无处不在,而 HTTP 协议则是网络世界中最为重要的基石之一。无论是浏览网页、使用手机 APP,还是进行各种网络数据交互,HTTP 都在背后默默…

欧拉公式和傅里叶变换

注:英文引文机翻,未校。 如有内容异常,请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i \sin{x} eixcosxisinx. When…

MySQL数据导出导入

一、数据导出 1.导出全库备份到本地的目录 mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-setutf8 --lock-all-tables --add-drop-database -A >db.all.sql 2.导出指定库到本地的目录(例如mysql库) mysqldump -u$USER -p$PASSWD -h127.…

模拟退火算法在Matlab中的两个应用案例及代码

案例一:求解函数最小值 目标函数为f(x)x^4-2x^23,求该函数在区间[-2,2]上的最小值。 function [x,fval] simulated_annealing(fun,x0,options) % 设置默认选项 default_options struct(T0,100,alpha,0.95,T_min,1e-8,max_iter,1000,verbose,false); if…

常用的排序算法(Java版)

文章目录 前言一、选择排序二、插入排序三、冒泡排序四、快速排序五、归并排序六、希尔排序七、堆排序总结 前言 排序算法有很多,这里列出最常用的一些,如选择排序、插入、冒泡等。 稳定性:待排序数据中有相同的数,排序之后相同…