| 
					
				 | 
			
			
				@@ -8,6 +8,8 @@ import cn.newfeifan.mall.module.distri.mq.message.order.DistriOrderMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.newfeifan.mall.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.newfeifan.mall.module.trade.controller.app.order.vo.AppTradeOrderPageReqVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.newfeifan.mall.module.trade.dal.dataobject.order.TradeOrderDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.newfeifan.mall.module.trade.enums.order.TradeOrderRefundStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.newfeifan.mall.module.trade.enums.order.TradeOrderStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.ibatis.annotations.Mapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.ibatis.annotations.Param; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -30,23 +32,29 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     default PageResult<TradeOrderDO> selectPage(TradeOrderPageReqVO reqVO, Set<Long> userIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return selectPage(reqVO, new LambdaQueryWrapperX<TradeOrderDO>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LambdaQueryWrapperX<TradeOrderDO> queryWrapper = new LambdaQueryWrapperX<TradeOrderDO>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .likeIfPresent(TradeOrderDO::getNo, reqVO.getNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getUserId, reqVO.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getDeliveryType, reqVO.getDeliveryType()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .inIfPresent(TradeOrderDO::getUserId, userIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getType, reqVO.getType()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eqIfPresent(TradeOrderDO::getStatus, reqVO.getStatus()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getPayChannelCode, reqVO.getPayChannelCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getTerminal, reqVO.getTerminal()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getLogisticsId, reqVO.getLogisticsId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eqIfPresent(TradeOrderDO::getMerchantId, reqVO.getMerchantId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eqIfPresent(TradeOrderDO::getShopId,reqVO.getShopId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getShopId, reqVO.getShopId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .inIfPresent(TradeOrderDO::getShopId, reqVO.getShopIds()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .orderByDesc(TradeOrderDO::getId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .orderByDesc(TradeOrderDO::getId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(reqVO.getStatus().equals(TradeOrderStatusEnum.AFTER_SALE.getStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.eq(TradeOrderDO::getRefundStatus, TradeOrderRefundStatusEnum.ALL.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.eqIfPresent(TradeOrderDO::getStatus, reqVO.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.ne(TradeOrderDO::getRefundStatus, TradeOrderRefundStatusEnum.ALL.getStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return selectPage(reqVO, queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // TODO @疯狂:如果用 map 返回,要不这里直接用 TradeOrderSummaryRespVO 返回?也算合理,就当  sql 查询出这么个玩意~~ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -106,6 +114,7 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .ne(TradeOrderDO::getRefundStatus, TradeOrderRefundStatusEnum.ALL.getStatus()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     default Long selectCountByStatus(Integer status, Long userId) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -173,4 +182,19 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     List<DistriOrderMessage> queryDailyOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     List<DistriOrderMessage> queryAllOrderByOrderIds(@Param("orderIds") List<Long> orderIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default Long selectCountByRefundStatus(Integer refundStatus, TradeOrderPageReqVO reqVO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return selectCount(new LambdaQueryWrapperX<TradeOrderDO>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getRefundStatus, refundStatus) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .likeIfPresent(TradeOrderDO::getNo, reqVO.getNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getDeliveryType, reqVO.getDeliveryType()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getType, reqVO.getType()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getPayChannelCode, reqVO.getPayChannelCode()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getTerminal, reqVO.getTerminal()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getMerchantId, reqVO.getMerchantId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eqIfPresent(TradeOrderDO::getShopId,reqVO.getShopId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .inIfPresent(TradeOrderDO::getShopId, reqVO.getShopIds()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |