huanghongfa
2021-08-21 2e64c232ab6b51b2cecf1ee96e1e9b709234f326
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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.community.bigscreen.work.ScreenActActivityPeopleListDTO;
import com.panzhihua.common.model.vos.community.ActivitySignVO;
import com.panzhihua.common.model.vos.community.screen.work.ActActivityPeopleListVO;
import com.panzhihua.service_community.model.dos.ComActActSignDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
import java.util.List;
import java.util.Map;
 
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 社区活动报名记录
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-07 14:09
 **/
@Mapper
public interface ComActActSignDAO extends BaseMapper<ComActActSignDO> {
//    居民 党员 志愿者 1 2 3
    @Select("<script> " +
            "SELECT " +
            "u.user_id id, " +
            "u.image_url, " +
            "u.name, " +
            "u.nick_name, " +
            "case WHEN u.is_partymember = 1 THEN '党员' WHEN a.is_volunteer = 1 THEN '志愿者' ELSE '居民' END identity, " +
            "u.phone, " +
            "a.create_at,  " +
            "a.is_volunteer  " +
            "FROM " +
            "com_act_act_sign a " +
            "JOIN sys_user u ON a.user_id = u.user_id  " +
            "WHERE " +
            "a.activity_id = #{activitySignVO.activityId}  " +
            "<if test='activitySignVO.phone != null and activitySignVO.phone != &quot;&quot;'>" +
            "AND u.phone = #{activitySignVO.phone}  " +
            " </if> " +
            "<if test='activitySignVO.name != null and activitySignVO.name != &quot;&quot;'>" +
            "AND u.`name` = #{activitySignVO.name}  " +
            " </if> " +
            "<if test='activitySignVO.identity != null and activitySignVO.identity != &quot;&quot; and activitySignVO.identity==1'>" +
            "AND u.is_partymember = 0 and a.is_volunteer=0  " +
            " </if> " +
            "<if test='activitySignVO.identity != null and activitySignVO.identity != &quot;&quot; and activitySignVO.identity==2'>" +
            "AND u.is_partymember = 1    " +
            " </if> " +
            "<if test='activitySignVO.identity != null and activitySignVO.identity != &quot;&quot; and activitySignVO.identity==3'>" +
            "AND a.is_volunteer=1   " +
            " </if> " +
            "<if test='activitySignVO.type != null and activitySignVO.type != 0'>" +
            "AND a.is_volunteer=#{activitySignVO.type}-1   " +
            " </if> " +
            " order by a.create_at desc "+
            "</script>")
    IPage<ActivitySignVO> listActivitySign(Page page,@Param("activitySignVO") ActivitySignVO activitySignVO);
 
    @Select("<script> " +
            "SELECT " +
            "u.user_id id, " +
            "u.image_url, " +
            "u.name, " +
            "u.nick_name, " +
            "case WHEN u.is_partymember = 1 THEN '党员' WHEN a.is_volunteer = 1 THEN '志愿者' ELSE '居民' END identity, " +
            "u.phone, " +
            "u.openid, " +
            "a.create_at,  " +
            "a.is_volunteer  " +
            "FROM " +
            "com_act_act_sign a " +
            "JOIN sys_user u ON a.user_id = u.user_id  " +
            "WHERE " +
            "a.activity_id = #{activitySignVO.activityId}  " +
            "<if test='activitySignVO.phone != null and activitySignVO.phone != &quot;&quot;'>" +
            "AND u.phone = #{activitySignVO.phone}  " +
            " </if> " +
            "<if test='activitySignVO.name != null and activitySignVO.name != &quot;&quot;'>" +
            "AND u.`name` = #{activitySignVO.name}  " +
            " </if> " +
            "<if test='activitySignVO.identity != null and activitySignVO.identity != &quot;&quot; and activitySignVO.identity==1'>" +
            "AND u.is_partymember = 0 and a.is_volunteer=0  " +
            " </if> " +
            "<if test='activitySignVO.identity != null and activitySignVO.identity != &quot;&quot; and activitySignVO.identity==2'>" +
            "AND u.is_partymember = 1    " +
            " </if> " +
            "<if test='activitySignVO.identity != null and activitySignVO.identity != &quot;&quot; and activitySignVO.identity==3'>" +
            "AND a.is_volunteer=1   " +
            " </if> " +
            "<if test='activitySignVO.type != null and activitySignVO.type != 0'>" +
            "AND a.is_volunteer=#{activitySignVO.type}-1   " +
            " </if> " +
            " order by a.create_at desc "+
            "</script>")
    List<ActivitySignVO> listActivitySigns(@Param("activitySignVO") ActivitySignVO activitySignVO);
 
    @Select("<script> " +
            "SELECT " +
            " caas.user_id, " +
            " su.NAME, " +
            "CASE " +
            "  WHEN su.is_volunteer = 1 THEN " +
            "  '志愿者' ELSE '居民'  " +
            " END identity, " +
            " su.phone, " +
            " caas.create_at  " +
            "FROM " +
            " com_act_act_sign AS caas " +
            " LEFT JOIN sys_user AS su ON su.user_id = caas.user_id where caas.activity_id = #{activityPeopleListDTO.activityId} " +
            "<if test='activityPeopleListDTO.phone != null and activityPeopleListDTO.phone != &quot;&quot;'>" +
            " and su.phone like concat (#{activityPeopleListDTO.phone},'%') "+
            " </if> " +
            "<if test='activityPeopleListDTO.cardNo != null and activityPeopleListDTO.cardNo != &quot;&quot;'>" +
            " AND su.id_card = #{activityPeopleListDTO.cardNo}  " +
            " </if> " +
            "<if test='activityPeopleListDTO.name != null and activityPeopleListDTO.name != &quot;&quot;'>" +
            " AND su.name like concat (#{activityPeopleListDTO.name},'%') "+
            " </if> " +
            " </script>")
    IPage<ActActivityPeopleListVO> getActActivityPeopleList(Page page,@Param("activityPeopleListDTO") ScreenActActivityPeopleListDTO activityPeopleListDTO);
 
    @Select("select openid from sys_user where user_id = #{userId}")
    Map<String,String> getUserOpenId(@Param("userId")Long userId);
}