liujie
2023-08-07 f5ca8f01cf6b8256a25e8c6838d805fe3fca43fc
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
<?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.dsh.competition.mapper.CompetitionMapper">
 
 
    <select id="queryCompetitionList" resultType="com.dsh.competition.model.CompetitionListVo">
        select
        aa.id,
        aa.name,
        aa.coverDrawing,
        aa.cityName,
        aa.registerCondition,
        aa.introduction,
        aa.registerEndTime,
        aa.age,
        aa.heat
        from (
            select
            a.id,
            a.`name`,
            a.coverDrawing,
            a.city as cityName,
            a.registerCondition,
            a.introduction,
            DATE_FORMAT(a.registerEndTime, '%Y-%m-%d %H:%i') registerEndTime,
            CONCAT(a.startAge, '-', a.endAge) age,
            (a.baseNumber + a.applicantsNumber) heat
            from t_competition a
            where a.auditStatus = 2 and a.`status` = 2 and a.state = 1
            <if test="null != cityCode and '' != cityCode">
                and a.cityCode = #{cityCode}
            </if>
            <if test="null != content and '' != content">
                and a.name like CONCAT('%', #{content}, '%')
            </if>
            <if test="null != registerCondition">
                and a.registerCondition = #{registerCondition}
            </if>
            order by a.insertTime desc
        ) as aa
        <if test="null != heat and '' != heat">
            order by aa.heat ${heat}
        </if>
    </select>
 
 
    <update id="taskSetStatusStart">
        update t_competition set status = 2 where status = 1 and state = 1 and auditStatus = 2 and now() between startTime and endTime
    </update>
 
 
    <update id="taskSetStatusEnd">
        update t_competition set status = 3 where status = 2 and state = 1 and auditStatus = 2 and now() >= endTime
    </update>
</mapper>