商旅协议下沉-协议拆分
2021-07-22 14:03:01 0 举报
商旅协议下沉-协议拆分
作者其他创作
大纲/内容
needSaveList批量转换为Corp_Flt_BeforeRebatePolicy(BrPid为自动生成)
记录拆分日志
Corp_Flt_BeforeRebatePolicy与Flt_BeforeRebatePolicy的BrPid一致
批量插入Corp_Flt_BfRebateRCERelNew批量插入Corp_Flt_PolicyFlightAgencys
根据实体的值获取分布式锁(默认锁5分钟)
与数据库重复性校验
NewBRPid相同
获取插入成功的NewBRPid列表
入参包括拆分前的实体Corp_Flt_BRPolicy_New以及根据上边实体拆分后的对象
遍历NewBRPid列表,发送拆分消息
SplitExecutor
把Corp_Flt_BeforeRebatePolicy列表转换为Flt_BeforeRebatePolicy列表并执行批量插入
将Corp_Flt_BRPolicy_New按规则拆分为拆分实体(convertToBeforeRebateSplit)
请求参数重复性检查
遍历needSaveList
是否获得锁
调用拆分方法executor.split
beforeRebateService.addBatch
获取消息中的NewBRPid
根据NewBRPid查询插入的数据并转换为flt_brpolicy_new
flt_brpolicy_relation与 Corp_Flt_BRPolicy_Relation不一定相同 relationId
根据NewBRPid查询Corp_Flt_BRPolicy_New
过滤拆分后的对象列表中出发或到达为空,或出发和到达相同的记录needSaveList
生成Corp_Flt_BfRebateRCERelNew(BfRceRid为自增,Bfpid为BrPid)生成Corp_Flt_PolicyFlightAgencys(Pfaid为自增,PolicyID为BrPid)
批量插入Corp_Flt_BeforeRebatePolicy
批量保存政策policyIds=beforeRebateService.addBatch
根据NewBRPid更新flt_brpolicy_new拆分状态0
获取插入成功的BrPid列表并查询Corp_Flt_BeforeRebatePolicy列表insertPolicyList
批量插入Flt_BfRebateRCERelNew(BfRceRid为自增)批量插入Flt_PolicyFlightAgencys(Pfaid为自增)
是
转换为Corp_Flt_BRPolicy_New数据库对象
保存映射关系(policyIds与NewBRPid)Corp_Flt_BRPolicy_Relation
插入Corp_Flt_BRPolicy_New
NewPolicyServiceImpladdPolicyBatch处理逻辑
从insertPolicyList中匹配逻辑相等的记录
needSaveList重复性校验
批量
PolicyQMQListener监听拆分请求消息
0 条评论
下一页