lishiqiang 1 місяць тому
батько
коміт
832a0dd6b2

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

@@ -119,6 +119,15 @@ public class OtcTradeOrderController {
         return otcTradeOrderService.createOtcOrder(agencyAuthUtils.getAgencyLoginUser(), createVO);
     }
 
+    @RequestDecryption
+    @PostMapping("/travl/createMoveOrder")
+    @Operation(summary = "win-旅行社游船订单搬单创建")
+    @OperateLog(type = TRADE)
+    @TradeRateLimit(name = "createMoveOrder", limitNum = 2, limitTime = 5)
+    public CommonResult<?> createMoveOrder(@Validated(value = WindowCreateOrderGroup.class)  @RequestBody TradeOrderOtcCreateVO createVO) {
+        return otcTradeOrderService.createOtcOrder(agencyAuthUtils.getAgencyLoginUser(), createVO);
+    }
+
     @RequestDecryption
     @GetMapping("/travl/getOrderById")
     @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/TradeOrderOtcCreateVO.java

@@ -58,6 +58,12 @@ public class TradeOrderOtcCreateVO {
     @Schema(description = "接站联系电话")
     private String jzLinkPhone;
 
+    @Schema(description = "分销商ID", example = "MT1231312")
+    private Long distributorId;
+
+    @Schema(description = "门店ID", example = "123")
+    private Long storeId;
+
 
     @Schema(description = "国籍数据")
     List<TradeOrderCountryReqVO> countryData;

+ 3 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/job/OrderStausJob.java

@@ -43,6 +43,7 @@ public class OrderStausJob implements JobHandler {
      * @return 固定返回字符串"成功"
      */
     @Override
+    @TenantJob
     public String execute(String param) {
         ShipSaleRuleDO shipSaleRuleOne = shipSaleRuleService.getShipSaleRuleOne();
         int  qdday = shipSaleRuleOne.getQdDay();
@@ -53,6 +54,7 @@ public class OrderStausJob implements JobHandler {
         calendar.set(Calendar.HOUR_OF_DAY, qdhour);
         Date time = calendar.getTime();
         List<TradeOrderDO> tradeOrderByExpire = tradeOrderService.getTradeOrderByExpire(DateUtil.format(time, "yyyy-MM-dd HH:mm:ss"));
+        log.error("自动确认订单时间:{},tradeOrderByExpire={}", DateUtil.format(time, "yyyy-MM-dd HH:mm:ss"),tradeOrderByExpire.size());
         tradeOrderByExpire.forEach(tradeOrderDO -> {
             try {
                 LoginUser agencyUser = new LoginUser();
@@ -65,6 +67,7 @@ public class OrderStausJob implements JobHandler {
                 payOrderReqVO.setStoreId(tradeOrderDO.getStoreId());
                 payOrderReqVO.setAccountId("9999");
                 otcTradeOrderService.windowPayOrder(agencyUser, payOrderReqVO);
+                log.error("自动确认订单成功:{}", tradeOrderDO.getOrderNo());
             }catch (Exception e){
                 log.error(tradeOrderDO.getOrderNo()+";自动确认订单失败", e);
             }

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

@@ -2192,25 +2192,28 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public CommonResult<?> createOtcOrder(LoginUser loginUser, TradeOrderOtcCreateVO createVO) {
-        Long distributorId = loginUser.getDistributorId();
-        Long storeId = loginUser.getStoreId();
+        Long distributorId = createVO.getDistributorId()!=null ? createVO.getDistributorId() :loginUser.getDistributorId();
+        Long storeId = createVO.getStoreId()!=null ? createVO.getStoreId() : loginUser.getStoreId();
         //获取当前分销商信息
         if(distributorId==null) {
             return CommonResult.error(ORDER_OTC_FAIL);
         }
-        if(storeId==null) {
-            return CommonResult.error(ORDER_STORE_FAIL);
-        }
+//        if(storeId==null) {
+//            return CommonResult.error(ORDER_STORE_FAIL);
+//        }
         //获取当前分销商信息
         DistributorDO distributorDO = distributorMapper.selectById(distributorId);
         if(distributorDO==null) {
             return CommonResult.error(ORDER_OTC_NONE);
         }
         //获取当前门店
-        StoreInfoRespDTO storeInfo = storeApi.getStoreInfo(storeId);
-        if(storeInfo==null) {
-            return CommonResult.error(ORDER_STORE_NONE);
+        StoreInfoRespDTO storeInfo = null;
+        if(storeId!=null){
+            storeInfo = storeApi.getStoreInfo(storeId);
         }
+//        if(storeInfo==null) {
+//            return CommonResult.error(ORDER_STORE_NONE);
+//        }
         VoyageRespDTO voyage = productApi.getVoyage(createVO.getVoyageId());
         String date = DateUtils.format(new Date(),"yyyyMMddmmss");
         String orderNo = distributorDO.getCode()+"-"+voyage.getCode()+"-"+date;
@@ -2239,8 +2242,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         orderProperty.setSellMethod(SellMethodEnum.OTC.getType());
         orderProperty.setSourceId(distributorDO.getId()+"");
         orderProperty.setSourceName(distributorDO.getName()+"");
-        orderProperty.setStoreId(storeInfo.getId());
-        orderProperty.setStoreName(storeInfo.getName()+"");
+        if(storeInfo!=null) {
+            orderProperty.setStoreId(storeInfo.getId());
+            orderProperty.setStoreName(storeInfo.getName() + "");
+        }
         orderProperty.setSellMethod(SellMethodEnum.OTC.getType());
 
         shipTradeOrderCreateReqVO.setOrderProperty(orderProperty);
@@ -2401,24 +2406,24 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public CommonResult<?> motifyOtcOrder(LoginUser loginUser, TradeOrderOtcCreateVO createVO) {
-        Long distributorId = loginUser.getDistributorId();
-        Long storeId = loginUser.getStoreId();
+        Long distributorId = createVO.getDistributorId()!=null ? createVO.getDistributorId() :loginUser.getDistributorId();
+        Long storeId = createVO.getStoreId()!=null ? createVO.getStoreId() : loginUser.getStoreId();
         //获取当前分销商信息
         if(distributorId==null) {
             return CommonResult.error(ORDER_OTC_FAIL);
         }
-        if(storeId==null) {
-            return CommonResult.error(ORDER_STORE_FAIL);
-        }
+//        if(storeId==null) {
+//            return CommonResult.error(ORDER_STORE_FAIL);
+//        }
         //获取当前分销商信息
         DistributorDO distributorDO = distributorMapper.selectById(distributorId);
         if(distributorDO==null) {
             return CommonResult.error(ORDER_OTC_NONE);
         }
         //获取当前门店
-        StoreInfoRespDTO storeInfo = storeApi.getStoreInfo(storeId);
-        if(storeInfo==null) {
-            return CommonResult.error(ORDER_STORE_NONE);
+        StoreInfoRespDTO storeInfo = null;
+        if(storeId!=null) {
+            storeInfo = storeApi.getStoreInfo(storeId);
         }
         Long orderId = createVO.getOrderId();
         TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
@@ -2452,8 +2457,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         orderProperty.setSellMethod(SellMethodEnum.OTC.getType());
         orderProperty.setSourceId(distributorDO.getId()+"");
         orderProperty.setSourceName(distributorDO.getName()+"");
-        orderProperty.setStoreId(storeInfo.getId());
-        orderProperty.setStoreName(storeInfo.getName()+"");
+        if(storeInfo!=null) {
+            orderProperty.setStoreId(storeInfo.getId());
+            orderProperty.setStoreName(storeInfo.getName() + "");
+        }
         orderProperty.setSellMethod(SellMethodEnum.OTC.getType());
 
         shipTradeOrderCreateReqVO.setOrderProperty(orderProperty);

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeOrderMapper.xml

@@ -1406,7 +1406,7 @@
 
     </select>
     <select id="getTradeOrderByExpire"  resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO">
-        select * from trade_order where order_status =14 and travel_date <![CDATA[ <= ]]> #{vo.travelDateEnd}
+        select * from trade_order where order_status =14 and travel_date <![CDATA[ <= ]]> #{expiretime}
     </select>
 
     <select id="getPageRefundRecord"