zhuyifan

fix(order): optimize dish replacement logic and update payment transaction ID

......@@ -18,6 +18,9 @@ public class PaymentCallbackResult {
@JacksonXmlProperty(localName = "TransSN")
private String transSN;
@JacksonXmlProperty(localName = "TradeReferenceNo")
private String tradeReferenceNo;
@JacksonXmlProperty(localName = "TransType")
private String transType;
......
......@@ -396,6 +396,9 @@ public class OrderServiceRpcClient {
// 替换菜品的操作记录
List<SingleOperationDto> operations = new ArrayList<>();
for (OrderDetailDto originalDetail : originalOrderDetails) {
if (!idsOfNeedUpdateMenuDetails.contains(originalDetail.getId()) && !idsOfAddCount.contains(originalDetail.getId())) {
continue;
}
OrderOperationType orderOperationType = OrderOperationType.UNKNOWN_OPERATION_TYPE;
if (idsOfNeedUpdateMenuDetails.contains(originalDetail.getId())) {
orderOperationType = OrderOperationType.REPLACE_DISHES;
......
......@@ -201,7 +201,7 @@ public class PayServiceClient {
.setShouldUpdateStatus(true)
.setStatus(OrderStatusEnum.PREPARING)
.setShouldUpdateTransactionId(true)
.setTransactionId(paymentCallbackResult.getTransSN())
.setTransactionId(paymentCallbackResult.getTradeReferenceNo())
.build();
final var updateResponse =
orderServiceRpcClient.updateClientCustomerOrderPaymentResult(orderById, build);
......