Explorar o código

禅道bug修改,下单存游客房间号

lishiqiang hai 1 mes
pai
achega
963569f2f4

+ 9 - 8
ship-module-trade/ship-module-trade-api/src/main/java/com/yc/ship/module/trade/enums/TradeOrderStatusEnum.java

@@ -15,22 +15,23 @@ import java.util.Arrays;
 @Getter
 public enum TradeOrderStatusEnum implements IntArrayValuable {
 
-    CANCELED(-2, "取消"),//主动取消、系统自动取消
-    FAIL(-1, "下单失败"),//供应商订单下单失败,造成订单失败
-    INIT(0, "初始待确认"),//通过规则、库存验证,等待供应商确认
-    UNPAID(1, "待支付"),//已确认,等待支付
+    CANCELED(-2, "取消"),//主动取消、系统自动取消
+    FAIL(-1, "预定失败"),//供应商订单下单失败,造成订单失败
+    INIT(0, "待确认"),//通过规则、库存验证,等待供应商确认
+    UNPAID(1, "预定"),//已确认,等待支付
     PAYING(2, "支付中"),
     PAID(3, "已支付"),
-    PROCESSING(4, "出票中"),//供应商出票中
-    PROCESS_FAIL(5, "出票失败"),//供应商出票失败
-    UNUSED(6, "待使用"),
+    PROCESSING(4, "预定中"),//供应商出票中
+    PROCESS_FAIL(5, "预定失败"),//供应商出票失败
+    UNUSED(6, "确认"),
     PART_CHECK(7, "部分核销"),//部分核销
     ALL_CHECK(8, "全部核销"),//全部核销
     PARTIAL_REFUND(9, "部分退款"),//部分退款, > 部分核销
     REFUNDING(10, "退款中"),//退款中
     ALL_REFUND(11, "全部退款"),//全部退款
     EXPIRED(12, "已过期"),//订单未使用,但已不可整单退
-    TRANSFER(13, "已转交");//订单已转交
+    TRANSFER(13, "已转交"),//订单已转交
+    YD(14, "初定");//订单已转交
 
 
     public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TradeOrderStatusEnum::getStatus).toArray();

+ 10 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java

@@ -116,6 +116,16 @@ public class OtcTradeOrderController {
         return otcTradeOrderService.createOtcOrder(agencyAuthUtils.getAgencyLoginUser(), createVO);
     }
 
+    @RequestDecryption
+    @PostMapping("/travl/createOtcFisrtOrder")
+    @Operation(summary = "win-旅行社游船订单创建-预定单")
+    @OperateLog(type = TRADE)
+    @TradeRateLimit(name = "createOtcFisrtOrder", limitNum = 2, limitTime = 5)
+    public CommonResult<?> createOtcFisrtOrder(@Validated(value = WindowCreateOrderGroup.class)  @RequestBody TradeOrderOtcCreateVO createVO) {
+        createVO.setIsYd(1);
+        return otcTradeOrderService.createOtcOrder(agencyAuthUtils.getAgencyLoginUser(), createVO);
+    }
+
     @RequestDecryption
     @PostMapping("/travl/payOrder")
     @Operation(summary = "win-旅行社下单支付订单")

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

@@ -73,6 +73,9 @@ public class ShipTradeOrderCreateReqVO implements Serializable {
     @Schema(description = "是否改签 0 否 1是", example = "")
     private Integer isChange;
 
+    @Schema(description = "是否预订单 0 否 1是", example = "")
+    private Integer isYd;
+
     @Schema(description = "是否补票 0 否 1是", example = "")
     private Integer isTimePay;
 
@@ -219,6 +222,9 @@ public class ShipTradeOrderCreateReqVO implements Serializable {
 
         @Schema(description = "是否投保 0否 1是", example = "")
         private Integer isInsure;
+
+        @Schema(description = "房间id", example = "")
+        private Long roomId;
     }
 
 

+ 3 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderOtcCreateVO.java

@@ -40,6 +40,9 @@ public class TradeOrderOtcCreateVO {
     @Schema(description = "备注")
     private String remark;
 
+    @Schema(description = "是否预订单 0 否 1是")
+    private Integer isYd;
+
     @Schema(description = "国籍数据")
     List<TradeOrderCountryReqVO> countryData;
 

+ 3 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeVistorReqVO.java

@@ -42,4 +42,7 @@ public class TradeVistorReqVO {
 
     @Schema(description = "是否重庆中转 0:否 1是")
     private Integer chongqing;
+
+    @Schema(description = "房间ID")
+    private Long roomId;
 }

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeVisitorDO.java

@@ -91,4 +91,6 @@ public class TradeVisitorDO extends TenantBaseDO {
 
     @Schema(description = "是否重庆中转 0:否 1是")
     private Integer cqzz;
+
+    private Long roomId;
 }

+ 4 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java

@@ -747,6 +747,9 @@ public class TradeOrderServiceImpl implements TradeOrderService {
             tradeOrderDO.setOrderNo(tradeUUCodeUtils.generateOrderNo(ORDER_PREFIX));
         }
         tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.INIT.getStatus());
+        if(orderCreateReqDTO.getIsYd() == 1){
+            tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.YD.getStatus());
+        }
         //订单联系人
         TradeOrderUserDO tradeOrderUserDO = new TradeOrderUserDO();
         tradeOrderUserDO.setId(IdWorker.getId());
@@ -865,6 +868,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
                 tradeVisitorDO.setCredentialType(visitor.getCredentialType());
                 tradeVisitorDO.setCredentialNo(visitor.getCredentialNo());
                 tradeVisitorDO.setDeleted(false);
+                tradeVisitorDO.setRoomId(visitor.getRoomId());
                 tradeVisitorDO.setCreateTime(LocalDateTime.now());
                 tradeVisitorDOList.add(tradeVisitorDO);
             }

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

@@ -2233,6 +2233,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         orderUser.setEmail(createVO.getLinkEmail());
         shipTradeOrderCreateReqVO.setOrderUser(orderUser);
         shipTradeOrderCreateReqVO.setRemark(createVO.getRemark());
+        shipTradeOrderCreateReqVO.setIsYd(createVO.getIsYd());
 
         shipTradeOrderCreateReqVO.setTravelDate(createVO.getBoardingTime());
         shipTradeOrderCreateReqVO.setOrderNo(orderNo);
@@ -2263,9 +2264,16 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         }
         orderDetail.setVisitorList(visitorList);
         orderDetail.setCount(visitorList.size());
-        BigDecimal price =  createVO.getSummary().getOrderMoney().divide(new BigDecimal(visitorList.size()),2, RoundingMode.HALF_UP);
-        orderDetail.setPrice(price);
-        orderDetail.setOriginPrice(price);
+        if(createVO.getSummary().getOrderMoney()!=null && createVO.getSummary().getOrderMoney().compareTo(new BigDecimal(0))>0) {
+            BigDecimal price = createVO.getSummary().getOrderMoney().divide(new BigDecimal(visitorList.size()), 2, RoundingMode.HALF_UP);
+            orderDetail.setPrice(price);
+            orderDetail.setOriginPrice(price);
+        }else{
+            BigDecimal price = new BigDecimal(0);
+            orderDetail.setPrice(price);
+            orderDetail.setOriginPrice(price);
+        }
+
         orderDetail.setProductType(0);
         detailList.add(orderDetail);
 

+ 0 - 8
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/pay/impl/TradeOrderPayServiceImpl.java

@@ -528,11 +528,6 @@ public class TradeOrderPayServiceImpl implements TradeOrderPayService {
                 Asserts.isTrue(payOrderReqVO.getPayAmount().compareTo(BigDecimal.ZERO) == 0,"当前渠道支付方式错误");
             }
         }
-//        //定向库存订单支付方式只能是定向金支付
-//        if(ObjectUtils.equalsAny(tradeOrder.getIsDirect(),STOCK_DIRECT_TYPE_DIRECT)){
-//            Asserts.isTrue(ObjectUtils.equalsAny(payOrderReqVO.getPayType(),PayTypeEnum.STOCK_DIRECT_PAY.getType(),PayTypeEnum.OTHER.getType()),"定向库存订单只能用定向金支付");
-//        }
-
         //平台订单,验证当前登录分销商是否有该订单权限
         if(ObjectUtils.equalsAny(tradeOrder.getSellMethod(),SellMethodEnum.OTC_MOVE_ORDER.getType(),SellMethodEnum.OTA_SYSTEM.getType())){
             DistributorRespDTO distributorRespDTO = agencyAuthUtils.getLoginUserDistributorData();
@@ -540,9 +535,6 @@ public class TradeOrderPayServiceImpl implements TradeOrderPayService {
                 Asserts.isTrue(ObjectUtil.equal(distributorRespDTO.getId().toString(),tradeOrder.getSourceId()),"当前账号无该数据权限");
             }
         }
-
-//        BigDecimal hadPayAmount = tradeOrderRepositoryService.getHadPayAmount(tradeOrder.getId());
-//        Asserts.isTrue((tradeOrder.getPayAmount().subtract(hadPayAmount)).compareTo(payOrderReqVO.getPayAmount())>=0,"支付金额大于订单需支付金额");
     }
 
     /**