|
|
@@ -0,0 +1,90 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
+<mapper namespace="shop.alien.mapper.LifeUserDynamicsMapper">
|
|
|
+
|
|
|
+ <select id="getDynamicsList" resultType="shop.alien.entity.store.vo.LifeUserDynamicsVo">
|
|
|
+ select dyna1.*, COUNT(dyna1.id) AS fansCount from (
|
|
|
+ select dyna.*,COUNT(lc.id) AS commentCount, COUNT(lm.id) AS transferNum from (
|
|
|
+ with dynamice as(
|
|
|
+ select id, title, phone_id phoneId, context, image_path, address,address_name,address_context, liulan_count, dianzan_count, type, created_time, substring_index(phone_id, '_', 1) flag, substring_index(phone_id, '_', -1) phone, draft , address_province, top_status, top_time, enable_status
|
|
|
+ from life_user_dynamics
|
|
|
+ where delete_flag = 0 and draft = 0 order by created_time desc
|
|
|
+ )
|
|
|
+ select dynamice.*, user.nick_name userName, user.head_img userImage, info.id storeUserId, user.id storeOrUserId, 0 isExpert
|
|
|
+ from dynamice
|
|
|
+ left join store_user user on dynamice.phone = user.phone and user.delete_flag = 0
|
|
|
+ left join store_info info on info.id = user.store_id and info.delete_flag = 0
|
|
|
+ left join store_img img on img.store_id = user.store_id and img.img_type = '10' and img.delete_flag = 0
|
|
|
+ where dynamice.flag = 'store'
|
|
|
+ union
|
|
|
+ select dynamice.*, user.user_name userName, user.user_image userImage, user.id storeUserId, user.id storeOrUserId, IF(lue.expert_code IS NOT NULL , 1, 0) AS isExpert
|
|
|
+ from dynamice
|
|
|
+ join life_user user on dynamice.phone = user.user_phone and user.delete_flag = 0
|
|
|
+ left join life_user_expert lue on lue.user_id = user.id and lue.delete_flag = 0
|
|
|
+ where dynamice.flag = 'user') dyna
|
|
|
+ left join life_comment lc on lc.dongtai_shequ_id = dyna.id
|
|
|
+ left join life_message lm on lm.business_id = dyna.id
|
|
|
+ GROUP BY dyna.id order by dyna.created_time desc) dyna1
|
|
|
+ left join life_fans lf1 on lf1.followed_id = dyna1.phoneId
|
|
|
+ where 1=1
|
|
|
+ <if test="nickName != null and nickName != ''">
|
|
|
+ AND dyna1.userName LIKE CONCAT('%', #{nickName}, '%')
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="userType != null and userType != ''">
|
|
|
+ AND dyna1.flag = #{userType}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <!-- 同时处理字符串和数字类型 -->
|
|
|
+ <if test="dynamicsType != null">
|
|
|
+ <choose>
|
|
|
+ <when test="dynamicsType == 1">
|
|
|
+ and dyna1.image_path REGEXP '.jpg|.jpeg|.png|.bmp|.webp|.gif|.svg'
|
|
|
+ </when>
|
|
|
+ <when test="dynamicsType == 2">
|
|
|
+ <!-- 其他条件 -->
|
|
|
+ and dyna1.image_path REGEXP '.mp4|.avi|.flv|.mkv|.rmvb|.wmv|.3gp|.mov'
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </if>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <if test="releaseStartTime != null and releaseStartTime != ''">
|
|
|
+ AND dyna1.created_time >= #{releaseStartTime}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="releaseEndTime != null and releaseEndTime != ''">
|
|
|
+ AND dyna1.created_time <= #{releaseEndTime}
|
|
|
+ </if>
|
|
|
+ GROUP by dyna1.id order by dyna1.top_status desc, dyna1.top_time desc
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getDynamicsDetail" resultType="shop.alien.entity.store.vo.LifeUserDynamicsVo">
|
|
|
+ select dyna1.*, COUNT(dyna1.id) AS fansCount from (
|
|
|
+ select dyna.*,COUNT(lc.id) AS commentCount, COUNT(lm.id) AS transferNum from (
|
|
|
+ with dynamice as(
|
|
|
+ select id, title, phone_id phoneId, context, image_path, address,address_name,address_context, liulan_count, dianzan_count, type, created_time, substring_index(phone_id, '_', 1) flag, substring_index(phone_id, '_', -1) phone, draft , address_province, top_status, top_time, enable_status
|
|
|
+ from life_user_dynamics
|
|
|
+ where id = #{id} and delete_flag = 0 and draft = 0 order by created_time desc
|
|
|
+ )
|
|
|
+ select dynamice.*, user.nick_name userName, user.head_img userImage, info.id storeUserId, user.id storeOrUserId, 0 isExpert
|
|
|
+ from dynamice
|
|
|
+ left join store_user user on dynamice.phone = user.phone and user.delete_flag = 0
|
|
|
+ left join store_info info on info.id = user.store_id and info.delete_flag = 0
|
|
|
+ left join store_img img on img.store_id = user.store_id and img.img_type = '10' and img.delete_flag = 0
|
|
|
+ where dynamice.flag = 'store'
|
|
|
+ union
|
|
|
+ select dynamice.*, user.user_name userName, user.user_image userImage, user.id storeUserId, user.id storeOrUserId, IF(lue.expert_code IS NOT NULL , 1, 0) AS isExpert
|
|
|
+ from dynamice
|
|
|
+ join life_user user on dynamice.phone = user.user_phone and user.delete_flag = 0
|
|
|
+ left join life_user_expert lue on lue.user_id = user.id and lue.delete_flag = 0
|
|
|
+ where dynamice.flag = 'user') dyna
|
|
|
+ left join life_comment lc on lc.dongtai_shequ_id = dyna.id
|
|
|
+ left join life_message lm on lm.business_id = dyna.id
|
|
|
+ GROUP BY dyna.id order by dyna.created_time desc) dyna1
|
|
|
+ left join life_fans lf1 on lf1.followed_id = dyna1.phoneId
|
|
|
+ GROUP by dyna1.id order by dyna1.top_status desc, dyna1.top_time desc
|
|
|
+ </select>
|
|
|
+
|
|
|
+</mapper>
|