Ver Fonte

fix bug

gongfuzhu há 1 ano atrás
pai
commit
aa8e5acb34

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

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

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

@@ -243,16 +243,31 @@ public class DfyHotelServiceImpl implements DfyHotelService {
 
     public ResultContent<CancelOrderResponse> cancelOrder(CancelOrderRequest 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);
-            cancelOrderRequest.setOrderId(String.valueOf(bean.getOrderId()));
-            return ResultContent.buildContent(domesticHotelApi.cancelOrder(cancelOrderRequest));
+
+        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);
+        cancelOrderRequest.setOrderId(String.valueOf(bean.getOrderId()));
+        CancelOrderResponse cancelOrderResponse = domesticHotelApi.cancelOrder(cancelOrderRequest);
+        if (cancelOrderResponse.getSuccess()) {
+            switch (goodsResultModel.getGoodsState()) {
+                case WAIT_USE:
+                    ApplicantRefundParam2Model applicantRefundParam2Model = new ApplicantRefundParam2Model();
+                    applicantRefundParam2Model.setUserId(goodsResultModel.getUserId());
+                    applicantRefundParam2Model.setId(goodsResultModel.getId());
+                    applicantRefundParam2Model.setRemark(cancelOrderRequest.getRemark());
+                    paymentService2.applicantRefund(applicantRefundParam2Model);
+                    break;
+                case WAIT_PAYMENT:
+                    paymentService2.close(cancelOrderRequest.getOrderId(), authHelper.getCurrentUser().getUserId());
+                    break;
+            }
+
         }
 
-        return ResultContent.buildContent(close);
+
+        return ResultContent.buildContent(cancelOrderResponse);
+
     }
 }