项目

一般

简介

错误 #6632

外委维保计划管理-同一个计划id同一个计划名称可以多次推送

孟丽敏超过 3 年 之前添加. 更新于 超过 3 年 之前.

状态:
已关闭
优先级:
紧急
指派给:
李兴
开始日期:
2021-01-10
计划完成日期:
% 完成:

0%

预期时间:
严重等级:
Critical
问题所属模块:
外委维保计划管理
问题类型:

描述

测试版本: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,一个计划名称只新建一次,外委维保计划页面不显示重复数据


文件

重复数据.png (144 KB) 重复数据.png 孟丽敏, 2021-01-10 17:07
重复-1.png (110 KB) 重复-1.png 孟丽敏, 2021-01-10 17:07
计划id.png (109 KB) 计划id.png 孟丽敏, 2021-01-12 17:48

历史记录

#1

吴文军 更新于 超过 3 年 之前

  • 指派给吴文军 变更为 李兴
#2

王永梅 更新于 超过 3 年 之前

补充:参数若包含了已存在的计划id,应该是修改而不是新建

#3

王永梅 更新于 超过 3 年 之前

  • 严重等级Major 变更为 Critical
#4

由 李兴 更新于 超过 3 年 之前

  • 指派给李兴 变更为 胡沅伶

plan-manager接收到sap的调用请求后,先判断是否有相同的供方计划,如果没有创建外委计划,再创建供方计划。如果有则执行更新操作。
问题发生原因分析
当第一次接收到数据时,执行创建外委计划操作,然后往mq里推送新建外委计划的消息。因为mq连接异常导致接口直接抛出异常,中止了后续代码的执行。结果是,新建了外委计划,但未创建供方计划。
当第二次接收到数据时,因未查询到供方计划,又会执行创建操作。导致重复创建外委计划现象的产生。

因hbase数据库不存在事务,因此不能进行回滚操作。又考虑到mq连接异常为小概率事件。喻程建议数据一致性问题不在此项目中处理,而是放到重构项目中解决。

#5

由 胡沅伶 更新于 超过 3 年 之前

  • 状态新建 变更为 延期处理

开发会放到重构中解决此问题,所以延期处理

#6

孟丽敏 更新于 超过 3 年 之前

#7

王永梅 更新于 超过 3 年 之前

正常情况下,一个接口执行到一半,mq服务挂了,执行一半的数据不会存到数据库表里,数据应该回滚,或者如果数据不会滚的话,再次请求接口发现id一致,应该是修改数据,而不是新增

#8

王永梅 更新于 超过 3 年 之前

  • 状态延期处理 变更为 重新打开
  • 指派给胡沅伶 变更为 李兴

20210121 经会议评审决定,需重新梳理是否有其他存储流程修复此问题

#9

由 李兴 更新于 超过 3 年 之前

在同步数据之前,先判断mq服务能否正常连接,避免由于mq无法连接导致产生脏数据。已解决

#10

由 李兴 更新于 超过 3 年 之前

  • 状态重新打开 变更为 已解决
#11

孟丽敏 更新于 超过 3 年 之前

  • 状态已解决 变更为 已关闭

20210126已验证

导出 Atom PDF