From 9bd4410a9fe3fb7ef63125e4d96e916da21f501a Mon Sep 17 00:00:00 2001 From: moxiangrong Date: Fri, 23 Feb 2024 18:53:28 +0800 Subject: [PATCH] fix bug --- .../app/order/AppOrderController.java | 2 +- .../storeorder/AppStoreOrderService.java | 8 ++++ .../storeorder/AppStoreOrderServiceImpl.java | 43 +++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/controller/app/order/AppOrderController.java b/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/controller/app/order/AppOrderController.java index 02c86eb..20c31c0 100644 --- a/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/controller/app/order/AppOrderController.java +++ b/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/controller/app/order/AppOrderController.java @@ -280,7 +280,7 @@ public class AppOrderController { @Operation(summary = "个人中心订单统计") public CommonResult countOrder() { Long uid = getLoginUserId(); - AppUserOrderCountVo appUserOrderCountVo = asyncOrderRedisDAO.get(uid); + AppUserOrderCountVo appUserOrderCountVo = appStoreOrderService.orderStatistics(uid); return success(appUserOrderCountVo); } diff --git a/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderService.java b/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderService.java index e9edcaf..7828980 100644 --- a/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderService.java +++ b/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderService.java @@ -1,6 +1,7 @@ package co.yixiang.yshop.module.order.service.storeorder; import co.yixiang.yshop.framework.security.core.LoginUser; +import co.yixiang.yshop.module.member.controller.app.user.vo.AppUserOrderCountVo; import co.yixiang.yshop.module.order.controller.app.afterorder.param.AppOrderRefundParam; import co.yixiang.yshop.module.order.controller.app.order.param.AppComputeOrderParam; import co.yixiang.yshop.module.order.controller.app.order.param.AppConfirmOrderParam; @@ -213,4 +214,11 @@ public interface AppStoreOrderService extends IService { * @param uid 用户id */ void refundOrder(String id, Long uid); + + /** + * 订单统计 + * + * @return + */ + AppUserOrderCountVo orderStatistics(Long uid); } diff --git a/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java b/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java index 8eb65f1..193695d 100644 --- a/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java +++ b/yshop-module-mall/yshop-module-order-biz/src/main/java/co/yixiang/yshop/module/order/service/storeorder/AppStoreOrderServiceImpl.java @@ -13,6 +13,7 @@ import co.yixiang.yshop.module.cart.service.storecart.AppStoreCartService; import co.yixiang.yshop.module.distributor.api.dto.DistributorOrderDTO; import co.yixiang.yshop.module.distributor.enums.DistributorSettlementTypeEnum; import co.yixiang.yshop.module.member.controller.admin.userbill.vo.UserBillModifyDTO; +import co.yixiang.yshop.module.member.controller.app.user.vo.AppUserOrderCountVo; import co.yixiang.yshop.module.member.controller.app.user.vo.AppUserQueryVo; import co.yixiang.yshop.module.member.controller.app.userlevel.vo.SettleLevelInfoVO; import co.yixiang.yshop.module.member.convert.user.UserConvert; @@ -34,6 +35,7 @@ import co.yixiang.yshop.module.order.controller.app.order.param.AppOrderParam; import co.yixiang.yshop.module.order.controller.app.order.param.AppPayParam; import co.yixiang.yshop.module.order.controller.app.order.vo.*; import co.yixiang.yshop.module.order.convert.storeorder.StoreOrderConvert; +import co.yixiang.yshop.module.order.dal.dataobject.storeaftersales.StoreAfterSalesDO; import co.yixiang.yshop.module.order.dal.dataobject.storeorder.StoreOrderDO; import co.yixiang.yshop.module.order.dal.dataobject.storeordercartinfo.StoreOrderCartInfoDO; import co.yixiang.yshop.module.order.dal.dataobject.storeorderdetail.StoreOrderDetailDO; @@ -1592,6 +1594,47 @@ public class AppStoreOrderServiceImpl extends ServiceImpl storeOrderDOS = + storeOrderMapper.selectList(new LambdaQueryWrapper() + .eq(StoreOrderDO::getUid, uid) + .eq(StoreOrderDO::getRefundStatus, OrderInfoEnum.REFUND_STATUS_NORMAL.getValue())); + // 计算订单支付没有退款总数 + Long orderCount = storeOrderDOS.stream().filter(order -> + OrderInfoEnum.PAY_STATUS_HAVE_PAID.getValue().equals(order.getPaid())).count(); + // 计算待付款订单数 + Long unpaidCount = storeOrderDOS.stream().filter(order -> + OrderInfoEnum.PAY_STATUS_UNPAID.getValue().equals(order.getPaid()) && + OrderInfoEnum.STATUS_DEFAULT.getValue().equals(order.getStatus())).count(); + // 计算待发货订单数 + Long unshippedCount = storeOrderDOS.stream().filter(order -> + OrderInfoEnum.PAY_STATUS_HAVE_PAID.getValue().equals(order.getPaid()) && + OrderInfoEnum.STATUS_DEFAULT.getValue().equals(order.getStatus())).count(); + // 计算待收货订单数 + Long receivedCount = storeOrderDOS.stream().filter(order -> + OrderInfoEnum.PAY_STATUS_HAVE_PAID.getValue().equals(order.getPaid()) && + OrderInfoEnum.STATUS_WAIT_RECEIVED.getValue().equals(order.getStatus())).count(); + // 计算待评价订单数 + Long evaluatedCount = storeOrderDOS.stream().filter(order -> + OrderInfoEnum.PAY_STATUS_HAVE_PAID.getValue().equals(order.getPaid()) && + OrderInfoEnum.STATUS_RECEIVED.getValue().equals(order.getStatus())).count(); + // 计算订单完成数量 + Long completeCount = storeOrderDOS.stream().filter(order -> + OrderInfoEnum.PAY_STATUS_HAVE_PAID.getValue().equals(order.getPaid()) && + OrderInfoEnum.STATUS_FINISHED.getValue().equals(order.getStatus())).count(); + AppUserOrderCountVo appUserOrderCountVo = AppUserOrderCountVo.builder() + .orderCount(orderCount) + .unpaidCount(unpaidCount) + .unshippedCount(unshippedCount) + .receivedCount(receivedCount) + .evaluatedCount(evaluatedCount) + .completeCount(completeCount) + .build(); + return appUserOrderCountVo; + } + /** * 退回积分