From 7ee04c3aaf7961685e349cd2617c41db64e0bd60 Mon Sep 17 00:00:00 2001
From: guohongjin <guohongjin@test.com>
Date: 星期三, 17 四月 2024 18:31:37 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PsychologicalCounseling

---
 guns/src/main/java/cn/stylefeng/guns/modular/business/controller/StatMentalTestController.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/guns/src/main/java/cn/stylefeng/guns/modular/business/controller/StatMentalTestController.java b/guns/src/main/java/cn/stylefeng/guns/modular/business/controller/StatMentalTestController.java
index e251412..e45e668 100644
--- a/guns/src/main/java/cn/stylefeng/guns/modular/business/controller/StatMentalTestController.java
+++ b/guns/src/main/java/cn/stylefeng/guns/modular/business/controller/StatMentalTestController.java
@@ -1,5 +1,6 @@
 package cn.stylefeng.guns.modular.business.controller;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.stylefeng.guns.modular.business.dto.StatMentalTestDTO;
 import cn.stylefeng.guns.modular.business.entity.OrderConsultOne;
@@ -52,8 +53,24 @@
             @ApiImplicitParam(name = "type", value = "类型:1日,2周,3月,4年", dataTypeClass = Integer.class, required = true),
             @ApiImplicitParam(name = "beginTime", value = "开始时间", dataTypeClass = String.class),
             @ApiImplicitParam(name = "endTime", value = "结束时间", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "workerId", value = "咨询师ID", dataTypeClass = Long.class),
     })
-    public ResponseData<StatMentalTestDTO> mentalTestData(Integer type, String beginTime, String endTime) {
+    public ResponseData<StatMentalTestDTO> mentalTestData(Integer type, String beginTime, String endTime, Long workerId) {
+        List<String> orderNoList = null;
+        if (workerId != null) {
+            orderNoList = orderConsultOneService.listObjs(
+                    Wrappers.<OrderConsultOne>lambdaQuery()
+                            .select(OrderConsultOne::getMentalTestOrderNo)
+                            .eq(OrderConsultOne::getGoodsId, workerId)
+                            .eq(OrderConsultOne::getStatusFlag, OrderStatusFlagEnum.PAY_SUCCESS.getCode())
+                            .eq(OrderConsultOne::getStatusFlag, OrderStatusFlagEnum.PAY_SUCCESS.getCode()),
+                    o -> StrUtil.toString(o)
+            );
+            if (CollUtil.isEmpty(orderNoList)) {
+                orderNoList = Arrays.asList("0");
+            }
+        }
+
         // 获取日期格式化SQL
         String dateFormatSql = StatDataUtil.getDateFormatSql(type);
 
@@ -70,7 +87,7 @@
 
         // 统计订单数据
         List<Map<String, Object>> statOrderList = orderMentalTestService.getStatOrderList(
-                dateFormatSql, beginTime, endTime, null, statusFlagList
+                dateFormatSql, beginTime, endTime, null, statusFlagList, orderNoList
         );
         Double moneySum = statOrderList.stream()
                 .mapToDouble(item -> Double.parseDouble(item.get("data").toString()))
@@ -82,6 +99,7 @@
                 Wrappers.<OrderMentalTest>lambdaQuery()
                         .select(OrderMentalTest::getUserId)
                         .in(OrderMentalTest::getStatusFlag, statusFlagList)
+                        .in(CollUtil.isNotEmpty(orderNoList), OrderMentalTest::getOrderNo, orderNoList)
                         .ge(StrUtil.isNotBlank(beginTime), OrderMentalTest::getCreateTime, beginTime)
                         .le(StrUtil.isNotBlank(endTime), OrderMentalTest::getCreateTime, endTime)
                         .groupBy(OrderMentalTest::getUserId)

--
Gitblit v1.7.1