RecommendUserMapper.xml 6.01 KB
Newer Older
1 2 3 4 5 6
<?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="cn.wisenergy.mapper.RecommendUserMapper">
    <resultMap id="userMap" type="cn.wisenergy.model.app.RecommendUser">
        <id column="id" property="id"/>
7 8 9 10 11 12 13 14 15
        <result column="user_id" property="userId"/>
        <result column="normal_user_num" property="normalUserNum"/>
        <result column="seedling_num" property="seedlingNum"/>
        <result column="bronze_tree_num" property="bronzeTreeNum"/>
        <result column="silver_tree_num" property="silverTreeNum"/>
        <result column="gold_tree_num" property="goldTreeNum"/>
        <result column="farmer_num" property="farmerNum"/>
        <result column="forest_start_num" property="forestStartNum"/>
        <result column="partner_num" property="partnerNum"/>
16 17
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
codezwjava's avatar
codezwjava committed
18 19
        <result column="monthy_count" property="monthyCount"/>
        <result column="history_count" property="historyCount"/>
20 21 22 23 24 25 26 27 28 29 30 31
    </resultMap>

    <sql id="table">
        recommend_user
    </sql>

    <sql id="cols_all">
        id,
        <include refid="cols_exclude_id"/>
    </sql>

    <sql id="cols_exclude_id">
codezwjava's avatar
codezwjava committed
32
        user_id,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num,
codezwjava's avatar
codezwjava committed
33
        gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time,monthy_count,history_count
34 35 36
    </sql>

    <sql id="vals">
codezwjava's avatar
codezwjava committed
37
        #{userId},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
38
        #{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now(),#{monthyCount},#{historyCount}
39 40 41 42 43 44
    </sql>

    <sql id="updateCondition">
        <if test="normalUserNum != null">normal_user_num =#{normalUserNum},</if>
        <if test="seedlingNum != null">seedling_num =#{seedlingNum},</if>
        <if test="bronzeTreeNum != null">bronze_tree_num =#{bronzeTreeNum},</if>
45 46 47 48 49 50 51
        <if test="silverTreeNum != null">silver_tree_num =#{silverTreeNum},</if>
        <if test="goldTreeNum != null">gold_tree_num =#{goldTreeNum},</if>
        <if test="farmerNum != null">farmer_num =#{farmerNum},</if>
        <if test="forestStartNum != null">forest_start_num =#{forestStartNum},</if>
        <if test="partnerNum != null">partner_num =#{partnerNum},</if>
        <if test="monthyCount != null">monthy_count =#{monthyCount},</if>
        <if test="historyCount != null">history_count =#{historyCount},</if>
52 53 54 55 56 57 58 59
        update_time =now()
    </sql>

    <sql id="criteria">
        <if test="id != null">id = #{id}</if>
        <if test="normalUserNum != null">and normal_user_num =#{normalUserNum},</if>
        <if test="seedlingNum != null">and seedling_num =#{seedlingNum},</if>
        <if test="bronzeTreeNum != null">and bronze_tree_num =#{bronzeTreeNum},</if>
60 61 62 63 64
        <if test="silverTreeNum != null">and silver_tree_num =#{silverTreeNum},</if>
        <if test="goldTreeNum != null">and gold_tree_num =#{goldTreeNum},</if>
        <if test="farmerNum != null">and farmer_num =#{farmerNum},</if>
        <if test="forestStartNum != null">and forest_start_num =#{forestStartNum},</if>
        <if test="partnerNum != null">and partner_num =#{partnerNum},</if>
65 66
        <if test="createTime != null">and create_time &gt;= #{createTime}</if>
        <if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
codezwjava's avatar
codezwjava committed
67 68
        <if test="monthyCount != null">and #{monthyCount} &gt;= monthyCount</if>
        <if test="historyCount != null">and #{historyCount} &gt;= historyCount</if>
69 70
    </sql>

codezwjava's avatar
codezwjava committed
71 72 73 74 75 76 77 78 79
    <select id="getByUserId" resultType="cn.wisenergy.model.app.RecommendUser">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            user_id=#{userId}
        </where>
    </select>
m1991's avatar
m1991 committed
80
    <!--根据用户邀请码更新直推表-->
81
    <select id="zcByUserId" resultType="integer">
m1991's avatar
m1991 committed
82 83 84 85 86
        select
            id
        from
        <include refid="table"/>
        <where>
87
            user_id=#{userid}
m1991's avatar
m1991 committed
88 89
        </where>
    </select>
90
    <!--用户信息插入用户直推表-->
91

codezwjava's avatar
codezwjava committed
92 93 94 95 96 97 98 99 100 101 102
    <select id="getRecommendUserCountByUserId" resultType="java.lang.Integer">
        select
        (normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+
        gold_tree_num+farmer_num+forest_start_num+partner_num) AS RecommendUserCount
        from
        <include refid="table"/>
        <where>
            user_id=#{userId}
        </where>
    </select>

103 104 105 106 107 108 109
    <insert id="add" parameterType="cn.wisenergy.model.app.RecommendUser" keyProperty="id" useGeneratedKeys="true">
        insert into
        <include refid="table"/>
        (<include refid="cols_exclude_id"/>)
        value
        (<include refid="vals"/>)
    </insert>
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144

    <select id="getRecommendUserList" resultType="cn.wisenergy.model.app.RecommendUser">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            1=1
            <if test="userId != null and userId != ''">
                and user_id = #{userId}
            </if>
            <if test="queryTime != null and queryTime != ''">
                and (YEAR(create_time) = YEAR(#{queryTime})
                AND MONTH(create_time) =MONTH(#{queryTime})
                AND DAY(create_time)=DAY(#{queryTime}))
            </if>
        </where>
        order by create_time desc
        limit #{startNum},#{endNum}
    </select>

    <select id="count" resultType="java.lang.Integer">
        select count(1)
        from
        <include refid="table"/>
        <where>
            <if test="userId != null and userId != ''">
                user_id=#{userId}
            </if>
            <if test="queryTime != null and queryTime != ''">
                and `create_time` = #{queryTime}
            </if>
        </where>
    </select>

145 146 147 148 149 150 151
    <select id="getAll" resultType="cn.wisenergy.model.app.RecommendUser">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
    </select>

152
</mapper>