错误 #6632
外委维保计划管理-同一个计划id同一个计划名称可以多次推送
0%
描述
测试版本:20210110
测试步骤:
请求参数填写以下,相同参数多次点击Send,再到外委维保计划页面查看
{
"buildingId": "E041602",
"planId": "p000006",
"planName": "重复推送",
"orderName": "重复推送",
"yearBudget": 100.00,
"planFreqNums":2,
"planFreqDetails": [
{
"month": "202101",
"monthBudget":20.00
},
{
"month": "202102",
"monthBudget":80.00
}
]
}
测试结果:
显示多条相同数据
预期结果:
一个计划id,一个计划名称只新建一次,外委维保计划页面不显示重复数据
文件
历史记录
由 李兴 更新于 超过 3 年 之前
- 指派给 从 李兴 变更为 胡沅伶
plan-manager接收到sap的调用请求后,先判断是否有相同的供方计划,如果没有创建外委计划,再创建供方计划。如果有则执行更新操作。
问题发生原因分析
当第一次接收到数据时,执行创建外委计划操作,然后往mq里推送新建外委计划的消息。因为mq连接异常导致接口直接抛出异常,中止了后续代码的执行。结果是,新建了外委计划,但未创建供方计划。
当第二次接收到数据时,因未查询到供方计划,又会执行创建操作。导致重复创建外委计划现象的产生。
因hbase数据库不存在事务,因此不能进行回滚操作。又考虑到mq连接异常为小概率事件。喻程建议数据一致性问题不在此项目中处理,而是放到重构项目中解决。