Browse Source

修改商品订单售后订单的数量显示异常问题

Yangzw 10 months ago
parent
commit
30e6899605
17 changed files with 155 additions and 61 deletions
  1. 1 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/socialstatus/SocialStatusServiceImpl.java
  2. 2 2
      feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/controller/admin/spu/ProductSpuController.java
  3. 4 0
      feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java
  4. 24 3
      feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/dal/mysql/spu/ProductSpuMapper.java
  5. 2 2
      feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/service/spu/ProductSpuService.java
  6. 6 6
      feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/service/spu/ProductSpuServiceImpl.java
  7. 6 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/aftersale/AfterSaleController.java
  8. 10 10
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java
  9. 3 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/vo/TradeOrderPageReqVO.java
  10. 28 3
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/aftersale/AfterSaleMapper.java
  11. 17 5
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/order/TradeOrderMapper.java
  12. 5 2
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleService.java
  13. 27 2
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleServiceImpl.java
  14. 11 13
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryService.java
  15. 3 3
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryServiceImpl.java
  16. 0 1
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java
  17. 6 4
      feifan-module-sale/feifan-module-sale-biz/src/main/java/cn/newfeifan/mall/sale/controller/admin/shop/ShopController.java

+ 1 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/socialstatus/SocialStatusServiceImpl.java

@@ -84,11 +84,7 @@ public class SocialStatusServiceImpl implements SocialStatusService {
         for (int i = 0; i < socialStatusDOS.size(); i++) {
             if (point < socialStatusDOS.get(i).getPoint()) {
                 socialStatusBO.setId(socialStatusDOS.get(i - 1).getId());
-                if (i + 1 >= socialStatusDOS.size()) {
-                    socialStatusBO.setSocialUpNeed(0L);
-                } else {
-                    socialStatusBO.setSocialUpNeed(socialStatusDOS.get(i).getPoint() - point);
-                }
+                socialStatusBO.setSocialUpNeed(socialStatusDOS.get(i).getPoint() - point);
                 break;
             }
         }

+ 2 - 2
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/controller/admin/spu/ProductSpuController.java

@@ -128,8 +128,8 @@ public class ProductSpuController {
     @GetMapping("/get-count")
     @Operation(summary = "获得商品 SPU 分页 tab count")
     @PreAuthorize("@ss.hasPermission('product:spu:query')")
-    public CommonResult<Map<Integer, Long>> getSpuCount() {
-        return success(productSpuService.getTabsCount());
+    public CommonResult<Map<Integer, Long>> getSpuCount(@Valid ProductSpuPageReqVO pageVO) {
+        return success(productSpuService.getTabsCount(pageVO));
     }
 
     @GetMapping("/get-count-by-mer")

+ 4 - 0
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/controller/admin/spu/vo/ProductSpuPageReqVO.java

@@ -8,6 +8,7 @@ import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
@@ -78,4 +79,7 @@ public class ProductSpuPageReqVO extends PageParam {
 
     @Schema(description = "用户Id")
     private Long userId;
+
+    @Schema(description = "店铺编号集")
+    private List<Long> shopIds;
 }

+ 24 - 3
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/dal/mysql/spu/ProductSpuMapper.java

@@ -33,6 +33,7 @@ public interface ProductSpuMapper extends BaseMapperX<ProductSpuDO> {
                 .eqIfPresent(ProductSpuDO::getShopId, reqVO.getShopId())
                 .eqIfPresent(ProductSpuDO::getCategoryId, reqVO.getCategoryId())
                 .eqIfPresent(ProductSpuDO::getMerchantId, reqVO.getMerchantId())
+                .inIfPresent(ProductSpuDO::getShopId, reqVO.getShopIds())
                 .betweenIfPresent(ProductSpuDO::getCreateTime, reqVO.getCreateTime())
                 .orderByDesc(ProductSpuDO::getSort);
         appendTabQuery(tabType, queryWrapper);
@@ -50,15 +51,35 @@ public interface ProductSpuMapper extends BaseMapperX<ProductSpuDO> {
      *
      * @return 触发警戒库存的 SPU 数量
      */
-    default Long selectCount() {
+    default Long selectCount(ProductSpuPageReqVO pageVO) {
         LambdaQueryWrapperX<ProductSpuDO> queryWrapper = new LambdaQueryWrapperX<>();
         // 库存小于等于警戒库存
-        queryWrapper.le(ProductSpuDO::getStock, ProductConstants.ALERT_STOCK)
+        queryWrapper
+                .likeIfPresent(ProductSpuDO::getName, pageVO.getName())
+                .eqIfPresent(ProductSpuDO::getShopId, pageVO.getShopId())
+                .eqIfPresent(ProductSpuDO::getCategoryId, pageVO.getCategoryId())
+                .eqIfPresent(ProductSpuDO::getMerchantId, pageVO.getMerchantId())
+                .inIfPresent(ProductSpuDO::getShopId, pageVO.getShopIds())
+                .betweenIfPresent(ProductSpuDO::getCreateTime, pageVO.getCreateTime())
+                .le(ProductSpuDO::getStock, ProductConstants.ALERT_STOCK)
                 // 如果库存触发警戒库存且状态为回收站的话则不计入触发警戒库存的个数
-                .notIn(ProductSpuDO::getStatus, ProductSpuStatusEnum.RECYCLE.getStatus());
+                .notIn(ProductSpuDO::getStatus, ProductSpuStatusEnum.RECYCLE.getStatus())
+        ;
         return selectCount(queryWrapper);
     }
 
+    default Long selectCount(SFunction<ProductSpuDO, ?> field, Object value,ProductSpuPageReqVO pageVO) {
+        return selectCount(new LambdaQueryWrapperX<ProductSpuDO>()
+                .eq(field, value)
+                .likeIfPresent(ProductSpuDO::getName, pageVO.getName())
+                .eqIfPresent(ProductSpuDO::getShopId, pageVO.getShopId())
+                .eqIfPresent(ProductSpuDO::getCategoryId, pageVO.getCategoryId())
+                .eqIfPresent(ProductSpuDO::getMerchantId, pageVO.getMerchantId())
+                .inIfPresent(ProductSpuDO::getShopId, pageVO.getShopIds())
+                .betweenIfPresent(ProductSpuDO::getCreateTime, pageVO.getCreateTime())
+        );
+    }
+
 
     default Long selectCountByMerId(Long merId) {
         LambdaQueryWrapperX<ProductSpuDO> queryWrapper = new LambdaQueryWrapperX<>();

+ 2 - 2
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/service/spu/ProductSpuService.java

@@ -99,10 +99,10 @@ public interface ProductSpuService {
 
     /**
      * 获取 SPU 列表标签对应的 Count 数量
-     *
+     * @param pageVO 条件查询
      * @return Count 数量
      */
-    Map<Integer, Long> getTabsCount();
+    Map<Integer, Long> getTabsCount(ProductSpuPageReqVO pageVO);
 
 
     /**

+ 6 - 6
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/service/spu/ProductSpuServiceImpl.java

@@ -265,23 +265,23 @@ public class ProductSpuServiceImpl implements ProductSpuService {
     }
 
     @Override
-    public Map<Integer, Long> getTabsCount() {
+    public Map<Integer, Long> getTabsCount(ProductSpuPageReqVO pageVO) {
         Map<Integer, Long> counts = Maps.newLinkedHashMapWithExpectedSize(5);
         // 查询销售中的商品数量
         counts.put(ProductSpuPageReqVO.FOR_SALE,
-                productSpuMapper.selectCount(ProductSpuDO::getStatus, ProductSpuStatusEnum.ENABLE.getStatus()));
+                productSpuMapper.selectCount(ProductSpuDO::getStatus, ProductSpuStatusEnum.ENABLE.getStatus(),pageVO));
         // 查询仓库中的商品数量
         counts.put(ProductSpuPageReqVO.IN_WAREHOUSE,
-                productSpuMapper.selectCount(ProductSpuDO::getStatus, ProductSpuStatusEnum.DISABLE.getStatus()));
+                productSpuMapper.selectCount(ProductSpuDO::getStatus, ProductSpuStatusEnum.DISABLE.getStatus(),pageVO));
         // 查询售空的商品数量
         counts.put(ProductSpuPageReqVO.SOLD_OUT,
-                productSpuMapper.selectCount(ProductSpuDO::getStock, 0));
+                productSpuMapper.selectCount(ProductSpuDO::getStock, 0,pageVO));
         // 查询触发警戒库存的商品数量
         counts.put(ProductSpuPageReqVO.ALERT_STOCK,
-                productSpuMapper.selectCount());
+                productSpuMapper.selectCount(pageVO));
         // 查询回收站中的商品数量
         counts.put(ProductSpuPageReqVO.RECYCLE_BIN,
-                productSpuMapper.selectCount(ProductSpuDO::getStatus, ProductSpuStatusEnum.RECYCLE.getStatus()));
+                productSpuMapper.selectCount(ProductSpuDO::getStatus, ProductSpuStatusEnum.RECYCLE.getStatus(),pageVO));
         return counts;
     }
 

+ 6 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/aftersale/AfterSaleController.java

@@ -67,6 +67,12 @@ public class AfterSaleController {
         return success(AfterSaleConvert.INSTANCE.convertPage(pageResult, memberUsers));
     }
 
+    @GetMapping("/get-count")
+    @Operation(summary = "获得售后交易订单数量")
+    public CommonResult<Map<Integer, Long>> getAfterSaleCount(@Valid AfterSalePageReqVO pageVO) {
+        return success(afterSaleService.getTabsCount(pageVO));
+    }
+
     @GetMapping("/get-detail")
     @Operation(summary = "获得售后订单详情")
     @Parameter(name = "id", description = "售后编号", required = true, example = "1")

+ 10 - 10
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java

@@ -204,13 +204,13 @@ public class TradeOrderController {
             //添加到日志
             ObjectMapper mapper = new ObjectMapper();
             try {
-                orderCallbackLogsService.create(orderId,param,mapper.writeValueAsString(lastResult),lastResult.get("status").toString());
+                orderCallbackLogsService.create(orderId, param, mapper.writeValueAsString(lastResult), lastResult.get("status").toString());
             } catch (JsonProcessingException e) {
                 throw exception(CREATE_TRADE_ORDER_LOGS_ERROR);
             }
             return subscribeResp;
         }
-        orderCallbackLogsService.create(orderId,param,null,lastResult.get("status").toString());
+        orderCallbackLogsService.create(orderId, param, null, lastResult.get("status").toString());
         return null;
     }
 
@@ -268,16 +268,16 @@ public class TradeOrderController {
 
     @GetMapping("/get-count")
     @Operation(summary = "获得交易订单数量")
-    public CommonResult<Map<Integer, Long>> getOrderCount(@RequestParam(value = "merId", required = false) Long merId) {
+    public CommonResult<Map<Integer, Long>> getOrderCount(TradeOrderPageReqVO reqVO) {
         Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(6);
 
-        orderCount.put(-1, tradeOrderQueryService.getOrderCount(null, null, merId));
-        orderCount.put(TradeOrderStatusEnum.AFTER_SALE.getStatus(), afterSaleService.getApplyingAfterSaleCount(null, merId));
-        orderCount.put(TradeOrderStatusEnum.UNPAID.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNPAID.getStatus(), null, merId));
-        orderCount.put(TradeOrderStatusEnum.UNDELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNDELIVERED.getStatus(), null, merId));
-        orderCount.put(TradeOrderStatusEnum.DELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.DELIVERED.getStatus(), null, merId));
-        orderCount.put(TradeOrderStatusEnum.COMPLETED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.COMPLETED.getStatus(), null, merId));
-        orderCount.put(TradeOrderStatusEnum.CANCELED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.CANCELED.getStatus(), null, merId));
+        orderCount.put(-1, tradeOrderQueryService.getOrderCount(null, reqVO));
+        orderCount.put(TradeOrderStatusEnum.AFTER_SALE.getStatus(), afterSaleService.getApplyingAfterSaleCount(null, reqVO));
+        orderCount.put(TradeOrderStatusEnum.UNPAID.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNPAID.getStatus(), reqVO));
+        orderCount.put(TradeOrderStatusEnum.UNDELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNDELIVERED.getStatus(), reqVO));
+        orderCount.put(TradeOrderStatusEnum.DELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.DELIVERED.getStatus(), reqVO));
+        orderCount.put(TradeOrderStatusEnum.COMPLETED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.COMPLETED.getStatus(), reqVO));
+        orderCount.put(TradeOrderStatusEnum.CANCELED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.CANCELED.getStatus(), reqVO));
         return success(orderCount);
     }
 

+ 3 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/vo/TradeOrderPageReqVO.java

@@ -71,4 +71,7 @@ public class TradeOrderPageReqVO extends PageParam {
     @Schema(description = "商户ID", example = "1")
     private Long  merchantId;
 
+    @Schema(description = "店铺编号集")
+    private List<Long> shopIds;
+
 }

+ 28 - 3
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/aftersale/AfterSaleMapper.java

@@ -5,6 +5,7 @@ import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.mybatis.core.mapper.BaseMapperX;
 import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO;
+import cn.newfeifan.mall.module.trade.controller.admin.order.vo.TradeOrderPageReqVO;
 import cn.newfeifan.mall.module.trade.dal.dataobject.aftersale.AfterSaleDO;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -53,11 +54,35 @@ public interface AfterSaleMapper extends BaseMapperX<AfterSaleDO> {
                 .in(AfterSaleDO::getStatus, statuses));
     }
 
-    default Long selectCountByUserIdAndStatus(Long userId, Long merId, Collection<Integer> statuses) {
+    default Long selectCountByUserIdAndStatus(Long userId, Collection<Integer> statuses, TradeOrderPageReqVO reqVO) {
         return selectCount(new LambdaQueryWrapperX<AfterSaleDO>()
                 .eqIfPresent(AfterSaleDO::getUserId, userId)
-                .eqIfPresent(AfterSaleDO::getMerchantId, merId)
-                .in(AfterSaleDO::getStatus, statuses));
+                .in(AfterSaleDO::getStatus, statuses)
+                .likeIfPresent(AfterSaleDO::getNo, reqVO.getNo())
+                .eqIfPresent(AfterSaleDO::getType, reqVO.getType())
+                .eqIfPresent(AfterSaleDO::getShopId,reqVO.getShopId())
+                .eqIfPresent(AfterSaleDO::getMerchantId,reqVO.getMerchantId())
+                .eqIfPresent(AfterSaleDO::getUserId, reqVO.getUserId())
+                .inIfPresent(AfterSaleDO::getShopId, reqVO.getShopIds())
+                .betweenIfPresent(AfterSaleDO::getCreateTime, reqVO.getCreateTime())
+        );
+    }
+
+    default Long selectCount(Integer status,AfterSalePageReqVO reqVO){
+        return selectCount(new LambdaQueryWrapperX<AfterSaleDO>()
+                .eq(AfterSaleDO::getStatus, status)
+                .likeIfPresent(AfterSaleDO::getNo, reqVO.getNo())
+                .eqIfPresent(AfterSaleDO::getSpuId, reqVO.getSpuId())
+                .eqIfPresent(AfterSaleDO::getType, reqVO.getType())
+                .eqIfPresent(AfterSaleDO::getShopId,reqVO.getShopId())
+                .eqIfPresent(AfterSaleDO::getMerchantId,reqVO.getMerchantId())
+                .eqIfPresent(AfterSaleDO::getWay, reqVO.getWay())
+                .eqIfPresent(AfterSaleDO::getUserId, reqVO.getUserId())
+                .inIfPresent(AfterSaleDO::getShopId, reqVO.getShopIds())
+                .likeIfPresent(AfterSaleDO::getOrderNo, reqVO.getOrderNo())
+                .likeIfPresent(AfterSaleDO::getSpuName, reqVO.getSpuName())
+                .betweenIfPresent(AfterSaleDO::getCreateTime, reqVO.getCreateTime())
+        );
     }
 
 }

+ 17 - 5
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/order/TradeOrderMapper.java

@@ -41,7 +41,7 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
                 .eqIfPresent(TradeOrderDO::getTerminal, reqVO.getTerminal())
                 .eqIfPresent(TradeOrderDO::getLogisticsId, reqVO.getLogisticsId())
                 .eqIfPresent(TradeOrderDO::getMerchantId, reqVO.getMerchantId())
-
+                .inIfPresent(TradeOrderDO::getShopId, reqVO.getShopIds())
                 .inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds())
                 .likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode())
                 .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime())
@@ -89,11 +89,23 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
                 .eqIfPresent(TradeOrderDO::getStatus, status));
     }
 
-    default Long selectCountByStatus(Integer status, Long shopId, Long merId) {
+    default Long selectCountByStatus(Integer status, TradeOrderPageReqVO reqVO) {
         return selectCount(new LambdaQueryWrapperX<TradeOrderDO>()
-                .eqIfPresent(TradeOrderDO::getStatus, status)
-                .eqIfPresent(TradeOrderDO::getShopId, shopId)
-                .eqIfPresent(TradeOrderDO::getMerchantId, merId));
+                .eq(TradeOrderDO::getStatus, status)
+                .likeIfPresent(TradeOrderDO::getNo, reqVO.getNo())
+                .eqIfPresent(TradeOrderDO::getUserId, reqVO.getUserId())
+                .eqIfPresent(TradeOrderDO::getDeliveryType, reqVO.getDeliveryType())
+                .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())
+                .inIfPresent(TradeOrderDO::getShopId, reqVO.getShopIds())
+                .inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds())
+                .likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode())
+                .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime())
+        );
     }
     default Long selectCountByStatus(Integer status, Long userId) {
         return selectCount(new LambdaQueryWrapperX<TradeOrderDO>()

+ 5 - 2
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleService.java

@@ -5,11 +5,13 @@ import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSaleDisagreeReqVO;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO;
+import cn.newfeifan.mall.module.trade.controller.admin.order.vo.TradeOrderPageReqVO;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
 import cn.newfeifan.mall.module.trade.dal.dataobject.aftersale.AfterSaleDO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 售后订单 Service 接口
@@ -137,10 +139,11 @@ public interface AfterSaleService {
      * 【会员】获得正在进行中的售后订单数量
      *
      * @param userId 用户编号
-     * @param merId  商户编号
+     * @param reqVO  条件
      * @return 数量
      */
-    Long getApplyingAfterSaleCount(Long userId, Long merId);
+    Long getApplyingAfterSaleCount(Long userId, TradeOrderPageReqVO reqVO);
 
 
+    Map<Integer, Long> getTabsCount(AfterSalePageReqVO pageVO);
 }

+ 27 - 2
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleServiceImpl.java

@@ -11,6 +11,7 @@ import cn.newfeifan.mall.module.pay.api.refund.dto.PayRefundCreateReqDTO;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSaleDisagreeReqVO;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSalePageReqVO;
 import cn.newfeifan.mall.module.trade.controller.admin.aftersale.vo.AfterSaleRefuseReqVO;
+import cn.newfeifan.mall.module.trade.controller.admin.order.vo.TradeOrderPageReqVO;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleCreateReqVO;
 import cn.newfeifan.mall.module.trade.controller.app.aftersale.vo.AppAfterSaleDeliveryReqVO;
 import cn.newfeifan.mall.module.trade.convert.aftersale.AfterSaleConvert;
@@ -33,6 +34,7 @@ import cn.newfeifan.mall.module.trade.service.delivery.DeliveryExpressService;
 import cn.newfeifan.mall.module.trade.service.order.TradeOrderQueryService;
 import cn.newfeifan.mall.module.trade.service.order.TradeOrderUpdateService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -43,6 +45,7 @@ import org.springframework.validation.annotation.Validated;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Map;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.newfeifan.mall.module.trade.enums.ErrorCodeConstants.*;
@@ -423,8 +426,30 @@ public class AfterSaleServiceImpl implements AfterSaleService {
     }
 
     @Override
-    public Long getApplyingAfterSaleCount(Long userId, Long merId) {
-        return tradeAfterSaleMapper.selectCountByUserIdAndStatus(userId, merId, AfterSaleStatusEnum.APPLYING_STATUSES);
+    public Long getApplyingAfterSaleCount(Long userId, TradeOrderPageReqVO reqVO) {
+        return tradeAfterSaleMapper.selectCountByUserIdAndStatus(userId, AfterSaleStatusEnum.APPLYING_STATUSES,reqVO);
+    }
+
+    @Override
+    public Map<Integer, Long> getTabsCount(AfterSalePageReqVO pageVO) {
+        Map<Integer, Long> counts = Maps.newLinkedHashMapWithExpectedSize(8);
+        // 查询申请售后的售后订单
+        counts.put(AfterSaleStatusEnum.APPLY.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.APPLY.getStatus(),pageVO));
+        // 查询商品待退货的售后订单
+        counts.put(AfterSaleStatusEnum.SELLER_AGREE.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.SELLER_AGREE.getStatus(),pageVO));
+        // 查询商家待收货的售后订单
+        counts.put(AfterSaleStatusEnum.BUYER_DELIVERY.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.BUYER_DELIVERY.getStatus(),pageVO));
+        // 查询等待退款的售后订单
+        counts.put(AfterSaleStatusEnum.WAIT_REFUND.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.WAIT_REFUND.getStatus(),pageVO));
+        // 查询退款成功的售后订单
+        counts.put(AfterSaleStatusEnum.COMPLETE.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.COMPLETE.getStatus(),pageVO));
+        // 查询买家取消的售后订单
+        counts.put(AfterSaleStatusEnum.BUYER_CANCEL.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.BUYER_CANCEL.getStatus(),pageVO));
+        // 查询商家拒绝的售后订单
+        counts.put(AfterSaleStatusEnum.SELLER_DISAGREE.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.SELLER_DISAGREE.getStatus(),pageVO));
+        // 查询商家拒收货的售后订单
+        counts.put(AfterSaleStatusEnum.SELLER_REFUSE.getStatus(),tradeAfterSaleMapper.selectCount(AfterSaleStatusEnum.SELLER_REFUSE.getStatus(),pageVO));
+        return counts;
     }
 
 }

+ 11 - 13
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryService.java

@@ -161,20 +161,18 @@ public interface TradeOrderQueryService {
 
     /**
      * 根据状态获取订单数量, 不通过用户ID信息
-     * @param status
-     * @return
+     * @param status 订单状态
+     * @return 数量
      */
     Long getOrderCount(Integer status);
 
-
     /**
-     * 根据状态获取订单数量, 不通过用户ID信息
+     * 根据条件获取订单数量
+     * @param reqVO 条件
      * @param status 订单状态
-     * @param shopId 店铺ID
-     * @param merId 商户ID
      * @return 数量
      */
-    Long getOrderCount(Integer status,Long shopId, Long merId);
+    Long getOrderCount(Integer status, TradeOrderPageReqVO reqVO);
 
     /**
      * 根据状态获取订单数量, 不通过用户ID信息
@@ -187,29 +185,29 @@ public interface TradeOrderQueryService {
 
     /**
      * 补充订单编号以及商品图片
-     * @param list
-     * @return
+     * @param list 集合
+     * @return 集合
      */
     List<PayOrderPageItemRespVO> getOrderNoAndPicUrl(List<PayOrderPageItemRespVO> list);
 
 
     /**
      * 获取商户订单总数
-     * @param key
-     * @return
+     * @param key key值
+     * @return 数量
      */
     Integer getShopSalesVolume(Long key);
 
     /**
      * 获取所有订单信息, 已经完成的(已经经过收款7天之后的订单)
-     * @return
+     * @return 集合
      */
     List<AppTradeOrderDetailRespVO> cancelOrderBySystem();
 
 
     /**
      * 查询当前系统的所有订单
-     * @return
+     * @return 集合
      */
     List<DistriOrderMessage> queryAllOrder();
 

+ 3 - 3
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryServiceImpl.java

@@ -190,8 +190,8 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
     }
 
     @Override
-    public Long getOrderCount(Integer status, Long shopId, Long merId) {
-        return tradeOrderMapper.selectCountByStatus(status, shopId, merId);
+    public Long getOrderCount(Integer status, TradeOrderPageReqVO reqVO) {
+        return tradeOrderMapper.selectCountByStatus(status, reqVO);
     }
 
     @Override
@@ -284,7 +284,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
     @Override
     public TradeOrderDO getOrderById(Long orderId) {
         return tradeOrderMapper.selectOne(new LambdaQueryWrapper<TradeOrderDO>()
-                .eq(TradeOrderDO::getId,orderId)
+                .eq(TradeOrderDO::getId, orderId)
                 .isNull(TradeOrderDO::getReceivingTime)
         );
     }

+ 0 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java

@@ -379,7 +379,6 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         // 执行更新
         updateOrderObj.setStatus(TradeOrderStatusEnum.DELIVERED.getStatus()).setDeliveryTime(LocalDateTime.now());
         int updateCount = tradeOrderMapper.updateByIdAndStatus(order.getId(), order.getStatus(), updateOrderObj);
-        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(order.getId());
         if (updateCount == 0) {
             throw exception(ORDER_DELIVERY_FAIL_STATUS_NOT_UNDELIVERED);
         }

+ 6 - 4
feifan-module-sale/feifan-module-sale-biz/src/main/java/cn/newfeifan/mall/sale/controller/admin/shop/ShopController.java

@@ -45,10 +45,6 @@ import cn.newfeifan.mall.sale.dal.dataobject.shop.ShopDO;
 @Validated
 public class ShopController {
 
-
-    @Resource
-    private MerchantService merchantService;
-
     @Resource
     private ShopService shopService;
 
@@ -178,6 +174,12 @@ public class ShopController {
     public CommonResult<List<Long>> getIdsByName(@RequestParam("shopName") String shopName) {
         // 获取所有店铺
         List<Long> ids = shopService.getShopByName(shopName);
+
+        //没有就返回一个不存在的id
+        if(ids.isEmpty()){
+            ids = new ArrayList<>();
+            ids.add(-1L);
+        }
         return success(ids);
     }