<?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.dy.pipIrrGlobal.daoSe.SeVcOperateMapper"> 
 | 
    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeVcOperate"> 
 | 
        <!--@mbg.generated--> 
 | 
        <!--@Table se_vc_operate--> 
 | 
        <id column="id" jdbcType="BIGINT" property="id"/> 
 | 
        <result column="vc_id" jdbcType="BIGINT" property="vcId"/> 
 | 
        <result column="client_id" jdbcType="BIGINT" property="clientId"/> 
 | 
        <result column="operate_type" jdbcType="TINYINT" property="operateType"/> 
 | 
        <result column="recharge_id" jdbcType="BIGINT" property="rechargeId"/> 
 | 
        <result column="operator" jdbcType="BIGINT" property="operator"/> 
 | 
        <result column="operate_time" jdbcType="TIMESTAMP" property="operateTime"/> 
 | 
    </resultMap> 
 | 
    <sql id="Base_Column_List"> 
 | 
        <!--@mbg.generated--> 
 | 
        id, 
 | 
        vc_id, 
 | 
        client_id, 
 | 
        operate_type, 
 | 
        recharge_id, 
 | 
        `operator`, 
 | 
        operate_time 
 | 
    </sql> 
 | 
    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
        <!--@mbg.generated--> 
 | 
        select 
 | 
        <include refid="Base_Column_List"/> 
 | 
        from se_vc_operate 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </select> 
 | 
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
        <!--@mbg.generated--> 
 | 
        delete 
 | 
        from se_vc_operate 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </delete> 
 | 
    <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVcOperate"> 
 | 
        <!--@mbg.generated--> 
 | 
        insert into se_vc_operate (id, vc_id, client_id, 
 | 
                                   operate_type, recharge_id, `operator`, 
 | 
                                   operate_time) 
 | 
        values (#{id,jdbcType=BIGINT}, #{vcId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, 
 | 
                #{operateType,jdbcType=TINYINT}, #{rechargeId,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT}, 
 | 
                #{operateTime,jdbcType=TIMESTAMP}) 
 | 
    </insert> 
 | 
    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVcOperate"> 
 | 
        <!--@mbg.generated--> 
 | 
        insert into se_vc_operate 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
            <if test="id != null"> 
 | 
                id, 
 | 
            </if> 
 | 
            <if test="vcId != null"> 
 | 
                vc_id, 
 | 
            </if> 
 | 
            <if test="clientId != null"> 
 | 
                client_id, 
 | 
            </if> 
 | 
            <if test="operateType != null"> 
 | 
                operate_type, 
 | 
            </if> 
 | 
            <if test="rechargeId != null"> 
 | 
                recharge_id, 
 | 
            </if> 
 | 
            <if test="operator != null"> 
 | 
                `operator`, 
 | 
            </if> 
 | 
            <if test="operateTime != null"> 
 | 
                operate_time, 
 | 
            </if> 
 | 
        </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
            <if test="id != null"> 
 | 
                #{id,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="vcId != null"> 
 | 
                #{vcId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="clientId != null"> 
 | 
                #{clientId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="operateType != null"> 
 | 
                #{operateType,jdbcType=TINYINT}, 
 | 
            </if> 
 | 
            <if test="rechargeId != null"> 
 | 
                #{rechargeId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="operator != null"> 
 | 
                #{operator,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="operateTime != null"> 
 | 
                #{operateTime,jdbcType=TIMESTAMP}, 
 | 
            </if> 
 | 
        </trim> 
 | 
    </insert> 
 | 
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVcOperate"> 
 | 
        <!--@mbg.generated--> 
 | 
        update se_vc_operate 
 | 
        <set> 
 | 
            <if test="vcId != null"> 
 | 
                vc_id = #{vcId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="clientId != null"> 
 | 
                client_id = #{clientId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="operateType != null"> 
 | 
                operate_type = #{operateType,jdbcType=TINYINT}, 
 | 
            </if> 
 | 
            <if test="rechargeId != null"> 
 | 
                recharge_id = #{rechargeId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="operator != null"> 
 | 
                `operator` = #{operator,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="operateTime != null"> 
 | 
                operate_time = #{operateTime,jdbcType=TIMESTAMP}, 
 | 
            </if> 
 | 
        </set> 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </update> 
 | 
    <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeVcOperate"> 
 | 
        <!--@mbg.generated--> 
 | 
        update se_vc_operate 
 | 
        set vc_id        = #{vcId,jdbcType=BIGINT}, 
 | 
            client_id    = #{clientId,jdbcType=BIGINT}, 
 | 
            operate_type = #{operateType,jdbcType=TINYINT}, 
 | 
            recharge_id  = #{rechargeId,jdbcType=BIGINT}, 
 | 
            `operator`   = #{operator,jdbcType=BIGINT}, 
 | 
            operate_time = #{operateTime,jdbcType=TIMESTAMP} 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </update> 
 | 
  
 | 
    <!--指定时间段内注册虚拟卡的农户记录数量--> 
 | 
    <select id="getRegisterVcClientsCount" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) AS recordCount 
 | 
        FROM se_client cli 
 | 
        WHERE EXISTS(SELECT * 
 | 
                     FROM se_vc_operate ope 
 | 
                     WHERE ope.client_id = cli.id 
 | 
                       AND ope.operate_type = 1 
 | 
                       AND ope.operate_time BETWEEN #{timeStart} AND #{timeStop}) 
 | 
    </select> 
 | 
  
 | 
    <!--指定时间段内注册虚拟卡的农户--> 
 | 
    <select id="getRegisterVcClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientStatistics"> 
 | 
        SELECT cli.id   AS clientId, 
 | 
               cli.name AS clientName 
 | 
        FROM se_client cli 
 | 
        WHERE EXISTS(SELECT * 
 | 
                     FROM se_vc_operate ope 
 | 
                     WHERE ope.client_id = cli.id 
 | 
                       AND ope.operate_type = 1 
 | 
                       AND ope.operate_time BETWEEN #{timeStart} AND #{timeStop}) 
 | 
        ORDER BY cli.id 
 | 
        <trim prefix="limit "> 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
  
 | 
    <!--指定时间段内注册总数量--> 
 | 
    <select id="getRegisterCount" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) AS recordCount 
 | 
        FROM se_vc_operate ope 
 | 
        WHERE ope.operate_type = 1 
 | 
          AND ope.operate_time BETWEEN #{timeStart} AND #{timeStop} 
 | 
    </select> 
 | 
  
 | 
    <!--指定时间段充值总数量--> 
 | 
    <select id="getRechargeCount" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) AS recordCount 
 | 
        FROM se_vc_operate ope 
 | 
                 INNER JOIN se_vc_recharge rec ON rec.id = ope.recharge_id 
 | 
        WHERE ope.operate_type = 2 
 | 
          AND rec.order_state = 2 
 | 
          AND ope.operate_time BETWEEN #{timeStart} AND #{timeStop} 
 | 
    </select> 
 | 
  
 | 
    <!--当前余额总量--> 
 | 
    <select id="getTotalBalance" resultType="java.lang.Double"> 
 | 
        SELECT SUM(money) AS totalBalance 
 | 
        FROM se_virtual_card 
 | 
    </select> 
 | 
  
 | 
    <!--指定时间段内虚拟卡充值金额超过指定值的农户记录数量--> 
 | 
    <select id="getLargeRechargeClientsCount" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) AS recordCount 
 | 
        FROM se_client cli 
 | 
        WHERE (SELECT SUM(recharge_amount) 
 | 
               FROM se_vc_recharge rec 
 | 
               WHERE rec.client_id = cli.id 
 | 
                 AND rec.order_state = 2 
 | 
                 AND rec.order_time BETWEEN #{timeStart} AND #{timeStop}) > #{totalRecharge} 
 | 
    </select> 
 | 
  
 | 
    <!--指定时间段内虚拟卡充值金额超过指定值的农户--> 
 | 
    <select id="getLargeRechargeClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientStatistics"> 
 | 
        SELECT cli.id   AS clientId, 
 | 
               cli.name AS clientName 
 | 
        FROM se_client cli 
 | 
        WHERE (SELECT SUM(recharge_amount) 
 | 
               FROM se_vc_recharge rec 
 | 
               WHERE rec.client_id = cli.id 
 | 
                 AND rec.order_state = 2 
 | 
                 AND rec.order_time BETWEEN #{timeStart} AND #{timeStop}) > #{totalRecharge} 
 | 
        ORDER BY cli.id 
 | 
        <trim prefix="limit "> 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
</mapper> 
 |