From ca931b87c7d7de8d3c75d6a4a5f0693d77420c8c Mon Sep 17 00:00:00 2001
From: goupan <goupan@chinapopin.com>
Date: 星期日, 14 四月 2024 18:02:11 +0800
Subject: [PATCH] 修改bug

---
 roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/impl/CustomerServiceImpl.java |    6 +++---
 common-buiness/src/main/java/cn/stylefeng/guns/modular/business/mapper/mapping/MentalAnalysisTimeConfigMapper.xml                        |    2 ++
 roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/mapping/CustomerMapper.xml     |    5 ++++-
 common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/MentalAppointmentServiceImpl.java                           |    6 +++---
 roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/CustomerMapper.java            |   33 +++++++++++++++++++++++++++++----
 roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/CustomerService.java          |    2 +-
 6 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/mapper/mapping/MentalAnalysisTimeConfigMapper.xml b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/mapper/mapping/MentalAnalysisTimeConfigMapper.xml
index ec6a6d4..de396dd 100644
--- a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/mapper/mapping/MentalAnalysisTimeConfigMapper.xml
+++ b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/mapper/mapping/MentalAnalysisTimeConfigMapper.xml
@@ -11,6 +11,7 @@
             t_mental_analysis_time_config o
             LEFT JOIN toc_customer tu ON tu.customer_id = o.counselling_info_id
         <where>
+            AND tu.status_flag = 1
             <if test="nickName != null and nickName != ''">
                 AND tu.nick_name LIKE CONCAT('%',#{nickName},'%')
             </if>
@@ -25,6 +26,7 @@
             LEFT JOIN toc_customer u ON tc.counselling_info_id = u.customer_id
             LEFT JOIN t_counselling_special_time_config stc ON stc.counselling_info_id = u.customer_id
         <where>
+            AND u.status_flag = 1
             <if test="mentalAnalysisStatus != null">
                 AND u.mental_analysis_status = #{mentalAnalysisStatus}
             </if>
diff --git a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/MentalAppointmentServiceImpl.java b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/MentalAppointmentServiceImpl.java
index a476a81..dc5bd5f 100644
--- a/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/MentalAppointmentServiceImpl.java
+++ b/common-buiness/src/main/java/cn/stylefeng/guns/modular/business/service/impl/MentalAppointmentServiceImpl.java
@@ -185,7 +185,7 @@
         // 获取当前星期
         Integer weekDay = DateUtil.dayOfWeekEnum(appointmentDay).getIso8601Value();
         // 预约时间段配置匹配的性格分析师
-        List<MentalAnalysisTimeConfig> eqWorkerTimeConfigList = mentalAnalysisTimeConfigService.getWorkerListByAppointmentTime(1, weekDay, appointmentDayYmd, beginTimePoint, endTimePoint);
+        List<MentalAnalysisTimeConfig> eqWorkerTimeConfigList = mentalAnalysisTimeConfigService.getWorkerListByAppointmentTime(CustomerMentalAnalysisStatusEnum.ON_WORK.getCode(), weekDay, appointmentDayYmd, beginTimePoint, endTimePoint);
         // 分析师ID(预约时间段配置匹配)
         List<Long> eqWorkerIdByTimeConfigList = eqWorkerTimeConfigList.isEmpty() ? Collections.singletonList(0L) :
                 eqWorkerTimeConfigList.stream()
@@ -243,9 +243,9 @@
         }
 
         // 分配性格分析师
-        Long consultWorkerId = customerService.randomWorkerIdByLineStatusAndPostNeWorkerId(ImStatusEnum.ON_LINE.getCode(), null, PostIdEnum.PO_31.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode(), eqWorkerIdList, neWorkerIdList);
+        Long consultWorkerId = customerService.randomWorkerIdByLineStatusAndPostNeWorkerId(ImStatusEnum.ON_LINE.getCode(), null, PostIdEnum.PO_31.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode(), CustomerMentalAnalysisStatusEnum.ON_WORK.getCode(), eqWorkerIdList, neWorkerIdList);
         if (consultWorkerId == null) {
-            consultWorkerId = customerService.randomWorkerIdByLineStatusAndPostNeWorkerId(null, null, PostIdEnum.PO_31.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode(), eqWorkerIdList, neWorkerIdList);
+            consultWorkerId = customerService.randomWorkerIdByLineStatusAndPostNeWorkerId(null, null, PostIdEnum.PO_31.getCode(), CustomerWorkStatusEnum.ON_WORK.getCode(), CustomerMentalAnalysisStatusEnum.ON_WORK.getCode(), eqWorkerIdList, neWorkerIdList);
         }
 
         return consultWorkerId;
diff --git a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/CustomerMapper.java b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/CustomerMapper.java
index 334fc32..d10ebff 100644
--- a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/CustomerMapper.java
+++ b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/CustomerMapper.java
@@ -16,11 +16,36 @@
  */
 public interface CustomerMapper extends BaseMapper<Customer> {
 
-    List<Long> getWorkerIdByLineStatusAndPostType(@Param("lineStatus") String lineStatus, @Param("postType") Integer postType, @Param("postId") Integer postId, @Param("workStatus") Integer workStatus);
-    List<Customer> randomWorkerByLineStatusAndPostNeWorkerId(@Param("lineStatus") String lineStatus, @Param("postType") Integer postType, @Param("postId") Integer postId, @Param("workStatus") Integer workStatus, @Param("eqWorkerIdList") List<Long> eqWorkerIdList, @Param("neWorkerIdList") List<Long> neWorkerIdList);
+    List<Long> getWorkerIdByLineStatusAndPostType(
+            @Param("lineStatus") String lineStatus,
+            @Param("postType") Integer postType,
+            @Param("postId") Integer postId,
+            @Param("workStatus") Integer workStatus
+    );
+    List<Long> randomWorkerByLineStatusAndPostNeWorkerId(
+            @Param("lineStatus") String lineStatus,
+            @Param("postType") Integer postType,
+            @Param("postId") Integer postId,
+            @Param("workStatus") Integer workStatus,
+            @Param("mentalAnalysisStatus") Integer mentalAnalysisStatus,
+            @Param("eqWorkerIdList") List<Long> eqWorkerIdList,
+            @Param("neWorkerIdList") List<Long> neWorkerIdList
+    );
 
-    List<Customer> getWorkerListByLineStatusAndPostType(@Param("lineStatus") String lineStatus, @Param("postType") Integer postType, @Param("postId") Integer postId, @Param("workStatus") Integer workStatus);
+    List<Customer> getWorkerListByLineStatusAndPostType(
+            @Param("lineStatus") String lineStatus,
+            @Param("postType") Integer postType,
+            @Param("postId") Integer postId,
+            @Param("workStatus") Integer workStatus
+    );
 
-    Page<UserManagePageResponseDTO> getCustomerPage(@Param("page") Page<Object> page, @Param("userType") Integer userType, @Param("id") Long id, @Param("name") String name, @Param("telephone") String telephone, @Param("statusFlag") Integer statusFlag);
+    Page<UserManagePageResponseDTO> getCustomerPage(
+            @Param("page") Page<Object> page,
+            @Param("userType") Integer userType,
+            @Param("id") Long id,
+            @Param("name") String name,
+            @Param("telephone") String telephone,
+            @Param("statusFlag") Integer statusFlag
+    );
 
 }
\ No newline at end of file
diff --git a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/mapping/CustomerMapper.xml b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/mapping/CustomerMapper.xml
index ae34329..fa41179 100644
--- a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/mapping/CustomerMapper.xml
+++ b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/mapper/mapping/CustomerMapper.xml
@@ -27,7 +27,7 @@
         SELECT customer_id FROM <include refid="getWorkerByLineStatusAndPostType"/>
     </select>
 
-    <select id="randomWorkerByLineStatusAndPostNeWorkerId" resultType="cn.stylefeng.roses.kernel.customer.modular.entity.Customer">
+    <select id="randomWorkerByLineStatusAndPostNeWorkerId" resultType="java.lang.Long">
         SELECT customer_id FROM toc_customer o
         LEFT JOIN im_user_status ius ON o.customer_id = ius.userid
         <where>
@@ -44,6 +44,9 @@
             <if test="workStatus != null">
                 AND o.work_status = #{workStatus}
             </if>
+            <if test="mentalAnalysisStatus != null">
+                AND o.mental_analysis_status = #{mentalAnalysisStatus}
+            </if>
             <if test="eqWorkerIdList != null and eqWorkerIdList.size != 0">
                 AND o.customer_id IN
                 <foreach collection="eqWorkerIdList" item="item" open="(" separator="," close=")">
diff --git a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/CustomerService.java b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/CustomerService.java
index 3d4a143..f3c6edb 100644
--- a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/CustomerService.java
+++ b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/CustomerService.java
@@ -168,7 +168,7 @@
      * @return
      */
     Long randomWorkerIdByLineStatusAndPost(String lineStatus, Integer postType, Integer postId, Integer workStatus);
-    Long randomWorkerIdByLineStatusAndPostNeWorkerId(String lineStatus, Integer postType, Integer postId, Integer workStatus, List<Long> eqWorkerIdList, List<Long> neWorkerIdList);
+    Long randomWorkerIdByLineStatusAndPostNeWorkerId(String lineStatus, Integer postType, Integer postId, Integer workStatus, Integer mentalAnalysisStatus, List<Long> eqWorkerIdList, List<Long> neWorkerIdList);
 
     /**
      * 更新用户信息,删除缓存
diff --git a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/impl/CustomerServiceImpl.java b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/impl/CustomerServiceImpl.java
index 11170d6..90f867c 100644
--- a/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/impl/CustomerServiceImpl.java
+++ b/roses/kernel-s-customer/customer-business/src/main/java/cn/stylefeng/roses/kernel/customer/modular/service/impl/CustomerServiceImpl.java
@@ -643,12 +643,12 @@
     }
 
     @Override
-    public Long randomWorkerIdByLineStatusAndPostNeWorkerId(String lineStatus, Integer postType, Integer postId, Integer workStatus, List<Long> eqWorkerIdList, List<Long> neWorkerIdList) {
+    public Long randomWorkerIdByLineStatusAndPostNeWorkerId(String lineStatus, Integer postType, Integer postId, Integer workStatus, Integer mentalAnalysisStatus, List<Long> eqWorkerIdList, List<Long> neWorkerIdList) {
         // 获取指定在线状态,指定岗位的工作人员ID
-        List<Customer> list = this.baseMapper.randomWorkerByLineStatusAndPostNeWorkerId(lineStatus, postType, postId, workStatus, eqWorkerIdList, neWorkerIdList);
+        List<Long> list = this.baseMapper.randomWorkerByLineStatusAndPostNeWorkerId(lineStatus, postType, postId, workStatus, mentalAnalysisStatus, eqWorkerIdList, neWorkerIdList);
         if (CollUtil.isNotEmpty(list)) {
             // 随机一个工作人员ID
-            return list.get(RandomUtil.randomInt(list.size())).getCustomerId();
+            return list.get(RandomUtil.randomInt(list.size()));
         }
         return null;
     }

--
Gitblit v1.7.1