huanghongfa
2021-06-23 2bdd329d237fb47e083d243a6d9080848c76d597
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
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;
 
/**
 * @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 = #{activityId}  " +
            "<if test='phone != null and phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{phone}  " +
            " </if> " +
            "<if test='name != null and name.trim() != &quot;&quot;'>" +
            "AND u.`name` = #{name}  " +
            " </if> " +
            "<if test='identity != null and identity.trim() != &quot;&quot; and identity==1'>" +
            "AND u.is_partymember = 0 and a.is_volunteer=0  " +
            " </if> " +
            "<if test='identity != null and identity.trim() != &quot;&quot; and identity==2'>" +
            "AND u.is_partymember = 1    " +
            " </if> " +
            "<if test='identity != null and identity.trim() != &quot;&quot; and identity==3'>" +
            "AND a.is_volunteer=1   " +
            " </if> " +
            "<if test='type != null and type != 0'>" +
            "AND a.is_volunteer=#{type}-1   " +
            " </if> " +
            " order by a.create_at desc "+
            "</script>")
    List<ActivitySignVO> listActivitySign(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);
}