|
@@ -378,7 +378,14 @@
|
|
|
|
|
|
<select id="selectFsUserPageListNew" resultType="FsUserPageListVO">
|
|
|
SELECT
|
|
|
- fs_user.*,
|
|
|
+ fs_user.user_id,
|
|
|
+ fs_user.nickname,
|
|
|
+ fs_user.avatar,
|
|
|
+ fs_user.phone,
|
|
|
+ fs_user.status,
|
|
|
+ fs_user.create_time,
|
|
|
+ fs_user.remark,
|
|
|
+ fs_user.company_user_id,
|
|
|
fs_user_course_count.id,
|
|
|
fs_user_course_count.watch_course_count,
|
|
|
fs_user_course_count.miss_course_count,
|
|
@@ -391,120 +398,102 @@
|
|
|
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,
|
|
|
- if(fs_user.company_user_id = #{pcLoginUserId} or company_user.parent_id = #{pcLoginUserId}, 1, 0) as isCurrentCompanyUser
|
|
|
- FROM
|
|
|
- (SELECT
|
|
|
- fu.user_id
|
|
|
+ company_user.nick_name as companyUserNickName
|
|
|
FROM
|
|
|
- fs_user fu
|
|
|
- LEFT JOIN company_user cu ON fu.company_user_id = cu.user_id
|
|
|
- LEFT JOIN fs_user_course_count fucc ON fu.user_id = fucc.user_id
|
|
|
- LEFT JOIN company_tag_user ctu ON fu.user_id = ctu.user_id
|
|
|
- <where>
|
|
|
- <if test="userId != null and userId !='' ">
|
|
|
- AND (cu.user_id = #{userId} OR cu.parent_id = #{userId})
|
|
|
- </if>
|
|
|
- <if test="companyUserId != null and companyUserId !='' ">
|
|
|
- AND cu.user_id = #{companyUserId}
|
|
|
- </if>
|
|
|
-<!-- <choose>-->
|
|
|
-<!-- <when test = "isBlack">-->
|
|
|
-<!-- AND fu.status = 0-->
|
|
|
-<!-- </when>-->
|
|
|
-<!-- <otherwise>-->
|
|
|
-<!-- AND fu.status = 1-->
|
|
|
-<!-- </otherwise>-->
|
|
|
-<!-- </choose>-->
|
|
|
- <if test="keyword != null and keyword !='' ">
|
|
|
- AND (fu.nickname LIKE concat('%',#{keyword},'%')
|
|
|
- OR fu.phone LIKE concat('%',#{keyword},'%')
|
|
|
- )
|
|
|
- </if>
|
|
|
- <if test="registerStartTime != null and registerStartTime !='' ">
|
|
|
- AND fu.create_time >= #{registerStartTime}
|
|
|
- </if>
|
|
|
- <if test="registerEndTime != null and registerEndTime !='' ">
|
|
|
- AND fu.create_time <= #{registerEndTime}
|
|
|
- </if>
|
|
|
- <if test="tagIds != null and tagIds.length > 0">
|
|
|
- AND
|
|
|
- <foreach collection="tagIds" item="item" index="index" open="(" separator="or" close=")">
|
|
|
- ctu.tag_ids LIKE concat('%"',#{item},'"%')
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
- <if test="tabValue != null and tabValue !='' ">
|
|
|
- <choose>
|
|
|
- <when test = "tabValue == 1">
|
|
|
- AND DAY(fu.create_time) = DAY(NOW())
|
|
|
- </when>
|
|
|
- <when test = "tabValue == 2">
|
|
|
- AND DAY(fucc.complete_watch_date) = DAY(NOW())
|
|
|
- </when>
|
|
|
- <when test = "tabValue == 3">
|
|
|
- AND fucc.status = 3
|
|
|
- </when>
|
|
|
- </choose>
|
|
|
- </if>
|
|
|
- <if test="watchCourseType != null and watchCourseType !='' ">
|
|
|
- <choose>
|
|
|
- <when test = "watchCourseType == 1">
|
|
|
- AND fucc.status = 3
|
|
|
- </when>
|
|
|
- <when test = "watchCourseType == 2">
|
|
|
- AND fucc.status = 1
|
|
|
- </when>
|
|
|
- <when test = "watchCourseType == 3">
|
|
|
- AND fucc.status = 2
|
|
|
- </when>
|
|
|
- </choose>
|
|
|
- </if>
|
|
|
- <if test="missCourseStatus != null and missCourseStatus !='' ">
|
|
|
- <choose>
|
|
|
- <when test = "missCourseStatus == 1">
|
|
|
- AND fucc.miss_course_status = 1
|
|
|
- </when>
|
|
|
- <when test = "missCourseStatus == 2">
|
|
|
- AND fucc.miss_course_status = 2
|
|
|
- </when>
|
|
|
- </choose>
|
|
|
- </if>
|
|
|
- <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
|
|
|
+ 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 fs_user.is_del = 0
|
|
|
+ <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 >= #{registerStartTime}
|
|
|
+ </if>
|
|
|
+ <if test="registerEndTime != null and registerEndTime !='' ">
|
|
|
+ AND fs_user.create_time <= #{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 or fs_user_course_count.status is null)
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+ <if test="watchCourseType != null and watchCourseType !='' ">
|
|
|
+ <choose>
|
|
|
+ <when test = "watchCourseType == 1">
|
|
|
+ AND (fs_user_course_count.status = 3 or fs_user_course_count.status is null)
|
|
|
+ </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 or fs_user_course_count.miss_course_status is null )
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+
|
|
|
+ group by fs_user.user_id
|
|
|
+
|
|
|
<if test="continueMissCourseSort != null and continueMissCourseSort !='' ">
|
|
|
- ORDER BY
|
|
|
+ order by
|
|
|
<choose>
|
|
|
<when test = "continueMissCourseSort == 0">
|
|
|
- fucc.miss_course_days DESC
|
|
|
+ fs_user_course_count.miss_course_days desc
|
|
|
</when>
|
|
|
<when test = "continueMissCourseSort == 1">
|
|
|
- fucc.miss_course_days ASC
|
|
|
+ fs_user_course_count.miss_course_days asc
|
|
|
</when>
|
|
|
<when test = "continueMissCourseSort == 2">
|
|
|
- fu.create_time DESC
|
|
|
+ fs_user.create_time desc
|
|
|
</when>
|
|
|
<when test = "continueMissCourseSort == 3">
|
|
|
- fu.nickname ASC
|
|
|
+ fs_user.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
|
|
|
- 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
|
|
|
- GROUP BY fs_user.user_id
|
|
|
</select>
|
|
|
|
|
|
<select id="selectFsUserPageList" resultType="FsUserPageListVO">
|
|
@@ -769,7 +758,7 @@
|
|
|
<select id="countTag" resultType="FsUserSummaryCountTagVO">
|
|
|
SELECT
|
|
|
company_tag.tag AS tagName,
|
|
|
- count( fs_user.user_id ) AS userCount
|
|
|
+ count( fs_user.user_id ) AS number
|
|
|
FROM
|
|
|
company_tag_user
|
|
|
LEFT JOIN fs_user ON fs_user.user_id = company_tag_user.user_id
|