CeDo
2021-05-10 4fc44644c4a7bf9f0770a95ddbdad466c2743cb4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.panzhihua.service_community.dao;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAdminDTO;
import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAppDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO;
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO;
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleDetailAppVO;
import com.panzhihua.common.model.vos.neighbor.ComActNeighborCommentReplyAppVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.service_community.model.dos.ComActNeighborCircleDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
/**
 * @auther lyq
 * @create 2021-04-28 09:20:49
 * @describe 邻里圈表mapper类
 */
@Mapper
public interface ComActNeighborCircleDAO extends BaseMapper<ComActNeighborCircleDO> {
 
    @Select("<script> " +
            "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.reply_at," +
            "canc.last_comment_num," +
            "canc.last_fabulous_num," +
            "canc.last_views_num," +
            "canc.type," +
            "su.nick_name as name," +
            "su.community_id," +
            "su.image_url as headUrl " +
            " FROM " +
            " com_act_neighbor_circle AS canc" +
            " left join sys_user as su on su.user_id = canc.release_id" +
            " where canc.status = 2 and canc.community_id = #{neighborCircleAppDTO.communityId} " +
            "<if test='neighborCircleAppDTO.type != null and neighborCircleAppDTO.type == 1'>" +
            " order by (canc.last_views_num + canc.last_comment_num + canc.last_fabulous_num) desc " +
            " </if> " +
            "<if test='neighborCircleAppDTO.type != null and neighborCircleAppDTO.type == 2'>" +
            " order by canc.create_at desc " +
            " </if> " +
            "<if test='neighborCircleAppDTO.type != null and neighborCircleAppDTO.type == 3'>" +
            " order by (canc.views_num + canc.comment_num + canc.fabulous_num) desc " +
            " </if> " +
            " </script>")
    IPage<ComActNeighborCircleAppVO> pageNeighborByApp(Page page, @Param("neighborCircleAppDTO") ComActNeighborCircleAppDTO neighborCircleAppDTO);
 
    @Select("<script> " +
            "select canc.id,su.nick_name as name,su.image_url as headUrl,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.reply_at,su.community_id,canc.type from com_act_neighbor_circle as canc " +
            " left join sys_user as su on su.user_id = canc.release_id where id = #{circleId}"+
            " </script>")
    ComActNeighborCircleDetailAppVO neighborDetailByApp(@Param("circleId") Long circleId);
    @Select("<script> \n"+
            "SELECT\n" +
            "nc.*,\n" +
            "u.`nick_name` AS releaseName,u.`type` as userType\n" +
            ",u.name as communityName\n" +
            "FROM\n" +
            "com_act_neighbor_circle nc\n" +
            "LEFT JOIN sys_user u ON nc.release_id = u.user_id \n" +
            "<where>"+
            "nc.community_id = #{neighborCircleAdminDTO.communityId}  \n"+
            "<if test='neighborCircleAdminDTO.releaseContent != null and neighborCircleAdminDTO.releaseContent != &quot;&quot;'>" +
            "and nc.release_content like concat('%',#{neighborCircleAdminDTO.releaseContent},'%')  \n" +
            " </if> " +
            "<if test='neighborCircleAdminDTO.startAt != null and neighborCircleAdminDTO.endAt !=null '>" +
            "and nc.create_at between #{neighborCircleAdminDTO.startAt} and #{neighborCircleAdminDTO.endAt}  \n" +
            " </if> " +
            "</where>"+
            "order by " +
            "case when nc.`status`=1 then 0 else 1 end, \n" +
            "nc.`status` asc,nc.create_at desc " +
            "</script>")
    IPage<ComActNeighborCircleAdminVO> pageNeighborByAdmin(Page page,@Param("neighborCircleAdminDTO") ComActNeighborCircleAdminDTO neighborCircleAdminDTO);
 
    @Select("select * from sys_user where user_id=#{userId}")
    AdministratorsUserVO selectUserByUserId(@Param("userId") Long userId);
 
    @Select("<script> " +
            "select canc.id,canc.release_content,canc.release_images,canc.status,canc.create_at" +
            ",canc.comment_num,canc.fabulous_num,canc.forward_num,canc.views_num,canc.refuse_reason,su.nick_name as name,su.image_url as headUrl " +
            " from com_act_neighbor_circle as canc " +
            " left join sys_user as su on su.user_id = canc.release_id " +
            " where canc.release_id = #{userId} and canc.status != 3 order by create_at desc" +
            " </script>")
    IPage<ComActNeighborCircleAppVO> neighborExamineByApp(Page page,@Param("userId") Long userId);
 
    @Select("select reply.id,reply.comment_id,reply.reply_content,reply.fabulous_num,reply.create_at" +
            ",reply.is_release,su.nick_name as userName,su.image_url as userHeadUrl,su1.nick_name as oldUserName" +
            " from com_act_neighbor_circle_comment_reply as reply" +
            " left join sys_user as su on su.user_id = reply.user_id" +
            " left join sys_user as su1 on su1.user_id = reply.parent_user_id" +
            " where reply.comment_id = #{commentId}")
    IPage<ComActNeighborCommentReplyAppVO> neighborCommentReplyByApp(Page page, @Param("commentId") Long commentId);
 
}