Эх сурвалжийг харах

fix: queryOrder 反序列化缺少 order_info 嵌套层导致结算失败

设备返回 data.order_info.{字段},但代码直接以 OrderInfo 反序列化 data,
字段匹配不上全部为 null,导致 close_type 为空判为"设备仍在运行",
最终结算失败。改用 OrderInfoObject 包装类解析后再取出 inner OrderInfo。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
skyline 1 өдөр өмнө
parent
commit
b7c245d1ba

+ 4 - 2
car-wash-service/src/main/java/com/kym/service/awoara/AwoaraServiceImpl.java

@@ -13,6 +13,7 @@ import com.kym.entity.DeviceConfig;
 import com.kym.entity.awoara.ApiList;
 import com.kym.entity.awoara.MethodHelp;
 import com.kym.entity.awoara.OrderInfo;
+import com.kym.entity.awoara.OrderInfoObject;
 import com.kym.entity.awoara.response.AwoaraResponse;
 import com.kym.entity.awoara.response.CreateOrder;
 import com.kym.entity.awoara.response.HardwareInfo;
@@ -256,8 +257,9 @@ public class AwoaraServiceImpl implements AwoaraService {
                      }
                 }
                 """.formatted(orderId);
-        return doRequest(productKey, deviceName, params, new TypeReference<AwoaraResponse<OrderInfo>>() {
-        });
+        AwoaraResponse<OrderInfoObject> res = doRequest(productKey, deviceName, params,
+                new TypeReference<AwoaraResponse<OrderInfoObject>>() {});
+        return res != null && res.getData() != null ? res.getData().getOrder_info() : null;
     }
 
     @Override