Explorar o código

添加人员功能列表02

Yangzw hai 11 meses
pai
achega
eb855ecba4

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

@@ -215,6 +215,20 @@ public class TradeOrderController {
         return success(orderCount);
     }
 
+    @GetMapping("/get-countByUser")
+    @Operation(summary = "获得用户的交易订单数量")
+    public CommonResult<Map<Integer, Long>> getOrderCountByUser(@RequestParam(value = "userId", required = false) Long userId) {
+        Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(6);
+
+        orderCount.put(-1, tradeOrderQueryService.getOrderCount(null,userId));
+        orderCount.put(TradeOrderStatusEnum.UNPAID.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNPAID.getStatus(), userId));
+        orderCount.put(TradeOrderStatusEnum.UNDELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNDELIVERED.getStatus(),userId));
+        orderCount.put(TradeOrderStatusEnum.DELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.DELIVERED.getStatus(), userId));
+        orderCount.put(TradeOrderStatusEnum.COMPLETED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.COMPLETED.getStatus(), userId));
+        orderCount.put(TradeOrderStatusEnum.CANCELED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.CANCELED.getStatus(), userId));
+        return success(orderCount);
+    }
+
     @GetMapping("/startCalc")
     @Operation(summary = "计算启动")
     public CommonResult<String> startCalc() {

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

@@ -95,8 +95,11 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
                 .eqIfPresent(TradeOrderDO::getShopId, shopId)
                 .eqIfPresent(TradeOrderDO::getMerchantId, merId));
     }
-
-    ;
+    default Long selectCountByStatus(Integer status, Long userId) {
+        return selectCount(new LambdaQueryWrapperX<TradeOrderDO>()
+                .eqIfPresent(TradeOrderDO::getStatus, status)
+                .eqIfPresent(TradeOrderDO::getUserId, userId));
+    }
 
     default TradeOrderDO selectOrderByIdAndUserId(Long orderId, Long loginUserId) {
         return selectOne(new LambdaQueryWrapperX<TradeOrderDO>()

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

@@ -172,10 +172,18 @@ public interface TradeOrderQueryService {
      * @param status 订单状态
      * @param shopId 店铺ID
      * @param merId 商户ID
-     * @return
+     * @return 数量
      */
     Long getOrderCount(Integer status,Long shopId, Long merId);
 
+    /**
+     * 根据状态获取订单数量, 不通过用户ID信息
+     * @param status 订单状态
+     * @param userId 用户ID
+     * @return 数量
+     */
+    Long getOrderCount(Integer status,Long userId);
+
 
     /**
      * 补充订单编号以及商品图片

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

@@ -194,6 +194,11 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
         return tradeOrderMapper.selectCountByStatus(status, shopId, merId);
     }
 
+    @Override
+    public Long getOrderCount(Integer status, Long userId) {
+        return tradeOrderMapper.selectCountByStatus(status, userId);
+    }
+
     @Override
     public List<PayOrderPageItemRespVO> getOrderNoAndPicUrl(List<PayOrderPageItemRespVO> list) {
         for (PayOrderPageItemRespVO payOrderPageItemRespVO : list) {