| <?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.SeConsumeMapper"> | 
|   <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeConsume"> | 
|     <!--@mbg.generated--> | 
|     <!--@Table se_consume--> | 
|     <id column="id" jdbcType="BIGINT" property="id" /> | 
|     <result column="wallet_id" jdbcType="BIGINT" property="walletId" /> | 
|     <result column="client_id" jdbcType="BIGINT" property="clientId" /> | 
|     <result column="money" jdbcType="FLOAT" property="money" /> | 
|     <result column="consumption" jdbcType="FLOAT" property="consumption" /> | 
|     <result column="after_consume" jdbcType="FLOAT" property="afterConsume" /> | 
|     <result column="duration" jdbcType="FLOAT" property="duration" /> | 
|     <result column="vot" jdbcType="TIMESTAMP" property="vot" /> | 
|     <result column="vct" jdbcType="TIMESTAMP" property="vct" /> | 
|   </resultMap> | 
|   <sql id="Base_Column_List"> | 
|     <!--@mbg.generated--> | 
|     id, wallet_id, client_id, money, consumption, after_consume, duration, vot, vct | 
|   </sql> | 
|   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|     <!--@mbg.generated--> | 
|     select  | 
|     <include refid="Base_Column_List" /> | 
|     from se_consume | 
|     where id = #{id,jdbcType=BIGINT} | 
|   </select> | 
|   <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
|     <!--@mbg.generated--> | 
|     delete from se_consume | 
|     where id = #{id,jdbcType=BIGINT} | 
|   </delete> | 
|   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeConsume"> | 
|     <!--@mbg.generated--> | 
|     insert into se_consume (id, wallet_id, client_id,  | 
|       money, consumption, after_consume,  | 
|       duration, vot, vct | 
|       ) | 
|     values (#{id,jdbcType=BIGINT}, #{walletId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT},  | 
|       #{money,jdbcType=FLOAT}, #{consumption,jdbcType=FLOAT}, #{afterConsume,jdbcType=FLOAT},  | 
|       #{duration,jdbcType=FLOAT}, #{vot,jdbcType=TIMESTAMP}, #{vct,jdbcType=TIMESTAMP} | 
|       ) | 
|   </insert> | 
|   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeConsume"> | 
|     <!--@mbg.generated--> | 
|     insert into se_consume | 
|     <trim prefix="(" suffix=")" suffixOverrides=","> | 
|       <if test="id != null"> | 
|         id, | 
|       </if> | 
|       <if test="walletId != null"> | 
|         wallet_id, | 
|       </if> | 
|       <if test="clientId != null"> | 
|         client_id, | 
|       </if> | 
|       <if test="money != null"> | 
|         money, | 
|       </if> | 
|       <if test="consumption != null"> | 
|         consumption, | 
|       </if> | 
|       <if test="afterConsume != null"> | 
|         after_consume, | 
|       </if> | 
|       <if test="duration != null"> | 
|         duration, | 
|       </if> | 
|       <if test="vot != null"> | 
|         vot, | 
|       </if> | 
|       <if test="vct != null"> | 
|         vct, | 
|       </if> | 
|     </trim> | 
|     <trim prefix="values (" suffix=")" suffixOverrides=","> | 
|       <if test="id != null"> | 
|         #{id,jdbcType=BIGINT}, | 
|       </if> | 
|       <if test="walletId != null"> | 
|         #{walletId,jdbcType=BIGINT}, | 
|       </if> | 
|       <if test="clientId != null"> | 
|         #{clientId,jdbcType=BIGINT}, | 
|       </if> | 
|       <if test="money != null"> | 
|         #{money,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="consumption != null"> | 
|         #{consumption,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="afterConsume != null"> | 
|         #{afterConsume,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="duration != null"> | 
|         #{duration,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="vot != null"> | 
|         #{vot,jdbcType=TIMESTAMP}, | 
|       </if> | 
|       <if test="vct != null"> | 
|         #{vct,jdbcType=TIMESTAMP}, | 
|       </if> | 
|     </trim> | 
|   </insert> | 
|   <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeConsume"> | 
|     <!--@mbg.generated--> | 
|     update se_consume | 
|     <set> | 
|       <if test="walletId != null"> | 
|         wallet_id = #{walletId,jdbcType=BIGINT}, | 
|       </if> | 
|       <if test="clientId != null"> | 
|         client_id = #{clientId,jdbcType=BIGINT}, | 
|       </if> | 
|       <if test="money != null"> | 
|         money = #{money,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="consumption != null"> | 
|         consumption = #{consumption,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="afterConsume != null"> | 
|         after_consume = #{afterConsume,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="duration != null"> | 
|         duration = #{duration,jdbcType=FLOAT}, | 
|       </if> | 
|       <if test="vot != null"> | 
|         vot = #{vot,jdbcType=TIMESTAMP}, | 
|       </if> | 
|       <if test="vct != null"> | 
|         vct = #{vct,jdbcType=TIMESTAMP}, | 
|       </if> | 
|     </set> | 
|     where id = #{id,jdbcType=BIGINT} | 
|   </update> | 
|   <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeConsume"> | 
|     <!--@mbg.generated--> | 
|     update se_consume | 
|     set wallet_id = #{walletId,jdbcType=BIGINT}, | 
|       client_id = #{clientId,jdbcType=BIGINT}, | 
|       money = #{money,jdbcType=FLOAT}, | 
|       consumption = #{consumption,jdbcType=FLOAT}, | 
|       after_consume = #{afterConsume,jdbcType=FLOAT}, | 
|       duration = #{duration,jdbcType=FLOAT}, | 
|       vot = #{vot,jdbcType=TIMESTAMP}, | 
|       vct = #{vct,jdbcType=TIMESTAMP} | 
|     where id = #{id,jdbcType=BIGINT} | 
|   </update> | 
|   | 
|   <!--根据农户ID获取消费汇总记录--> | 
|   <select id="getWalletConsumeSum" resultType="java.util.Map"> | 
|     SELECT | 
|       cli.name AS clientName, | 
|       cli.clientNum, | 
|       wal.money, | 
|       (SELECT SUM(consumption) FROM se_consume WHERE client_id = cli.id) AS totalConsume | 
|     FROM se_client cli | 
|            INNER JOIN se_wallet wal ON wal.client_id = cli.id | 
|     <where> | 
|       <if test = "clientId != null and clientId > 0"> | 
|         AND cli.id = ${clientId} | 
|       </if> | 
|     </where> | 
|   | 
|   </select> | 
|   | 
|   <!--根据农户ID获取电子钱包消费记录数--> | 
|   <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> | 
|     SELECT | 
|         COUNT(*) AS recordCount | 
|     FROM se_consume | 
|     <where> | 
|       <if test = "clientId != null and clientId > 0"> | 
|         AND client_id = ${clientId} | 
|       </if> | 
|     </where> | 
|   </select> | 
|   | 
|   <!--根据农户ID获取电子钱包消费记录--> | 
|   <select id="getWalletConsumes" resultType="com.dy.pipIrrGlobal.voSe.VoWalletConsume"> | 
|     SELECT | 
|         consumption, | 
|         duration, | 
|         vot, | 
|         vct | 
|     FROM se_consume | 
|     <where> | 
|       <if test = "clientId != null and clientId > 0"> | 
|         AND client_id = ${clientId} | 
|       </if> | 
|     </where> | 
|     ORDER BY vct DESC | 
|     <trim prefix="limit " > | 
|       <if test="start != null and count != null"> | 
|         #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
|       </if> | 
|     </trim> | 
|   </select> | 
| </mapper> |