| <?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> |