lishiqiang 3 tygodni temu
rodzic
commit
5108acd632
12 zmienionych plików z 106 dodań i 26 usunięć
  1. 6 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/refund/RefundPageReqVO.java
  2. 7 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/refund/RefundRecordPageReqVO.java
  3. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderDO.java
  4. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/tradeOrderaudit/TradeOrderAuditDO.java
  5. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeOrderMapper.java
  6. 8 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/orderjz/OrderJzMapper.java
  7. 8 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/tradeOrderaudit/TradeOrderAuditMapper.java
  8. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderRepositoryService.java
  9. 11 15
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java
  10. 2 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java
  11. 25 6
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java
  12. 27 3
      ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeOrderMapper.xml

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

@@ -114,4 +114,10 @@ public class RefundPageReqVO extends PageParam {
     @Schema(description = "航次ID")
     private Long voyageId;
 
+    @Schema(description = "分销商分组ID", example = "张三")
+    private List<String> otaCateIds;
+
+    @Schema(description = "分销商ID", example = "张三")
+    private String otaId;
+
 }

+ 7 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/refund/RefundRecordPageReqVO.java

@@ -9,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
 import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -98,4 +99,10 @@ public class RefundRecordPageReqVO extends PageParam {
 
     @Schema(description = "航次ID")
     private Long voyageId;
+
+    @Schema(description = "分销商分组ID", example = "张三")
+    private List<String> otaCateIds;
+
+    @Schema(description = "分销商ID", example = "张三")
+    private String otaId;
 }

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

@@ -3,6 +3,7 @@ package com.yc.ship.module.trade.dal.dataobject.order;
 import com.baomidou.mybatisplus.annotation.*;
 
 import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
+import com.yc.ship.module.trade.dal.dataobject.tradeOrderaudit.TradeOrderAuditDO;
 import com.yc.ship.module.trade.enums.SellMethodEnum;
 import com.yc.ship.module.trade.enums.TradeOrderStatusEnum;
 import com.yc.ship.module.trade.enums.invoice.InvoiceStatusEnum;
@@ -13,6 +14,7 @@ import lombok.*;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 交易订单 DO
@@ -305,4 +307,7 @@ public class TradeOrderDO extends TenantBaseDO {
      */
     @ForUpdate(fieldName = "客户名称")
     private String customerName;
+
+    @TableField(exist = false)
+    private List<TradeOrderAuditDO> tradeOrderAuditList;
 }

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/tradeOrderaudit/TradeOrderAuditDO.java

@@ -29,6 +29,11 @@ public class TradeOrderAuditDO extends BaseDO {
      */
     @TableId
     private Long id;
+
+    /**
+     * 订单ID
+     */
+    private Long orderId;
     /**
      * 订单号
      */

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/order/TradeOrderMapper.java

@@ -166,6 +166,7 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
     List<TradeOrderDO> selectCanBindOrderList(@Param("vo") TradeBindOrderQueryBO vo);
 
     void deleteOrderById(@Param("orderId") Long orderId);
+    void deleteOrderByOrderNo(@Param("orderNo") String orderNo);
 
     int getInvoiceOrderCount(@Param("orderNo") String orderNo);
 

+ 8 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/orderjz/OrderJzMapper.java

@@ -3,9 +3,12 @@ package com.yc.ship.module.trade.dal.mysql.orderjz;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.yc.ship.framework.mybatis.core.mapper.BaseMapperX;
+import com.yc.ship.framework.tenant.core.aop.TenantIgnore;
 import com.yc.ship.module.trade.controller.admin.orderjz.vo.OrderJzPageReqVO;
 import com.yc.ship.module.trade.dal.dataobject.orderjz.OrderJzDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * 订单接站 Mapper
@@ -25,4 +28,9 @@ public interface OrderJzMapper extends BaseMapperX<OrderJzDO> {
                 .orderByDesc(OrderJzDO::getId));
     }
 
+
+    @Update("UPDATE trade_order_jz SET deleted = #{deleted},update_time = now() WHERE order_id = #{orderId}")
+    @TenantIgnore
+    void updateDeleted(@Param("orderId") Long orderId, @Param("deleted")  int deleted);
+
 }

+ 8 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/tradeOrderaudit/TradeOrderAuditMapper.java

@@ -7,6 +7,8 @@ import com.yc.ship.module.trade.controller.admin.tradeOrderaudit.vo.TradeOrderAu
 import com.yc.ship.module.trade.dal.dataobject.tradeOrderaudit.TradeOrderAuditDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 订单审核记录 Mapper
  *
@@ -34,4 +36,10 @@ public interface TradeOrderAuditMapper extends BaseMapperX<TradeOrderAuditDO> {
                 .orderByDesc(TradeOrderAuditDO::getCreateTime)
                 .last("LIMIT 1"));
     }
+
+    default List<TradeOrderAuditDO> selectNewAuditorByOrderId(Long orderId) {
+        return selectList(new LambdaQueryWrapperX<TradeOrderAuditDO>()
+                .eq(TradeOrderAuditDO::getOrderId, orderId)
+                .orderByDesc(TradeOrderAuditDO::getCreateTime));
+    }
 }

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderRepositoryService.java

@@ -40,7 +40,7 @@ public interface TradeOrderRepositoryService {
      */
     void saveOrder(TradeOrderBO tradeOrderBO);
 
-    void modifyOrder(TradeOrderBO tradeOrderBO);
+    void modifyOrder(TradeOrderBO tradeOrderBO,Long oldOrderId);
 
     /**
      * 更新订单状态

+ 11 - 15
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java

@@ -142,32 +142,28 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void modifyOrder(TradeOrderBO tradeOrderBO) {
+    public void modifyOrder(TradeOrderBO tradeOrderBO,Long oldOrderId) {
         try {
 
-            tradeOrderMapper.update(new LambdaUpdateWrapper<TradeOrderDO>()
-                    .set(TradeOrderDO::getDeleted, 1)
-                    .set(TradeOrderDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                    .eq(TradeOrderDO::getOrderNo, tradeOrderBO.getTradeOrderDO().getOrderNo())
-            );
+            tradeOrderMapper.updateOrderDeleted(oldOrderId,1);
             tradeOrderMapper.insert(tradeOrderBO.getTradeOrderDO());
 
-            orderJzMapper.delete(new LambdaUpdateWrapper<OrderJzDO>().eq(OrderJzDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId()));
+            orderJzMapper.delete(new LambdaUpdateWrapper<OrderJzDO>().eq(OrderJzDO::getOrderId, oldOrderId));
             orderJzMapper.insert(tradeOrderBO.getOrderJzDO());
 
-            tradeOrderBindMapper.update(new LambdaUpdateWrapper<TradeOrderBindDO>().set(TradeOrderBindDO::getDeleted, 1).set(TradeOrderBindDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime()).eq(TradeOrderBindDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId()));
+            tradeOrderBindMapper.update(new LambdaUpdateWrapper<TradeOrderBindDO>().set(TradeOrderBindDO::getDeleted, 1).set(TradeOrderBindDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime()).eq(TradeOrderBindDO::getOrderId, oldOrderId));
             if (tradeOrderBO.getTradeOrderBindDO() != null) {
                 tradeOrderBindMapper.insert(tradeOrderBO.getTradeOrderBindDO());
             }
 
-            tradeOrderUserMapper.update(new LambdaUpdateWrapper<TradeOrderUserDO>().set(TradeOrderUserDO::getDeleted, 1).set(TradeOrderUserDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime()).eq(TradeOrderUserDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId()));
+            tradeOrderUserMapper.update(new LambdaUpdateWrapper<TradeOrderUserDO>().set(TradeOrderUserDO::getDeleted, 1).set(TradeOrderUserDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime()).eq(TradeOrderUserDO::getOrderId, oldOrderId));
             tradeOrderUserMapper.insert(tradeOrderBO.getTradeOrderUserDO());
 
             if (tradeOrderBO.getTradeOrderDeliveryDO() != null) {
                 tradeOrderDeliveryMapper.update(new LambdaUpdateWrapper<TradeOrderDeliveryDO>()
                         .set(TradeOrderDeliveryDO::getDeleted, 1)
                         .set(TradeOrderDeliveryDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                        .eq(TradeOrderDeliveryDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId())
+                        .eq(TradeOrderDeliveryDO::getOrderId, oldOrderId)
                 );
                 tradeOrderDeliveryMapper.insert(tradeOrderBO.getTradeOrderDeliveryDO());
             }
@@ -176,7 +172,7 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                 tradeDetailMapper.update(new LambdaUpdateWrapper<TradeDetailDO>()
                         .set(TradeDetailDO::getDeleted, 1)
                         .set(TradeDetailDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                        .eq(TradeDetailDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId())
+                        .eq(TradeDetailDO::getOrderId, oldOrderId)
                 );
                 tradeDetailMapper.insertBatch(tradeOrderDetailBO.getTradeDetailDOList());
 
@@ -184,7 +180,7 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                 tradeDetailBaseMapper.update(new LambdaUpdateWrapper<TradeDetailBaseDO>()
                         .set(TradeDetailBaseDO::getDeleted, 1)
                         .set(TradeDetailBaseDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                        .eq(TradeDetailBaseDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId())
+                        .eq(TradeDetailBaseDO::getOrderId, oldOrderId)
                 );
                 tradeDetailBaseMapper.insertBatch(tradeOrderDetailBO.getTradeDetailBaseDOList());
 
@@ -192,7 +188,7 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                 tradeVisitorMapper.update(new LambdaUpdateWrapper<TradeVisitorDO>()
                         .set(TradeVisitorDO::getDeleted, 1)
                         .set(TradeVisitorDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                        .eq(TradeVisitorDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId())
+                        .eq(TradeVisitorDO::getOrderId, oldOrderId)
                 );
                 tradeVisitorMapper.insertBatch(tradeOrderDetailBO.getTradeVisitorDOList());
 
@@ -200,7 +196,7 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                     tradeOrderHotelMapper.update(new LambdaUpdateWrapper<TradeOrderHotelDO>()
                             .set(TradeOrderHotelDO::getDeleted, 1)
                             .set(TradeOrderHotelDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                            .eq(TradeOrderHotelDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId())
+                            .eq(TradeOrderHotelDO::getOrderId, oldOrderId)
                     );
                     tradeOrderHotelMapper.insert(tradeOrderDetailBO.getTradeOrderHotelDO());
                 }
@@ -208,7 +204,7 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                     tradeDetailPriceMapper.update(new LambdaUpdateWrapper<TradeDetailPriceDO>()
                             .set(TradeDetailPriceDO::getDeleted, 1)
                             .set(TradeDetailPriceDO::getUpdateTime, tradeOrderBO.getUpdateTime()==null?new Date():tradeOrderBO.getUpdateTime())
-                            .eq(TradeDetailPriceDO::getOrderId, tradeOrderBO.getTradeOrderDO().getId())
+                            .eq(TradeDetailPriceDO::getOrderId, oldOrderId)
                     );
                     tradeDetailPriceMapper.insertBatch(tradeOrderDetailBO.getTradeDetailPriceDOList());
                 }

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

@@ -217,7 +217,8 @@ public class TradeOrderServiceImpl implements TradeOrderService {
 
             String changedFields = BeanUtils.getChangedFields(shipTradeOrderCreateReqVO.getOldtradeOrderDO(), tradeOrderBO.getTradeOrderDO());
             System.err.println("changedFields=" + changedFields + shipTradeOrderCreateReqVO.getChangedFields1());
-            tradeOrderRepositoryService.modifyOrder(tradeOrderBO);
+            tradeOrderBO.getTradeOrderBindDO().setRemark(changedFields + shipTradeOrderCreateReqVO.getChangedFields1());
+            tradeOrderRepositoryService.modifyOrder(tradeOrderBO,shipTradeOrderCreateReqVO.getOldtradeOrderDO().getId());
             //4 下单成功回调
             tradeSupplierCallbackService.afterAllOrderCreate(tradeOrderBO.getTradeOrderDO());
             //5.下单后处理

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

@@ -605,6 +605,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     public CommonResult<?> queryOrderAudit(Long orderId) {
         TradeOrderDO tradeOrderDO = tradeOrderRepositoryService.getById(orderId);
         if (tradeOrderDO != null) {
+            TradeOrderBindDO bindByOrder = tradeOrderRepositoryService.getBindByOrder(orderId);
+            tradeOrderDO.setBindOrder(bindByOrder);
+            List<TradeOrderAuditDO> tradeOrderAuditList = tradeOrderAuditMapper.selectNewAuditorByOrderId(orderId);
+            tradeOrderDO.setTradeOrderAuditList(tradeOrderAuditList);
             return CommonResult.success(tradeOrderDO);
         }
         return CommonResult.error(ORDER_NOT_EXIST);
@@ -633,6 +637,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             tradeOrderAuditDO.setAuditStatus(1);
             tradeOrderAuditDO.setAuditCurrentStatus(tradeOrderDO.getAuditStatus());
             tradeOrderAuditDO.setOrderNo(tradeOrderDO.getOrderNo());
+            tradeOrderAuditDO.setOrderId(tradeOrderDO.getId());
             tradeOrderAuditMapper.insert(tradeOrderAuditDO);
 
             if (tradeOrderDO.getAuditStatus() + 1 >= tradeOrderDO.getAuditType()) {
@@ -656,6 +661,20 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), tradeOrderDO.getOrderStatus(), extMap);
             }
         } else {
+            TradeOrderAuditDO tradeOrderAuditDO = new TradeOrderAuditDO();
+            tradeOrderAuditDO.setId(IdWorker.getId());
+            tradeOrderAuditDO.setType(tradeOrderDO.getAuditType());
+            LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
+            if (loginUser != null) {
+                tradeOrderAuditDO.setAuditUser(loginUser.getId());
+            }
+            tradeOrderAuditDO.setAuditTime(LocalDateTime.now());
+            //审核状态 1、通过 2、不通过
+            tradeOrderAuditDO.setAuditStatus(2);
+            tradeOrderAuditDO.setAuditCurrentStatus(tradeOrderDO.getAuditStatus());
+            tradeOrderAuditDO.setOrderNo(tradeOrderDO.getOrderNo());
+            tradeOrderAuditDO.setOrderId(tradeOrderDO.getId());
+            tradeOrderAuditMapper.insert(tradeOrderAuditDO);
             //审核 不通过还原到修改前订单
             List<TradeOrderDO> tradeOrderDoList = tradeOrderMapper.queryOrderByLast(tradeOrderDO.getOrderNo());
             if (tradeOrderDoList != null && !tradeOrderDoList.isEmpty()) {
@@ -1863,12 +1882,12 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             shipTradeOrderCreateReqVO.setAmount(orderMoney);
             shipTradeOrderCreateReqVO.setPayAmount(realAmount);
             shipTradeOrderCreateReqVO.setConfirmType(1);
-            TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
-            tradeOrderBindDO.setId(IdWorker.getId());
-            tradeOrderBindDO.setType(1);
-            tradeOrderBindDO.setCustom(createVO.getSummary().getOrderMoney().toString());
-            tradeOrderBindDO.setRemark("create订单金额修改,订单金额:" + 0 + ",订单修改后金额:" + realAmount);
-            shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
+//            TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
+//            tradeOrderBindDO.setId(IdWorker.getId());
+//            tradeOrderBindDO.setType(1);
+//            tradeOrderBindDO.setCustom(createVO.getSummary().getOrderMoney().toString());
+//            tradeOrderBindDO.setRemark("create订单金额修改,订单金额:" + 0 + ",订单修改后金额:" + realAmount);
+//            shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
         } else {
             shipTradeOrderCreateReqVO.setConfirmType(0);
             shipTradeOrderCreateReqVO.setAmount(orderMoney);

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

@@ -1089,6 +1089,7 @@
         inner join product_voyage pv on td.voyage_id = pv.id
         inner join trade_order_user ou on ou.order_id = td.id
         INNER JOIN trade_detail tdl on td.id = tdl.order_id  and tdl.deleted = 0
+        LEFT JOIN ota_distributor od on od.id = td.source_id
         where 1= 1
         <if test="vo.shipId != null and vo.shipId != ''">
             AND td.ship_id = #{vo.shipId}
@@ -1139,13 +1140,22 @@
             AND td.travel_date <![CDATA[ <= ]]> #{vo.travelDateEnd}
         </if>
         <if test="vo.refundTime != null and vo.refundTime != ''">
-            AND td.refund_time = #{vo.refundTime}
+            AND tr.refund_time = #{vo.refundTime}
         </if>
         <if test="vo.refundTimeStart != null and vo.refundTimeStart != ''">
-            AND td.refund_time <![CDATA[ >= ]]> #{vo.refundTimeStart}
+            AND tr.refund_time <![CDATA[ >= ]]> #{vo.refundTimeStart}
         </if>
         <if test="vo.refundTimeEnd != null and vo.refundTimeEnd != ''">
-            AND td.refund_time <![CDATA[ <= ]]> #{vo.refundTimeEnd}
+            AND tr.refund_time <![CDATA[ <= ]]> #{vo.refundTimeEnd}
+        </if>
+        <if test="vo.otaId != null and vo.otaId != ''">
+            AND td.source_id = #{vo.otaId}
+        </if>
+        <if test="vo.otaCateIds!=null and vo.otaCateIds.size()>0">
+            and od.ota_category_id in
+            <foreach collection="vo.otaCateIds" item="item" separator=","  open="(" close=")">
+                #{item}
+            </foreach>
         </if>
         <if test="vo.cateIds!=null and vo.cateIds.size()>0 and vo.planIds==null">
             AND tdl.product_id in
@@ -1433,6 +1443,7 @@
         left join trade_refund tr on trr.refund_id = tr.id
         left join trade_order td on td.id = top.order_id
         left join product_voyage pv on td.voyage_id = pv.id
+        LEFT JOIN ota_distributor od on od.id = td.source_id
         where 1= 1
         <if test="vo.shipId != null and vo.shipId != ''">
             AND td.ship_id = #{vo.shipId}
@@ -1461,6 +1472,15 @@
         <if test="vo.openId != null and vo.openId != ''">
             AND trr.openId = #{vo.openId}
         </if>
+        <if test="vo.otaId != null and vo.otaId != ''">
+            AND td.source_id = #{vo.otaId}
+        </if>
+        <if test="vo.otaCateIds!=null and vo.otaCateIds.size()>0">
+            and od.ota_category_id in
+            <foreach collection="vo.otaCateIds" item="item" separator=","  open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
         <if test="vo.sourceId != null and vo.sourceId != ''">
             AND td.source_id = #{vo.sourceId}
         </if>
@@ -2159,6 +2179,10 @@
         delete from trade_order where id = #{orderId}
     </update>
 
+    <update id="deleteOrderByOrderNo">
+        update from trade_order where order_no = #{orderNo}
+    </update>
+
     <select id="getInvoiceOrderCount" resultType="java.lang.Integer">
         select count(1) num from trade_invoice t1 inner join trade_invoice_detail t2 on t1.id = t2.invoice_id
         and t1.invoice_status in (1,3)