Helius
2021-03-11 a72aa4bb793ec765892406c842039a71b33215b1
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
<?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.matrix.system.hive.dao.SysSmsShopDao">
    <!-- 定义SysSmsTemplate 的复杂关联map -->
    <resultMap type="com.matrix.system.hive.bean.SysSmsShop" id="SysSmsShopMap">
        <id property="id" column="id" />
        <result property="shopId" column="shop_id" />
        <result property="remainingCnt" column="remaining_cnt" />
 
        <result property="shopName" column="shop_name" />
    </resultMap>
 
    
    <!-- 字段sql -->
    <sql id="columns">
            id,
            shop_id,
            remaining_cnt
    </sql>
    
    <!-- 属性sql -->
    <sql id="propertys">
            #{item.id},
            #{item.shopId},
            #{item.remainingCnt}
    </sql>
    
    <!-- where sql -->
    <sql id="where_sql">
         
         <if test="record!=null">
            <if test="(record.id!=null and record.id!='') or  (record.id!='' and record.id==0)  ">
                and id  = #{record.id} 
            </if>
            <if test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  ">
                and shop_id  = #{record.shopId}
            </if>
            <if test="(record.remainingCnt!=null and record.remainingCnt!='') or  (record.remainingCnt!='' and record.remainingCnt==0)  ">
                and remaining_cnt  = #{record.remainingCnt}
            </if>
        </if>
         
    </sql>
    
    <!--  插入方法   -->
    <insert id="insert" parameterType="com.matrix.system.hive.bean.SysSmsShop"
        useGeneratedKeys="true" keyProperty="item.id">
        INSERT INTO sys_sms_shop (
             <include refid="columns"></include>
        )
    VALUES (
         <include refid="propertys"></include>
    )
    </insert>
    
    
    
    <!--  批量插入   -->
    <insert id="batchInsert" parameterType="java.util.List">
        INSERT INTO sys_sms_shop (
        <include refid="columns"></include>    
        )
    VALUES 
    <foreach collection="list" item="item" index="index" separator=",">(
        <include refid="propertys"></include>    
    )</foreach>
    </insert>
    
 
    <!--  根据对象更新 部分更新   -->
    <update id="updateByModel" parameterType="Long">
        UPDATE sys_sms_shop
        <set>
            <if test="record.shopId != null and record.shopId != '' ">
                shop_id  = #{record.shopId},
            </if>
            <if test="record.remainingCnt != null">
                remaining_cnt  = #{record.remainingCnt},
            </if>
        </set>
        WHERE id=#{record.id} 
    </update>
    
    
    <!-- 分页查询 -->
    <select id="selectInPage" resultMap="SysSmsShopMap">
        select t1.*, t2.shop_name
        from sys_sms_shop t1
        left join sys_shop_info t2 on t1.shop_id=t2.id and t2.company_id=#{record.companyId}
        <where>
          <include refid="where_sql"></include>
         </where>
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            <if test="pageVo.sort !=null  and pageVo.order !=null">
                order by
                ${pageVo.sort} ${pageVo.order}
            </if>
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
    </select>
    
    <!-- 查询总条数 -->
    <select id="selectTotalRecord" parameterType="long"   resultType="java.lang.Integer">
    select count(*)
    from sys_sms_shop t1
    left join sys_shop_info t2 on t1.shop_id=t2.id and t2.company_id=#{record.companyId}
        <where>
           <include refid="where_sql"></include>
        </where>
    </select>
 
    <select id="selectById" resultMap="SysSmsShopMap">
        select * from sys_sms_shop
        where id=#{id}
    </select>
 
    <select id="selectByShopId" resultMap="SysSmsShopMap">
        select * from sys_sms_shop
        where shop_id=#{shopId}
    </select>
</mapper>