xdd 3 dní pred
rodič
commit
3e6928671f

+ 9 - 0
fs-company/src/main/java/com/fs/user/FsUserAdminController.java

@@ -3,6 +3,9 @@ package com.fs.user;
 import com.fs.common.constant.HttpStatus;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.utils.ServletUtils;
+import com.fs.core.security.LoginUser;
+import com.fs.core.web.service.TokenService;
 import com.fs.store.param.h5.FsUserPageListParam;
 import com.fs.store.service.IFsUserService;
 import com.fs.store.vo.h5.FsUserPageListVO;
@@ -27,10 +30,16 @@ public class FsUserAdminController extends BaseController {
     @Autowired
     private IFsUserService fsUserService;
 
+    @Autowired
+    private TokenService tokenService;
+
     @PreAuthorize("@ss.hasPermi('user:fsUser:list')")
     @PostMapping("/list")
     @ApiOperation("会员列表(与移动端使用的相同查询)")
     public TableDataInfo pageList(@RequestBody FsUserPageListParam param) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        param.setCompanyId(loginUser.getCompany().getCompanyId());
+
         List<FsUserPageListVO> list = fsUserService.selectFsUserPageListNew(param);
         Long total = fsUserService.selectFsUserCount(param);
         TableDataInfo rspData = new TableDataInfo();

+ 5 - 0
fs-service-system/src/main/java/com/fs/store/param/h5/FsUserPageListParam.java

@@ -58,6 +58,11 @@ public class FsUserPageListParam implements Serializable {
     @ApiModelProperty(value = "电话 (PC端使用)")
     private String phone;
 
+    /**
+     * 公司id
+     */
+    private Long companyId;
+
 
 }
 

+ 35 - 130
fs-service-system/src/main/resources/mapper/store/FsUserMapper.xml

@@ -468,25 +468,34 @@
                     </when>
                 </choose>
             </if>
-            GROUP BY fu.user_id
-            <if test="continueMissCourseSort != null and continueMissCourseSort !='' ">
-                ORDER BY
-                <choose>
-                    <when test = "continueMissCourseSort == 0">
-                        fucc.miss_course_days DESC
-                    </when>
-                    <when test = "continueMissCourseSort == 1">
-                        fucc.miss_course_days ASC
-                    </when>
-                    <when test = "continueMissCourseSort == 2">
-                        fu.create_time DESC
-                    </when>
-                    <when test = "continueMissCourseSort == 3">
-                        fu.nickname ASC
-                    </when>
-                </choose>
+            <if test="nickname !=null and nickname != ''">
+                AND fu.nickname like concat(#{nickname},'%')
+            </if>
+            <if test="phone != null and phone !=''">
+                AND fu.phone like concat(#{phone},'%')
+            </if>
+            <if test="companyId != null">
+                AND fu.company_id = ${companyId}
             </if>
         </where>
+        GROUP BY fu.user_id
+        <if test="continueMissCourseSort != null and continueMissCourseSort !='' ">
+            ORDER BY
+            <choose>
+                <when test = "continueMissCourseSort == 0">
+                    fucc.miss_course_days DESC
+                </when>
+                <when test = "continueMissCourseSort == 1">
+                    fucc.miss_course_days ASC
+                </when>
+                <when test = "continueMissCourseSort == 2">
+                    fu.create_time DESC
+                </when>
+                <when test = "continueMissCourseSort == 3">
+                    fu.nickname ASC
+                </when>
+            </choose>
+        </if>
         LIMIT ${(pageNum-1)*pageSize},${pageSize}
         ) temp_user_ids
         JOIN fs_user ON temp_user_ids.user_id = fs_user.user_id
@@ -1286,6 +1295,15 @@
         fs_user fu
         LEFT JOIN fs_user_course_count fucc ON fu.user_id = fucc.user_id
         <where>
+            <if test="companyId != null">
+                AND fu.company_id = ${companyId}
+            </if>
+            <if test="phone != null and phone !=''">
+                AND fu.phone like concat(#{phone},'%')
+            </if>
+            <if test="nickname !=null and nickname != ''">
+                AND fu.nickname like concat(#{nickname},'%')
+            </if>
             <if test="userId != null and userId !='' ">
                 AND (cu.user_id = #{userId} OR cu.parent_id = #{userId})
             </if>
@@ -1360,117 +1378,4 @@
             </if>
         </where>
     </select>
-    <select id="selectFsUserPageList" resultType="FsUserPageListVO">
-        SELECT
-        fs_user.*,
-        fs_user_course_count.id,
-        fs_user_course_count.watch_course_count,
-        fs_user_course_count.miss_course_count,
-        fs_user_course_count.miss_course_status,
-        fs_user_course_count.course_id,
-        fs_user_course_count.part_course_count,
-        fs_user_course_count.last_watch_date,
-        fs_user_course_count.STATUS AS courseCountStatus,
-        fs_user_course_count.stop_watch_days,
-        fs_user_course_count.complete_watch_date,
-        GROUP_CONCAT(DISTINCT company_tag.tag) AS tag,
-        GROUP_CONCAT(DISTINCT company_tag.tag_id) AS tagIds,
-        company_user.nick_name as companyUserNickName
-        FROM
-        fs_user
-        left join company_user on fs_user.company_user_id = company_user.user_id
-        LEFT JOIN fs_user_course_count ON fs_user.user_id = fs_user_course_count.user_id
-        LEFT JOIN company_tag_user ON fs_user.user_id = company_tag_user.user_id
-        LEFT JOIN company_tag ON FIND_IN_SET(company_tag.tag_id, company_tag_user.tag_ids) > 0
-        where (company_user.user_id = #{userId} OR company_user.parent_id = #{userId} )
-        where 1 = 1
-        <if test="userId != null and userId !='' ">
-            and (company_user.user_id = #{userId} OR company_user.parent_id = #{userId} )
-        </if>
-        <if test="companyUserId != null and companyUserId !='' ">
-            and company_user.user_id = #{companyUserId}
-        </if>
-        <choose>
-            <when test = "isBlack">
-                AND fs_user.status = 0
-            </when>
-            <otherwise>
-                AND fs_user.status = 1
-            </otherwise>
-        </choose>
-        <if test="keyword != null and keyword !='' ">
-            AND (fs_user.nickname LIKE concat(#{keyword},'%')
-            or  fs_user.phone LIKE concat(#{keyword},'%')
-            )
-        </if>
-        <if test="registerStartTime != null and registerStartTime !='' ">
-            AND fs_user.create_time &gt;= #{registerStartTime}
-        </if>
-        <if test="registerEndTime != null and registerEndTime !='' ">
-            AND fs_user.create_time &lt;= #{registerEndTime}
-        </if>
-        <if test="tagIds != null and tagIds.length > 0">
-            AND
-            <foreach collection="tagIds" item="item" index="index" open="(" separator="or" close=")">
-                company_tag_user.tag_ids LIKE concat(#{item},'"%')
-            </foreach>
-        </if>
-        <if test="tabValue != null and tabValue !='' ">
-            <choose>
-                <when test = "tabValue == 1">
-                    AND DAY(fs_user.create_time) = DAY(NOW())
-                </when>
-                <when test = "tabValue == 2">
-                    AND DAY(fs_user_course_count.complete_watch_date) = DAY(NOW())
-                </when>
-                <when test = "tabValue == 3">
-                    AND fs_user_course_count.status = 3
-                </when>
-            </choose>
-        </if>
-        <if test="watchCourseType != null and watchCourseType !='' ">
-            <choose>
-                <when test = "watchCourseType == 1">
-                    AND fs_user_course_count.status = 3
-                </when>
-                <when test = "watchCourseType == 2">
-                    AND fs_user_course_count.status = 1
-                </when>
-                <when test = "watchCourseType == 3">
-                    AND fs_user_course_count.status = 2
-                </when>
-            </choose>
-        </if>
-        <if test="missCourseStatus != null and missCourseStatus !='' ">
-            <choose>
-                <when test = "missCourseStatus == 1">
-                    AND fs_user_course_count.miss_course_status = 1
-                </when>
-                <when test = "missCourseStatus == 2">
-                    AND fs_user_course_count.miss_course_status = 2
-                </when>
-            </choose>
-        </if>
-
-        group by fs_user.user_id
-
-        <if test="continueMissCourseSort != null and continueMissCourseSort !='' ">
-            order by
-            <choose>
-                <when test = "continueMissCourseSort == 0">
-                    fs_user_course_count.miss_course_days desc
-                </when>
-                <when test = "continueMissCourseSort == 1">
-                    fs_user_course_count.miss_course_days asc
-                </when>
-                <when test = "continueMissCourseSort == 2">
-                    fs_user.create_time desc
-                </when>
-                <when test = "continueMissCourseSort == 3">
-                    fs_user.nickname asc
-                </when>
-            </choose>
-        </if>
-    </select>
-
 </mapper>