Ver código fonte

下单赠票产品处理,下单异常处理

lishiqiang 2 semanas atrás
pai
commit
f4c0c464cf

+ 1 - 1
ship-module-ota/ship-module-ota-api/src/main/java/com/yc/ship/module/ota/api/dto/DistributorProductRespDTO.java

@@ -30,7 +30,7 @@ public class DistributorProductRespDTO {
 
     @Schema(description = "产品skuID", example = "21389")
     private Long productSkuId;
-    @Schema(description = "出行方案id", example = "21389")
+    @Schema(description = "类型  1:游船 2:附加产品 3:赠票", example = "21389")
     private Long routePlanId;
 
     @Schema(description = "成本价", example = "14419")

+ 2 - 2
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/controller/admin/distributorproduct/vo/DistributorProductRespVO.java

@@ -40,8 +40,8 @@ public class DistributorProductRespVO {
     @ExcelProperty("产品skuID")
     private Long productSkuId;
 
-    @Schema(description = "出行方案id", example = "21389")
-    @ExcelProperty("出行方案id")
+    @Schema(description = "类型  1:游船 2:附加产品 3:赠票", example = "21389")
+    @ExcelProperty("类型  1:游船 2:附加产品 3:赠票")
     private Long routePlanId;
 
     @Schema(description = "成本价", example = "14419")

+ 1 - 1
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/controller/admin/distributorproduct/vo/DistributorProductSaveReqVO.java

@@ -32,7 +32,7 @@ public class DistributorProductSaveReqVO {
     @Schema(description = "产品skuID", example = "21389")
     private Long productSkuId;
 
-    @Schema(description = "出行方案id", example = "21389")
+    @Schema(description = "类型  1:游船 2:附加产品 3:赠票", example = "21389")
     private Long routePlanId;
 
     @Schema(description = "成本价", example = "14419")

+ 1 - 1
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/controller/admin/distributorproduct/vo/product/ProductRespVO.java

@@ -53,7 +53,7 @@ public class ProductRespVO {
     @ExcelProperty("产品合作截止时间")
     private LocalDateTime endDate;
 
-    @Schema(description = "出行方案id", example = "21389")
+    @Schema(description = "类型  1:游船 2:附加产品 3:赠票", example = "21389")
     private Long routePlanId;
 
     @Schema(description = "序号")

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/ShipTradeOrderCreateReqVO.java

@@ -180,7 +180,7 @@ public class ShipTradeOrderCreateReqVO implements Serializable {
         @NotBlank(message = "楼层ID/附加产品ID不能为空")
         private String productId;
 
-        @Schema(description = "产品类型 0 游船产品 1 附加产品", example = "")
+        @Schema(description = "产品类型 0 游船产品 1 附加产品 2:赠票", example = "")
         @NotNull(message = "产品类型不能为空")
         private Integer productType;
 

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeDetailDO.java

@@ -38,7 +38,7 @@ public class TradeDetailDO extends TenantBaseDO {
      */
     private Long hotelOrderId;
     /**
-     * 时间方案ID
+     * 类型  1:游船 2:附加产品 3:赠票
      */
     private Long routePlanId;
     /**

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -46,7 +46,7 @@ public class TradeOrderDO extends TenantBaseDO {
     @TableField(exist = false)
     private String externalOriginOrderNo;
     /**
-     * 时间方案
+     * 类型  1:游船 2:附加产品 3:赠票
      */
     @TableField(exist = false)
     private Long routePlanId;

+ 10 - 22
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/handler/CommonHandler.java

@@ -58,15 +58,15 @@ public class CommonHandler implements TradeOrderHandler{
     @Override
     public void processOrderCreateSuccess(TradeOrderDO order) {
         try {
-            if (ObjectUtil.equals(order.getSellMethod(), SellMethodEnum.OTA.getCate())) {
-                DistributorRespDTO distributorRespDTO = otaDistributorApi.getDistributorById(Long.parseLong(order.getSourceId()));
-                if (distributorRespDTO!=null){
-                    if (ObjectUtil.equals(distributorRespDTO.getTypeCode(),"tiktokCalendar")){
-                        log.error("收到接单成功推送到抖音通知:"+order.getExternalOrderNo()+";"+order.getOrderNo());
-                        tiktokCalendarService.orderConfirm(distributorRespDTO, order.getExternalOrderNo(), 1);
-                    }
-                }
-            }
+//            if (ObjectUtil.equals(order.getSellMethod(), SellMethodEnum.OTA.getCate())) {
+//                DistributorRespDTO distributorRespDTO = otaDistributorApi.getDistributorById(Long.parseLong(order.getSourceId()));
+//                if (distributorRespDTO!=null){
+//                    if (ObjectUtil.equals(distributorRespDTO.getTypeCode(),"tiktokCalendar")){
+//                        log.error("收到接单成功推送到抖音通知:"+order.getExternalOrderNo()+";"+order.getOrderNo());
+//                        tiktokCalendarService.orderConfirm(distributorRespDTO, order.getExternalOrderNo(), 1);
+//                    }
+//                }
+//            }
         }catch (Exception e) {
             log.error("抖音推送异常",e);
         }
@@ -96,20 +96,8 @@ public class CommonHandler implements TradeOrderHandler{
 
     @Override
     public void afterProcessSuccess(TradeOrderDO tradeOrderDO) {
-        //自动关联订单
-        TradeOrderService tradeOrderService = SpringUtil.getBean(TradeOrderService.class);
-        tradeOrderService.autoBindRelatedOrder(tradeOrderDO);
-        //合并增加订单
-        if(ObjectUtil.equal(tradeOrderDO.getIsAddOrder(),YES)){
-            tradeOrderService.mergeAddOrder(tradeOrderDO);
-        }
-        //修改内部旅行社平台金额
+        //旅行社平台金额
         tradeOrderBizService.updatePlatAmountAfterProcessSuccess(tradeOrderDO);
-        //发送二次确认订单延迟消息
-        if(ObjectUtil.equal(tradeOrderDO.getConfirmType(), TradeOrderConfirmTypeEnum.NEED.getType())){
-            Integer payTimeOut = configUtils.getConfirmOrderTimeOut();
-            tradePublishUtils.publishConfirmOrderDelayMsg(tradeOrderDO.getId().toString(),payTimeOut * 60000);
-        }
     }
 
 

+ 8 - 11
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/handler/TradeStockOrderHandler.java

@@ -1,11 +1,9 @@
 package com.yc.ship.module.trade.service.order.handler;
 
-import com.alibaba.fastjson.JSONArray;
 import com.yc.ship.module.product.api.VoyageApi;
 import com.yc.ship.module.product.api.dto.OrderRoomUseDTO;
 import com.yc.ship.module.product.api.dto.ReduceStockReqDTO;
 import com.yc.ship.module.product.enums.DistributorOrStoreEnum;
-import com.yc.ship.module.trade.dal.dataobject.order.TradeDetailDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO;
 import com.yc.ship.module.trade.enums.TradeOrderStatusEnum;
@@ -20,7 +18,9 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 @Component
 @Order(TradeOrderHandler.PRE_ORDER_STOCK)
@@ -33,11 +33,8 @@ public class TradeStockOrderHandler implements TradeOrderHandler{
     @Override
     public void beforeOrderCreate(TradeOrderBO order) {
         Integer sellMethod = order.getTradeOrderDO().getSellMethod();
-
-        switch (sellMethod) {
-            case 1: //OTC
-                reduceStock(order);
-                break;
+        if (sellMethod == 1) { //OTC
+            reduceStock(order);
         }
 
     }
@@ -57,11 +54,11 @@ public class TradeStockOrderHandler implements TradeOrderHandler{
             if(roomNums != null) {
                 return roomNums.stream();
             }
-            return new ArrayList<TradeVisitorDO>().stream();
+            return Stream.empty();
         }).collect(Collectors.toList());
         List<OrderRoomUseDTO> orderRoomUseDTOList = new ArrayList<>();
-        Map<String, Long> collect = tradeDetailDOList.stream().collect(Collectors.groupingBy(TradeVisitorDO::getRoomId, Collectors.counting()));
-        collect.keySet().stream().forEach(roomId -> {
+        Map<String, Long> collect = tradeDetailDOList.stream().filter(tradeVisitorDO -> tradeVisitorDO.getRoomId() != null).collect(Collectors.groupingBy(TradeVisitorDO::getRoomId, Collectors.counting()));
+        collect.keySet().forEach(roomId -> {
             OrderRoomUseDTO orderRoomUseDTO = new OrderRoomUseDTO();
             orderRoomUseDTO.setRoomId(Long.valueOf(roomId));
             orderRoomUseDTO.setNum(BigDecimal.valueOf(collect.get(roomId)).divide(new BigDecimal(2)));
@@ -69,7 +66,7 @@ public class TradeStockOrderHandler implements TradeOrderHandler{
         });
         reqDTO.setOrderRoomList(orderRoomUseDTOList);
         Integer orderStatus = reqDTO.getOrderStatus();
-        if(orderStatus == TradeOrderStatusEnum.YD.getStatus()) {
+        if(Objects.equals(orderStatus, TradeOrderStatusEnum.YD.getStatus())) {
             voyageApi.preReduceStock(reqDTO);
         }else {
             //TODO:走定单扣库存

+ 45 - 18
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -2250,25 +2250,52 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         BigDecimal spuMoney = new BigDecimal(0);
         for (TradeSpuReqVO tradeSpuReqVO : createVO.getSpuList()) {
             ShipTradeOrderCreateReqVO.OrderDetail orderDetail1 = new ShipTradeOrderCreateReqVO.OrderDetail();
-            List<ShipTradeOrderCreateReqVO.Visitor> visitorList1 = new ArrayList<>();
-            for (TradeVistorReqVO tradeVistorReqVO : tradeSpuReqVO.getVistorList()) {
-                ShipTradeOrderCreateReqVO.Visitor visitor = new ShipTradeOrderCreateReqVO.Visitor();
-                visitor.setName(tradeVistorReqVO.getName());
-                visitor.setMobile(tradeVistorReqVO.getPhone());
-                visitor.setCredentialNo(tradeVistorReqVO.getCardNo());
-                visitor.setCredentialType(tradeVistorReqVO.getCardType());
-                visitor.setYczz(tradeVistorReqVO.getYichang());
-                visitor.setCqzz(tradeVistorReqVO.getChongqing());
-                visitorList1.add(visitor);
-                spuMoney = spuMoney.add(tradeSpuReqVO.getPrice());
+            //0 游船产品 1 附加产品 2:赠票
+            if(tradeSpuReqVO.getProductId()!=null && !tradeSpuReqVO.getVistorList().isEmpty()) {
+                orderDetail1.setProductType(1);
+            }else if(tradeSpuReqVO.getProductId() != null) {
+                orderDetail1.setProductType(2);
+            }else{
+                orderDetail1.setProductType(0);
+            }
+            if(orderDetail1.getProductType()==0||orderDetail1.getProductType()==1) {
+                List<ShipTradeOrderCreateReqVO.Visitor> visitorList1 = new ArrayList<>();
+                for (TradeVistorReqVO tradeVistorReqVO : tradeSpuReqVO.getVistorList()) {
+                    ShipTradeOrderCreateReqVO.Visitor visitor = new ShipTradeOrderCreateReqVO.Visitor();
+                    visitor.setName(tradeVistorReqVO.getName());
+                    visitor.setMobile(tradeVistorReqVO.getPhone());
+                    visitor.setCredentialNo(tradeVistorReqVO.getCardNo());
+                    visitor.setCredentialType(tradeVistorReqVO.getCardType());
+                    visitor.setYczz(tradeVistorReqVO.getYichang());
+                    visitor.setCqzz(tradeVistorReqVO.getChongqing());
+                    visitorList1.add(visitor);
+                    spuMoney = spuMoney.add(tradeSpuReqVO.getPrice());
+                }
+                orderDetail1.setVisitorList(visitorList1);
+                orderDetail1.setProductId(tradeSpuReqVO.getProductId() + "");
+                orderDetail1.setPrice(tradeSpuReqVO.getPrice());
+                orderDetail1.setOriginPrice(tradeSpuReqVO.getPrice());
+                orderDetail1.setCount(visitorList1.size());
+                detailList.add(orderDetail1);
+            }else{
+                List<ShipTradeOrderCreateReqVO.Visitor> visitorList1 = new ArrayList<>();
+                for (TradeVistorReqVO tradeVistorReqVO : createVO.getTourist()) {
+                    ShipTradeOrderCreateReqVO.Visitor visitor = new ShipTradeOrderCreateReqVO.Visitor();
+                    visitor.setName(tradeVistorReqVO.getName());
+                    visitor.setMobile(tradeVistorReqVO.getPhone());
+                    visitor.setCredentialNo(tradeVistorReqVO.getCardNo());
+                    visitor.setCredentialType(tradeVistorReqVO.getCardType());
+                    visitor.setYczz(tradeVistorReqVO.getYichang());
+                    visitor.setCqzz(tradeVistorReqVO.getChongqing());
+                    visitorList1.add(visitor);
+                }
+                orderDetail1.setVisitorList(visitorList1);
+                orderDetail1.setProductId(tradeSpuReqVO.getProductId() + "");
+                orderDetail1.setPrice(BigDecimal.ZERO);
+                orderDetail1.setOriginPrice(BigDecimal.ZERO);
+                orderDetail1.setCount(visitorList1.size());
+                detailList.add(orderDetail1);
             }
-            orderDetail1.setVisitorList(visitorList1);
-            orderDetail1.setProductType(1);
-            orderDetail1.setProductId(tradeSpuReqVO.getProductId()+"");
-            orderDetail1.setPrice(tradeSpuReqVO.getPrice());
-            orderDetail1.setOriginPrice(tradeSpuReqVO.getPrice());
-            orderDetail1.setCount(visitorList1.size());
-            detailList.add(orderDetail1);
         }