luodangjia
2024-12-10 ee7ce5d1cbf80bee0a15c1e5bc5eaa30858d812b
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
<?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.hollywood.applet.mapper.TPerformerActivityMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.hollywood.common.model.TPerformerActivity">
        <id column="id" property="id" />
        <result column="activityName" property="activityName" />
        <result column="voteType" property="voteType" />
        <result column="voteCount" property="voteCount" />
        <result column="startTime" property="startTime" />
        <result column="endTime" property="endTime" />
        <result column="registrationDeadlineTime" property="registrationDeadlineTime" />
        <result column="registrationFee" property="registrationFee" />
        <result column="activityIntroduction" property="activityIntroduction" />
        <result column="activityCover" property="activityCover" />
        <result column="detailPicture" property="detailPicture" />
        <result column="detailIntroduce" property="detailIntroduce" />
        <result column="sortBy" property="sortBy" />
        <result column="activityStatus" property="activityStatus" />
        <result column="status" property="status" />
        <result column="createTime" property="createTime" />
        <result column="updateTime" property="updateTime" />
        <result column="createBy" property="createBy" />
        <result column="updateBy" property="updateBy" />
        <result column="isDelete" property="isDelete" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, activityName,voteType, voteCount, startTime, endTime, registrationDeadlineTime, registrationFee,activityIntroduction, activityCover, detailPicture, detailIntroduce,
            sortBy,activityStatus, status, createTime, updateTime, createBy, updateBy, isDelete
    </sql>
    <select id="pageList" resultType="com.hollywood.common.model.TPerformerActivity">
        SELECT ta.id,ta.activityName,ta.voteType,ta.voteCount,ta.startTime,ta.endTime,ta.registrationDeadlineTime,ta.registrationFee,ta.activityIntroduction,ta.activityCover,ta.detailPicture,ta.detailIntroduce,ta.sortBy,ta.activityStatus,ta.status,ta.createTime,ta.updateTime,ta.createBy,ta.updateBy,
        count(au.gainVotesCount) as hot
        FROM t_performer_activity ta
        LEFT JOIN t_performer_activity_user au on ta.id = au.activityId
        <where>
            AND ta.type = #{query.type}
            <if test="query.activityName != null and query.activityName != ''">
                AND ta.activityName LIKE concat('%',#{query.activityName},'%')
            </if>
            <if test="query.voteType != null">
                AND ta.voteType = #{query.voteType}
            </if>
            <if test="query.activityStatus != null">
                AND ta.activityStatus = #{query.activityStatus}
            </if>
            <if test="ids != null and ids.size() > 0">
                and  ta.id IN
                <foreach item="id" collection="ids" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
            AND ta.isDelete = ${@com.hollywood.common.enums.DisabledEnum@NO.getCode()} and status = 1
        </where>
        GROUP BY ta.id
        ORDER BY
        <if test="query.OrderDate != null and query.OrderDate == 0">
            ta.createTime,
        </if>
        <if test="query.OrderDate != null and query.OrderDate == 1">
            ta.createTime desc,
        </if>
        <if test="query.OrderVote != null and query.OrderVote == 0">
            hot,
        </if>
        <if test="query.OrderVote != null and query.OrderVote == 1">
            hot desc,
        </if>
        ta.sortBy DESC
    </select>
 
</mapper>