|
@@ -274,63 +274,220 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
</foreach>
|
|
|
</delete>
|
|
|
|
|
|
- <select id="selectQwExternalContactPageList" resultType="QwExternalContactListVo">
|
|
|
+ <select id="selectExternalContactPageList" resultType="ExternalContactListVO">
|
|
|
SELECT
|
|
|
qw_external_contact.id,
|
|
|
qw_external_contact.qw_user_id,
|
|
|
- qw_external_contact.state,
|
|
|
- qw_external_contact.way_id,
|
|
|
- qw_external_contact.stage_status,
|
|
|
- qw_external_contact.open_id,
|
|
|
- qw_external_contact.is_interact,
|
|
|
- qw_external_contact.LEVEL,
|
|
|
- qw_external_contact.unionid,
|
|
|
qw_external_contact.user_id,
|
|
|
- qw_external_contact.transfer_time,
|
|
|
- qw_external_contact.loss_time,
|
|
|
--- qw_external_contact.del_time,
|
|
|
- qw_external_contact.transfer_num,
|
|
|
qw_external_contact.external_user_id,
|
|
|
- qw_external_contact.transfer_status,
|
|
|
+ qw_external_contact.remark_mobiles AS mobile,
|
|
|
qw_external_contact.STATUS,
|
|
|
qw_external_contact.create_time,
|
|
|
- qw_external_contact.NAME as nickName,
|
|
|
+ qw_external_contact.NAME AS nickName,
|
|
|
qw_external_contact.avatar,
|
|
|
- qw_external_contact.type,
|
|
|
- qw_external_contact.gender,
|
|
|
- qw_external_contact.remark,
|
|
|
- qw_external_contact.description,
|
|
|
+ qw_external_contact.gender AS sex,
|
|
|
qw_external_contact.tag_ids,
|
|
|
- qw_external_contact.remark_mobiles,
|
|
|
- qw_external_contact.remark_corp_name,
|
|
|
- qw_external_contact.add_way,
|
|
|
- qw_external_contact.oper_userid as mpOpenId,
|
|
|
qw_external_contact.corp_id,
|
|
|
- qw_external_contact.company_id,
|
|
|
- qw_external_contact.company_user_id,
|
|
|
- qw_external_contact.customer_id,
|
|
|
- qw_external_contact.fs_user_id,
|
|
|
company_user.user_id AS companyUserId,
|
|
|
company_user.user_name AS companyUserName,
|
|
|
- company_user.nick_name AS companyUserNickName,
|
|
|
- qw_user.qw_user_name as nickName
|
|
|
+ company_user.nick_name AS companyUserNickName
|
|
|
FROM
|
|
|
qw_external_contact
|
|
|
LEFT JOIN qw_user ON qw_external_contact.user_id = qw_user.qw_user_id
|
|
|
LEFT JOIN company_user ON qw_user.company_user_id = company_user.user_id
|
|
|
WHERE company_user.user_id = #{userId}
|
|
|
- <if test = "isBlack">
|
|
|
- AND qw_external_contact.status = 7
|
|
|
+ <choose>
|
|
|
+ <when test = "isBlack">
|
|
|
+ AND qw_external_contact.status = 7
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND qw_external_contact.status != 7
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ <if test="keyword != null and keyword !='' ">
|
|
|
+ AND (qw_external_contact.NAME LIKE concat('%',#{keyword},'%') or qw_external_contact.remark_mobiles LIKE concat('%',#{keyword},'%'))
|
|
|
+-- AND concat(qw_external_contact.NAME, qw_external_contact.remark_mobiles) LIKE concat('%',#{keyword},'%')
|
|
|
</if>
|
|
|
- <if test="companyId != null">
|
|
|
- AND company_user.company_id = #{companyId}
|
|
|
+ <if test="registerStartTime != null and registerStartTime !='' ">
|
|
|
+ AND qw_external_contact.create_time >= #{registerStartTime}
|
|
|
</if>
|
|
|
-
|
|
|
- <if test="regiesterStartTime != null and regiesterStartTime !='' ">
|
|
|
- AND qw_external_contact.create_time >= #{regiesterStartTime}
|
|
|
+ <if test="registerEndTime != null and registerEndTime !='' ">
|
|
|
+ AND qw_external_contact.create_time <= #{registerEndTime}
|
|
|
+ </if>
|
|
|
+ <if test="tagIds != null and tagIds.length > 0">
|
|
|
+ AND
|
|
|
+ <foreach collection="tagIds" item="item" index="index" open="(" separator="or" close=")">
|
|
|
+ tag_ids LIKE concat('%"',#{item},'"%')
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="tabValue != null and tabValue !='' ">
|
|
|
+ <choose>
|
|
|
+ <when test = "tabValue == 1">
|
|
|
+ AND DAY(qw_external_contact.create_time) = DAY(NOW())
|
|
|
+ </when>
|
|
|
+ <when test = "tabValue == 2">
|
|
|
+-- 暂时不做
|
|
|
+ AND 1!=1
|
|
|
+ </when>
|
|
|
+ <when test = "tabValue == 3">
|
|
|
+ -- 暂时不做
|
|
|
+ AND 1!=1
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+ <if test="watchCourseType != null and watchCourseType !='' ">
|
|
|
+ <choose>
|
|
|
+ <when test = "watchCourseType == 1">
|
|
|
+ AND 1!=1
|
|
|
+ </when>
|
|
|
+ <when test = "watchCourseType == 2">
|
|
|
+ AND 1!=1
|
|
|
+ </when>
|
|
|
+ <when test = "watchCourseType == 3">
|
|
|
+ AND 1!=1
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
</if>
|
|
|
- <if test="regiesterEndTime != null and regiesterEndTime !='' ">
|
|
|
- AND qw_external_contact.create_time <= #{regiesterEndTime}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getContactNumber" resultType="ExternalContactNumVO">
|
|
|
+ SELECT
|
|
|
+ qw_external_contact.STATUS as status,
|
|
|
+ count( qw_external_contact.id ) as num
|
|
|
+ FROM
|
|
|
+ qw_external_contact
|
|
|
+ LEFT JOIN qw_user ON qw_external_contact.user_id = qw_user.qw_user_id
|
|
|
+ LEFT JOIN company_user ON qw_user.company_user_id = company_user.user_id
|
|
|
+ WHERE
|
|
|
+ company_user.user_id = #{userId}
|
|
|
+ GROUP BY
|
|
|
+ qw_external_contact.STATUS
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getCountAnswer" resultType="ExternalContactDetailsVO">
|
|
|
+ SELECT
|
|
|
+ count( DISTINCT log_id ) AS answerTime,
|
|
|
+ is_right,
|
|
|
+ qw_external_contact.id,
|
|
|
+ qw_external_contact.external_user_id,
|
|
|
+ qw_external_contact.qw_user_id
|
|
|
+ FROM
|
|
|
+ fs_course_answer_logs
|
|
|
+ LEFT JOIN qw_user ON qw_user.id = fs_course_answer_logs.qw_user_id
|
|
|
+ LEFT JOIN qw_external_contact ON qw_external_contact.user_id = qw_user.qw_user_id
|
|
|
+ WHERE
|
|
|
+ fs_course_answer_logs.company_user_id = #{userId}
|
|
|
+ <if test="dateTag != null and dateTag !='' ">
|
|
|
+ <choose>
|
|
|
+ <when test = "dateTag == '今天'">
|
|
|
+ and to_days(fs_course_answer_logs.create_time) = to_days(now())
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == ' 昨天'">
|
|
|
+ and to_days(now()) - to_days(fs_course_answer_logs.create_time) <= 1
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == '前天'">
|
|
|
+ and to_days(now()) - to_days(fs_course_answer_logs.create_time) <= 2
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == '近七天'">
|
|
|
+ and DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(fs_course_answer_logs.create_time)
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
</if>
|
|
|
+ GROUP BY
|
|
|
+ qw_external_contact.id
|
|
|
+ HAVING
|
|
|
+ qw_external_contact.id = #{contactId}
|
|
|
+
|
|
|
+ union all
|
|
|
+
|
|
|
+ SELECT
|
|
|
+ count( DISTINCT log_id ) AS answerRightTime,
|
|
|
+ is_right,
|
|
|
+ qw_external_contact.id,
|
|
|
+ qw_external_contact.external_user_id,
|
|
|
+ qw_external_contact.qw_user_id
|
|
|
+ FROM
|
|
|
+ fs_course_answer_logs
|
|
|
+ LEFT JOIN qw_user ON qw_user.id = fs_course_answer_logs.qw_user_id
|
|
|
+ LEFT JOIN qw_external_contact ON qw_external_contact.user_id = qw_user.qw_user_id
|
|
|
+ WHERE
|
|
|
+ fs_course_answer_logs.company_user_id = #{userId} and fs_course_answer_logs.is_right = 1
|
|
|
+ <if test="dateTag != null and dateTag !='' ">
|
|
|
+ <choose>
|
|
|
+ <when test = "dateTag == '今天'">
|
|
|
+ and to_days(fs_course_answer_logs.create_time) = to_days(now())
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == ' 昨天'">
|
|
|
+ and to_days(now()) - to_days(fs_course_answer_logs.create_time) <= 1
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == '前天'">
|
|
|
+ and to_days(now()) - to_days(fs_course_answer_logs.create_time) <= 2
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == '近七天'">
|
|
|
+ and DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(fs_course_answer_logs.create_time)
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+ GROUP BY
|
|
|
+ qw_external_contact.id
|
|
|
+ HAVING
|
|
|
+ qw_external_contact.id = #{contactId}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getCountRedPacket" resultType="ExternalContactDetailsVO">
|
|
|
+ SELECT
|
|
|
+ count( DISTINCT log_id ) AS answerRedPacketTime,
|
|
|
+ sum( amount ) AS answerRedPacketAmount,
|
|
|
+ amount,
|
|
|
+ qw_external_contact.id,
|
|
|
+ qw_external_contact.external_user_id,
|
|
|
+ qw_external_contact.qw_user_id
|
|
|
+ FROM
|
|
|
+ fs_course_red_packet_log
|
|
|
+ LEFT JOIN qw_user ON qw_user.id = fs_course_red_packet_log.qw_user_id
|
|
|
+ LEFT JOIN qw_external_contact ON qw_external_contact.user_id = qw_user.qw_user_id
|
|
|
+ WHERE
|
|
|
+ fs_course_red_packet_log.company_user_id = #{userId}
|
|
|
+ <if test="dateTag != null and dateTag !='' ">
|
|
|
+ <choose>
|
|
|
+ <when test = "dateTag == '今天'">
|
|
|
+ and to_days(fs_course_red_packet_log.create_time) = to_days(now())
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == ' 昨天'">
|
|
|
+ and to_days(now()) - to_days(fs_course_red_packet_log.create_time) <= 1
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == '前天'">
|
|
|
+ and to_days(now()) - to_days(fs_course_red_packet_log.create_time) <= 2
|
|
|
+ </when>
|
|
|
+ <when test = "dateTag == '近七天'">
|
|
|
+ and DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(fs_course_red_packet_log.create_time)
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+ GROUP BY
|
|
|
+ qw_external_contact.id
|
|
|
+ HAVING
|
|
|
+ qw_external_contact.id = #{contactId}
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <select id="selectContactByIds" resultType="QwExternalContact">
|
|
|
+ SELECT
|
|
|
+ qw_external_contact.id,
|
|
|
+ qw_external_contact.STATUS
|
|
|
+ from qw_external_contact
|
|
|
+ where id in
|
|
|
+ <foreach collection="ids" item="id" index="index" open="(" separator="," close=")">
|
|
|
+ (#{id})
|
|
|
+ </foreach>
|
|
|
</select>
|
|
|
+
|
|
|
+ <update id="updateContactByIds" parameterType="map">
|
|
|
+ update qw_external_contact
|
|
|
+ set status = #{status}
|
|
|
+ where id in
|
|
|
+ <foreach collection="ids" item="id" open="(" separator="," close=")">
|
|
|
+ #{id}
|
|
|
+ </foreach>
|
|
|
+ </update>
|
|
|
</mapper>
|