(提交版本master-jdk17)问题:订单正在待支付的时候,连续更改多次价格,如果更改次数超过两次,在订单结束后,客户想退款,会发现退款金额显示的不是最后更改的金额,而是原始金额。
修复:确保每次更新时,adjustPrice 和 payPrice 都是累加的
This commit is contained in:
parent
df4cc6667d
commit
50b2a1d53f
|
@ -688,8 +688,9 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
||||||
List<TradeOrderItemDO> updateItems = new ArrayList<>();
|
List<TradeOrderItemDO> updateItems = new ArrayList<>();
|
||||||
for (int i = 0; i < orderOrderItems.size(); i++) {
|
for (int i = 0; i < orderOrderItems.size(); i++) {
|
||||||
TradeOrderItemDO item = orderOrderItems.get(i);
|
TradeOrderItemDO item = orderOrderItems.get(i);
|
||||||
updateItems.add(new TradeOrderItemDO().setId(item.getId()).setAdjustPrice(item.getAdjustPrice() + dividePrices.get(i))
|
updateItems.add(new TradeOrderItemDO().setId(item.getId())
|
||||||
.setPayPrice((item.getPayPrice() - item.getAdjustPrice()) + dividePrices.get(i)));
|
.setAdjustPrice(item.getAdjustPrice() + dividePrices.get(i))
|
||||||
|
.setPayPrice(item.getPayPrice() + dividePrices.get(i)));
|
||||||
}
|
}
|
||||||
tradeOrderItemMapper.updateBatch(updateItems);
|
tradeOrderItemMapper.updateBatch(updateItems);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue