From 3bc9e1d6e31b8d94be9fac90164370d8524273c2 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 24 七月 2023 14:03:12 +0800
Subject: [PATCH] #保存回退权限3级硬编码

---
 src/main/java/com/zy/crm/manager/service/CstmrService.java          |    1 
 src/main/java/com/zy/crm/manager/controller/CstmrController.java    |    7 +++
 src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java |    5 ++
 src/main/resources/mapper/CstmrMapper.xml                           |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java            |    1 
 5 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/crm/manager/controller/CstmrController.java b/src/main/java/com/zy/crm/manager/controller/CstmrController.java
index b502936..a3d3769 100644
--- a/src/main/java/com/zy/crm/manager/controller/CstmrController.java
+++ b/src/main/java/com/zy/crm/manager/controller/CstmrController.java
@@ -85,6 +85,13 @@
 
             }
         }
+//        return R.ok(cstmrService.getPage1(new Page<>(curr, limit)
+//                , getHostId()
+//                , deptId == null ? null : String.valueOf(deptId)
+//                , userId == null ? getUserId() : userId
+//                , conditionName
+//                , condition)
+//        );
         return R.ok(cstmrService.getPage2(new Page<>(curr, limit)
                 , getHostId()
                 , deptId == null ? userService.selectById(getUserId()).getDeptId() : deptId
diff --git a/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java b/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java
index 0920922..0d77135 100644
--- a/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java
+++ b/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java
@@ -18,6 +18,7 @@
     Cstmr selectCstmrByNewestUuid(@Param("hostId") Long hostId);
 
     List<Cstmr> listByPage2(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") Long deptId, @Param("userId") Long userId,@Param("roleId") Long roleId, @Param("conditionName") String conditionName ,@Param("condition") String condition);
+    List<Cstmr> listByPage1(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId, @Param("conditionName") String conditionName ,@Param("condition") String condition);
     List<Cstmr> listByPage(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId,@Param("condition") String condition);
 
     int updateDeptIdByUserId(@Param("userId")Long userId, @Param("deptId")Long deptId);
diff --git a/src/main/java/com/zy/crm/manager/service/CstmrService.java b/src/main/java/com/zy/crm/manager/service/CstmrService.java
index 85a9ff7..4576200 100644
--- a/src/main/java/com/zy/crm/manager/service/CstmrService.java
+++ b/src/main/java/com/zy/crm/manager/service/CstmrService.java
@@ -11,6 +11,7 @@
     String getUuid(Long hostId);
 
     Page<Cstmr> getPage2(Page<Cstmr> page, Long hostId, Long deptId, Long userId,Long roleId, String conditionName, String condition);
+    Page<Cstmr> getPage1(Page<Cstmr> page, Long hostId, String deptId, Long userId, String conditionName, String condition);
     Page<Cstmr> getPage(Page<Cstmr> page, Long hostId, String deptId, Long userId,  String condition);
 
     int updateDeptIdByUserId(Long userId, Long deptId);
diff --git a/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java
index a552d5d..16f92b1 100644
--- a/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java
+++ b/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java
@@ -45,6 +45,11 @@
     }
 
     @Override
+    public Page<Cstmr> getPage1(Page<Cstmr> page, Long hostId, String deptId, Long userId,String conditionName,  String condition) {
+        return page.setRecords(baseMapper.listByPage1(page, hostId, deptId, userId,conditionName, condition));
+    }
+
+    @Override
     public Page<Cstmr> getPage(Page<Cstmr> page, Long hostId, String deptId, Long userId,  String condition) {
         return page.setRecords(baseMapper.listByPage(page, hostId, deptId, userId, condition));
     }
diff --git a/src/main/resources/mapper/CstmrMapper.xml b/src/main/resources/mapper/CstmrMapper.xml
index 73c2759..5fb0c0c 100644
--- a/src/main/resources/mapper/CstmrMapper.xml
+++ b/src/main/resources/mapper/CstmrMapper.xml
@@ -126,6 +126,99 @@
         ORDER BY mc.create_time DESC
     </select>
 
+    <select id="listByPage1" resultMap="BaseResultMap">
+        SELECT
+        mc.*
+        FROM man_cstmr mc
+        LEFT JOIN sys_dept sd ON mc.dept_id = sd.id
+        WHERE 1=1
+        <choose>
+            <when test="deptId != null and deptId != ''">
+                AND (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
+                or
+                (
+                user_id = #{userId}
+                or
+                mc.id in
+                (
+                select
+                cstmr_id
+                from man_cstmr_foll
+                where 1=1
+                and user_id = #{userId}
+                )
+                )
+            </when>
+            <otherwise>
+                and
+                (
+                user_id = #{userId}
+                or
+                mc.id in
+                (
+                select
+                cstmr_id
+                from man_cstmr_foll
+                where 1=1
+                and user_id = #{userId}
+                )
+                )
+            </otherwise>
+        </choose>
+        <if test="hostId != null">
+            and mc.host_id = #{hostId}
+        </if>
+        <choose>
+            <when test="conditionName != null and conditionName != ''">
+                <if test="condition != null and condition != ''">
+                    <if test="conditionName == 'uuid'">
+                        and mc.uuid like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'name'">
+                        and mc.name like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'simple'">
+                        and mc.simple like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'rela'">
+                        and mc.rela like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'tel'">
+                        and mc.tel like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'contacts'">
+                        and mc.contacts like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'remarks'">
+                        and mc.remarks like concat('%',#{condition},'%')
+                    </if>
+                    <if test="conditionName == 'director'">
+                        and mc.director = #{condition}
+                    </if>
+                    <if test="conditionName == 'addr'">
+                        and mc.addr like concat('%',#{condition},'%')
+                    </if>
+                </if>
+            </when>
+            <otherwise>
+                <if test="condition != null and condition != ''">
+                    and (
+                    mc.uuid like concat('%',#{condition},'%')
+                    or mc.name like concat('%',#{condition},'%')
+                    or mc.simple like concat('%',#{condition},'%')
+                    or mc.rela like concat('%',#{condition},'%')
+                    or mc.tel like concat('%',#{condition},'%')
+                    or mc.contacts like concat('%',#{condition},'%')
+                    or mc.remarks like concat('%',#{condition},'%')
+                    or mc.director like concat('%',#{condition},'%')
+                    or mc.addr like concat('%',#{condition},'%')
+                    )
+                </if>
+            </otherwise>
+        </choose>
+        ORDER BY mc.create_time DESC
+    </select>
+
     <select id="listByPage2" resultMap="BaseResultMap">
         SELECT DISTINCT mc.*
         FROM man_cstmr mc

--
Gitblit v1.9.1