|  | @@ -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())
 | 
	
		
			
				|  |  | +        );
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |