<?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="com.panzhihua.service_community.dao.ComActNeighborCircleWestDAO">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActNeighborCircleWestDO">
|
<id column="id" property="id"/>
|
<result column="release_id" property="releaseId"/>
|
<result column="release_phone" property="releasePhone"/>
|
<result column="community_id" property="communityId"/>
|
<result column="release_content" property="releaseContent"/>
|
<result column="release_images" property="releaseImages"/>
|
<result column="status" property="status"/>
|
<result column="refuse_reason" property="refuseReason"/>
|
<result column="comment_num" property="commentNum"/>
|
<result column="fabulous_num" property="fabulousNum"/>
|
<result column="forward_num" property="forwardNum"/>
|
<result column="views_num" property="viewsNum"/>
|
<result column="is_boutique" property="isBoutique"/>
|
<result column="create_at" property="createAt"/>
|
<result column="reply_at" property="replyAt"/>
|
<result column="last_comment_num" property="lastCommentNum"/>
|
<result column="last_fabulous_num" property="lastFabulousNum"/>
|
<result column="last_views_num" property="lastViewsNum"/>
|
<result column="type" property="type"/>
|
<result column="topic_id" property="topicId"/>
|
<result column="hot_num" property="hotNum"/>
|
<result column="is_del" property="isDel"/>
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, release_id, release_phone, community_id, release_content, release_images, status, refuse_reason, comment_num, fabulous_num, forward_num, views_num, is_boutique, create_at, reply_at, last_comment_num, last_fabulous_num, last_views_num, type, topic_id, hot_num, is_del
|
</sql>
|
|
<select id="pageNeighborByApp" parameterType="com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAppDTO"
|
resultType="com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO">
|
SELECT
|
canc.id,
|
canc.release_content,
|
canc.release_images,
|
canc.comment_num,
|
canc.fabulous_num,
|
canc.forward_num,
|
canc.views_num,
|
canc.is_boutique,
|
canc.create_at,
|
canc.refuse_reason,
|
canc.reply_at,
|
canc.last_comment_num,
|
canc.last_fabulous_num,
|
canc.last_views_num,
|
canc.type,
|
canc.topic_id,
|
canc.hot_num,
|
su.nick_name as name,
|
su.community_id,
|
canct.name as topicName,
|
su.image_url as headUrl
|
FROM
|
com_act_neighbor_circle_west AS canc
|
left join sys_user as su on su.user_id = canc.release_id
|
left join com_act_neighbor_circle_topic_west as canct on canct.id = canc.topic_id
|
where canc.status = 2 and is_del = 2 and canc.community_id = ${neighborCircleAppDTO.communityId}
|
<if test='neighborCircleAppDTO.topicId != null '>
|
and canc.topic_id = #{neighborCircleAppDTO.topicId}
|
</if>
|
<if test='neighborCircleAppDTO.keyWord != null and neighborCircleAppDTO.keyWord != ""'>
|
and (canct.`name` like concat (#{neighborCircleAppDTO.keyWord},'%') or
|
su.nick_name like concat (#{neighborCircleAppDTO.keyWord},'%') or
|
canc.release_content like concat (#{neighborCircleAppDTO.keyWord},'%'))
|
</if>
|
order by canc.create_at desc
|
</select>
|
|
<update id="addHotNum">
|
update com_act_neighbor_circle_west set hot_num = hot_num + #{hotNum} where id = #{circleId}
|
</update>
|
|
<update id="addTopicHotNum">
|
update com_act_neighbor_circle_topic_west set hot_num = hot_num + 1 where id = (select topic_id from com_act_neighbor_circle_west where id = #{circleId})
|
</update>
|
|
<select id="pageNeighborByAdmin" parameterType="com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAdminDTO"
|
resultType="com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO">
|
SELECT
|
nc.*,
|
u.`nick_name` AS releaseName,u.image_url,canct.`name` as topicName ,u.`type` as userType
|
,u.name as communityName
|
FROM
|
com_act_neighbor_circle_west nc
|
LEFT JOIN sys_user u ON nc.release_id = u.user_id
|
LEFT JOIN com_act_neighbor_circle_topic_west as canct ON canct.id = nc.topic_id
|
<where>
|
nc.community_id = ${neighborCircleAdminDTO.communityId} and is_del = 2
|
<if test='neighborCircleAdminDTO.releaseContent != null and neighborCircleAdminDTO.releaseContent != ""'>
|
and nc.release_content like concat('%',#{neighborCircleAdminDTO.releaseContent},'%')
|
</if>
|
<if test='neighborCircleAdminDTO.topicId != null '>
|
and canc.topic_id = #{neighborCircleAdminDTO.topicId}
|
</if>
|
<if test='neighborCircleAdminDTO.topicName != null and neighborCircleAdminDTO.topicName != ""'>
|
and canct.`name` = #{neighborCircleAdminDTO.topicName}
|
</if>
|
<if test='neighborCircleAdminDTO.keyWord != null and neighborCircleAdminDTO.keyWord != ""'>
|
and (canct.`name` like concat(#{neighborCircleAdminDTO.keyWord},'%') or
|
u.`nick_name` like concat(#{neighborCircleAdminDTO.keyWord},'%') or
|
nc.`release_content` like concat(#{neighborCircleAdminDTO.keyWord},'%') )
|
</if>
|
<if test='neighborCircleAdminDTO.startAt != null and neighborCircleAdminDTO.endAt !=null '>
|
and nc.create_at between #{neighborCircleAdminDTO.startAt} and #{neighborCircleAdminDTO.endAt}
|
</if>
|
<if test='neighborCircleAdminDTO.status != null '>
|
and nc.status = #{neighborCircleAdminDTO.status}
|
</if>
|
<if test='neighborCircleAdminDTO.belongType != null '>
|
and nc.belong_type = #{neighborCircleAdminDTO.belongType}
|
</if>
|
<if test="neighborCircleAdminDTO.solveStatus !=null">
|
<if test="neighborCircleAdminDTO.solveStatus ==1">
|
and nc.solve_status in (0,1)
|
</if>
|
<if test="neighborCircleAdminDTO.solveStatus ==2">
|
and nc.solve_status =2
|
</if>
|
<if test="neighborCircleAdminDTO.solveStatus ==3">
|
and nc.solve_status in(3,4)
|
</if>
|
</if>
|
</where>
|
order by
|
case when nc.`status`=1 then 0 else 1 end,
|
nc.`status` asc,nc.create_at desc
|
</select>
|
<select id="getAllImages" resultType="java.lang.String">
|
SELECT release_images FROM com_act_neighbor_circle_west
|
WHERE community_id = ${communityId} AND `status` = 2 AND release_images IS NOT NULL AND release_images != ''
|
ORDER BY create_at DESC limit #{pageSize}
|
</select>
|
<select id="getContents" resultType="java.lang.String">
|
SELECT release_content FROM com_act_neighbor_circle_west
|
WHERE community_id = ${communityId} AND `status` = 2 AND release_content IS NOT NULL AND release_content != ''
|
ORDER BY create_at DESC limit #{pageSize}
|
</select>
|
<select id="getIndexNeighborBaseData"
|
resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
|
SELECT filed, num, ROUND(num/total,2) AS percent FROM
|
(SELECT IF(t2.`name` IS NULL,'无话题',t2.`name`) AS filed, COUNT(1) AS num FROM com_act_neighbor_circle_west t1
|
LEFT JOIN com_act_neighbor_circle_topic_west t2 ON t1.topic_id = t2.id
|
WHERE t1.community_id = ${communityId} AND t1.`status` IN (2,3) AND t1.is_del = 2 AND (t2.`status` = 1 OR t2.id IS NULL) GROUP BY filed) temp1,
|
(SELECT COUNT(t1.id) AS total FROM com_act_neighbor_circle_west t1
|
LEFT JOIN com_act_neighbor_circle_topic_west t2 ON t1.topic_id = t2.id
|
WHERE t1.community_id = ${communityId} AND t1.`status` IN (2,3) AND t1.is_del = 2 AND (t2.`status` = 1 OR t2.id IS NULL)) temp2
|
</select>
|
<select id="getNeighborAddPolylineData"
|
resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
|
SELECT filed, SUM(num) AS num FROM (
|
SELECT DATE_FORMAT( t1.create_at, '%Y-%m' ) AS filed, COUNT(t1.id) AS num
|
FROM com_act_neighbor_circle_west t1
|
LEFT JOIN com_act_neighbor_circle_topic_west t2 ON t1.topic_id = t2.id
|
WHERE t1.community_id = ${communityId} AND t1.`status` IN (2,3) AND t1.is_del = 2 AND (t2.`status` = 1 OR t2.id IS NULL)
|
AND DATE_FORMAT( t1.create_at, '%Y-%m' ) > DATE_FORMAT(date_sub(curdate(), interval 12 month),'%Y-%m') GROUP BY filed
|
UNION ALL SELECT * FROM
|
(
|
SELECT DATE_FORMAT(curdate(),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 1 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 2 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 3 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 4 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 5 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 6 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 7 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 8 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 9 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 10 month),'%Y-%m') AS filed, 0 AS num union
|
SELECT DATE_FORMAT(date_sub(curdate(), interval 11 month),'%Y-%m') AS filed, 0 AS num
|
) temT
|
) temp GROUP BY filed ORDER BY filed ASC
|
</select>
|
<select id="getNeighborTotalPolylineDate"
|
resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
|
SELECT COUNT(t1.id) AS num FROM com_act_neighbor_circle_west t1
|
LEFT JOIN com_act_neighbor_circle_topic_west t2 ON t1.topic_id = t2.id
|
WHERE t1.community_id = ${communityId} AND t1.`status` IN (2,3) AND t1.is_del = 2 AND (t2.`status` = 1 OR t2.id IS NULL) AND DATE_FORMAT( t1.create_at, '%Y-%m' ) <= #{date}
|
</select>
|
<select id="indexNeighborList"
|
resultType="com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO">
|
SELECT t1.id, t1.release_content, t1.release_images, t1.comment_num, t1.fabulous_num, t2.`name` AS topicName
|
FROM com_act_neighbor_circle_west t1
|
LEFT JOIN com_act_neighbor_circle_topic_west t2 ON t1.topic_id = t2.id
|
WHERE 1=1
|
<if test="pageBaseDTO.communityIds != null and pageBaseDTO.communityIds.size > 0">
|
AND t1.community_id IN
|
<foreach collection="pageBaseDTO.communityIds" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="pageBaseDTO.communityIds == null">
|
AND t1.community_id = ${pageBaseDTO.communityId}
|
</if>
|
AND t1.`status` IN (2,3) AND t1.is_del = 2 AND (t2.`status` = 1 OR t2.id IS NULL)
|
<if test="pageBaseDTO.paramId != null">
|
AND t1.topic_id = #{pageBaseDTO.paramId}
|
</if>
|
ORDER BY t1.id DESC
|
</select>
|
|
</mapper>
|