郑永安
2023-06-19 7a6abd05683528032687c75e80e0bd2030a3e46c
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
<?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.gkhy.safePlatform.account.repository.schedule.GroupStrategyUserTimeTableInfoRepository" >
 
 
    <resultMap id="GroupStrategyUserTimeTableInfoDO" type="com.gkhy.safePlatform.account.entity.schedule.GroupStrategyUserTimeTableInfoDO">
        <result column="id" property="id"/>
        <result column="uid" property="uid"/>
        <result column="group_id" property="groupId"/>
        <result column="specific_date" property="specificDate"/>
        <result column="start_time" property="startTime"/>
        <result column="end_time" property="endTime"/>
        <result column="type" property="type"/>
    </resultMap>
 
    <insert id="insertBatch"
            parameterType="com.gkhy.safePlatform.account.entity.schedule.GroupStrategyUserTimeTableInfo">
        insert
        into schedule_group_strategy_user_time_table
        <trim prefix="(" suffix=") values" suffixOverrides=",">
            uid,
            group_id,
            group_strategy_id,
            specific_date,
            start_time,
            end_time,
            type,
        </trim>
        <foreach collection="list" item="item" separator=",">
          <trim prefix="(" suffix=")" suffixOverrides=",">
              #{item.uid},
              #{item.groupId},
              #{item.groupStrategyId},
              #{item.specificDate},
              #{item.startTime},
              #{item.endTime},
              #{item.type},
          </trim>
        </foreach>
 
    </insert>
    <delete id="deleteByGroupStrategyId">
        delete
        from schedule_group_strategy_user_time_table
        where group_strategy_id = #{groupStrategyId}
        and specific_date &gt;= #{firstScheduleDate}
 
    </delete>
    <select id="listUserTimeTableInfoDOs"
            parameterType="com.gkhy.safePlatform.account.model.query.db.UserScheduleDBQuery"
            resultMap="GroupStrategyUserTimeTableInfoDO">
 
        select
        userTimeInfo.uid,
        userTimeInfo.specific_date,
        userTimeInfo.group_id,
        userTimeInfo.start_time,
        userTimeInfo.end_time,
        userTimeInfo.type
        from schedule_group_strategy_user_time_table userTimeInfo
        <where>
            <if test="query.startTime != null ">
                and userTimeInfo.start_time  &gt; #{query.startTime}
            </if>
            <if test="query.endTime != null ">
                and userTimeInfo.start_time  &lt; #{query.endTime}
            </if>
            <if test="query.type != null and query.type != ''">
                and userTimeInfo.type  = #{query.type}
            </if>
            <if test="query.uid != null and query.uid != ''">
                and userTimeInfo.uid  = #{query.uid}
            </if>
        </where>
        order by userTimeInfo.specific_date asc
    </select>
    <select id="listGroupStrategyUserTimeTableInfoDO"
            resultMap="GroupStrategyUserTimeTableInfoDO">
        select
        userTimeInfo.uid,
        userTimeInfo.specific_date,
        userTimeInfo.group_id,
        userTimeInfo.start_time,
        userTimeInfo.end_time,
        userTimeInfo.type
        from schedule_group_strategy_user_time_table userTimeInfo
        where userTimeInfo.uid = #{uid}
        and userTimeInfo.start_time &gt;= #{startTime}
        and userTimeInfo.start_time &lt; #{endTime}
        and userTimeInfo.type = #{timeType}
 
    </select>
</mapper>