Răsfoiți Sursa

取消订单

gongfuzhu 1 an în urmă
părinte
comite
5d5ac6352d

+ 1 - 1
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/Hotel/request/CancelOrderRequest.java

@@ -15,7 +15,7 @@ public class CancelOrderRequest extends DfyBaseData {
     private String acctId;
 
     @ApiModelProperty(value = "订单ID")
-    private int orderId;
+    private String orderId;
 
 
 }

+ 20 - 2
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/impl/DfyHotelServiceImpl.java

@@ -8,7 +8,9 @@ import com.github.microservice.auth.client.content.ResultState;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.zhongshu.payment.client.model.order.v2.CreatOrderResultModel;
 import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
+import com.zhongshu.payment.client.model.order.v2.GoodsResultModel;
 import com.zhongshu.payment.client.service.v2.OrderService2;
+import com.zhongshu.payment.client.service.v2.PaymentService2;
 import com.zhongshu.payment.client.type.JobFlowMap;
 import com.zhongshu.payment.client.type.TransferOwner;
 import com.zhongshu.payment.client.type.TransferType;
@@ -17,6 +19,7 @@ import com.zswl.cloud.shop.client.vo.life.AccountDetailVo;
 import com.zswl.cloud.shop.client.vo.life.SharePlatformVo;
 import com.zswl.cloud.springBatch.client.model.dfy.Hotel.request.*;
 import com.zswl.cloud.springBatch.client.model.dfy.Hotel.response.*;
+import com.zswl.cloud.springBatch.client.model.dfy.Ticket.response.CreateOrderNewResponse;
 import com.zswl.cloud.springBatch.client.service.DfyHotelService;
 import com.zswl.cloud.springBtach.server.core.api.dfy.DomesticHotelApi;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +47,9 @@ public class DfyHotelServiceImpl implements DfyHotelService {
     @Autowired
     private ShopService shopService;
 
+    @Autowired
+    private PaymentService2 paymentService2;
+
 
     public ResultContent<QueryNewResponse> queryNew(QueryNewRequest queryNewRequest) {
         return ResultContent.buildContent(domesticHotelApi.queryNew(queryNewRequest));
@@ -115,7 +121,7 @@ public class DfyHotelServiceImpl implements DfyHotelService {
         createOrder2Model.setShopId(shopId);
         JSONObject shopInfo = JSONUtil.parseObj(hotelDetailResponse.getData());
         shopInfo.set("hotelIdPic", addOrderRequest.getHotelIdPic());
-        shopInfo.set("shopName",hotelDetailResponse.getData().getChineseName());
+        shopInfo.set("shopName", hotelDetailResponse.getData().getChineseName());
         createOrder2Model.setShopInfo(shopInfo);
         createOrder2Model.setTotalAmount(totalPrice);
         createOrder2Model.setDiscountAmount(BigDecimal.ZERO);
@@ -169,6 +175,18 @@ public class DfyHotelServiceImpl implements DfyHotelService {
     }
 
     public ResultContent<CancelOrderResponse> cancelOrder(CancelOrderRequest cancelOrderRequest) {
-        return ResultContent.buildContent(domesticHotelApi.cancelOrder(cancelOrderRequest));
+
+        ResultContent close = paymentService2.close(cancelOrderRequest.getOrderId(), authHelper.getCurrentUser().getUserId());
+        if (close.getState().equals(ResultState.Success)) {
+            ResultContent<List<GoodsResultModel>> listResultContent = orderService2.goodsDetail(cancelOrderRequest.getOrderId());
+            GoodsResultModel goodsResultModel = listResultContent.getContent().get(0);
+            String extend = goodsResultModel.getExtend();
+            CreateOrderNewResponse.Datas bean = JSONUtil.toBean(extend, CreateOrderNewResponse.Datas.class);
+            Object o = goodsResultModel.getGoodsInfo().get(bean.getOrderId());
+            cancelOrderRequest.setOrderId(String.valueOf(o));
+            return ResultContent.buildContent(domesticHotelApi.cancelOrder(cancelOrderRequest));
+        }
+
+        return ResultContent.buildContent(close);
     }
 }

+ 3 - 1
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/impl/DfyTicketServiceImpl.java

@@ -151,7 +151,9 @@ public class DfyTicketServiceImpl implements DfyTicketService {
         if (close.getState().equals(ResultState.Success)) {
             ResultContent<List<GoodsResultModel>> listResultContent = orderService2.goodsDetail(cancelOrderRequest.getOrderId());
             GoodsResultModel goodsResultModel = listResultContent.getContent().get(0);
-            Object o = goodsResultModel.getGoodsInfo().get("orderId");
+            String extend = goodsResultModel.getExtend();
+            CreateOrderNewResponse.Datas bean = JSONUtil.toBean(extend, CreateOrderNewResponse.Datas.class);
+            Object o = goodsResultModel.getGoodsInfo().get(bean.getOrderId());
             cancelOrderRequest.setOrderId(String.valueOf(o));
             ticketApi.cancelOrder(cancelOrderRequest);
         }