<?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.SeRechargeHistoryMapper"> 
 | 
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory"> 
 | 
    <!--@mbg.generated--> 
 | 
    <!--@Table se_recharge_history--> 
 | 
    <id column="id" jdbcType="BIGINT" property="id" /> 
 | 
    <result column="cardId" jdbcType="BIGINT" property="cardid" /> 
 | 
    <result column="clientId" jdbcType="BIGINT" property="clientid" /> 
 | 
    <result column="money" jdbcType="FLOAT" property="money" /> 
 | 
    <result column="amount" jdbcType="FLOAT" property="amount" /> 
 | 
    <result column="gift" jdbcType="FLOAT" property="gift" /> 
 | 
    <result column="afterRecharge" jdbcType="FLOAT" property="afterrecharge" /> 
 | 
    <result column="paymentId" jdbcType="BIGINT" property="paymentid" /> 
 | 
    <result column="price" jdbcType="FLOAT" property="price" /> 
 | 
    <result column="remarks" jdbcType="VARCHAR" property="remarks" /> 
 | 
    <result column="operator" jdbcType="BIGINT" property="operator" /> 
 | 
    <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" /> 
 | 
    <result column="operate_valid" jdbcType="TINYINT" property="operateValid" /> 
 | 
    <result column="order_no" jdbcType="VARCHAR" property="orderNo" /> 
 | 
  </resultMap> 
 | 
  <sql id="Base_Column_List"> 
 | 
    <!--@mbg.generated--> 
 | 
    id, cardId, clientId, money, amount, gift, afterRecharge, paymentId, price, remarks,  
 | 
    `operator`, operateDt, operate_valid, order_no 
 | 
  </sql> 
 | 
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select  
 | 
    <include refid="Base_Column_List" /> 
 | 
    from se_recharge_history 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
    <!--@mbg.generated--> 
 | 
    delete from se_recharge_history 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </delete> 
 | 
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into se_recharge_history (id, cardId, clientId,  
 | 
      money, amount, gift, afterRecharge,  
 | 
      paymentId, price, remarks,  
 | 
      `operator`, operateDt, operate_valid,  
 | 
      order_no) 
 | 
    values (#{id,jdbcType=BIGINT}, #{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},  
 | 
      #{money,jdbcType=FLOAT}, #{amount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT},  
 | 
      #{paymentid,jdbcType=BIGINT}, #{price,jdbcType=FLOAT}, #{remarks,jdbcType=VARCHAR},  
 | 
      #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, #{operateValid,jdbcType=TINYINT},  
 | 
      #{orderNo,jdbcType=VARCHAR}) 
 | 
  </insert> 
 | 
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into se_recharge_history 
 | 
    <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
      <if test="id != null"> 
 | 
        id, 
 | 
      </if> 
 | 
      <if test="cardid != null"> 
 | 
        cardId, 
 | 
      </if> 
 | 
      <if test="clientid != null"> 
 | 
        clientId, 
 | 
      </if> 
 | 
      <if test="money != null"> 
 | 
        money, 
 | 
      </if> 
 | 
      <if test="amount != null"> 
 | 
        amount, 
 | 
      </if> 
 | 
      <if test="gift != null"> 
 | 
        gift, 
 | 
      </if> 
 | 
      <if test="afterrecharge != null"> 
 | 
        afterRecharge, 
 | 
      </if> 
 | 
      <if test="paymentid != null"> 
 | 
        paymentId, 
 | 
      </if> 
 | 
      <if test="price != null"> 
 | 
        price, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        remarks, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        `operator`, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        operateDt, 
 | 
      </if> 
 | 
      <if test="operateValid != null"> 
 | 
        operate_valid, 
 | 
      </if> 
 | 
      <if test="orderNo != null"> 
 | 
        order_no, 
 | 
      </if> 
 | 
    </trim> 
 | 
    <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
      <if test="id != null"> 
 | 
        #{id,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="cardid != null"> 
 | 
        #{cardid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="clientid != null"> 
 | 
        #{clientid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="money != null"> 
 | 
        #{money,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="amount != null"> 
 | 
        #{amount,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="gift != null"> 
 | 
        #{gift,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="afterrecharge != null"> 
 | 
        #{afterrecharge,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="paymentid != null"> 
 | 
        #{paymentid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="price != null"> 
 | 
        #{price,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        #{remarks,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        #{operator,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        #{operatedt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="operateValid != null"> 
 | 
        #{operateValid,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="orderNo != null"> 
 | 
        #{orderNo,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
    </trim> 
 | 
  </insert> 
 | 
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory"> 
 | 
    <!--@mbg.generated--> 
 | 
    update se_recharge_history 
 | 
    <set> 
 | 
      <if test="cardid != null"> 
 | 
        cardId = #{cardid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="clientid != null"> 
 | 
        clientId = #{clientid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="money != null"> 
 | 
        money = #{money,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="amount != null"> 
 | 
        amount = #{amount,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="gift != null"> 
 | 
        gift = #{gift,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="afterrecharge != null"> 
 | 
        afterRecharge = #{afterrecharge,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="paymentid != null"> 
 | 
        paymentId = #{paymentid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="price != null"> 
 | 
        price = #{price,jdbcType=FLOAT}, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        remarks = #{remarks,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        `operator` = #{operator,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        operateDt = #{operatedt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="operateValid != null"> 
 | 
        operate_valid = #{operateValid,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="orderNo != null"> 
 | 
        order_no = #{orderNo,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
    </set> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory"> 
 | 
    <!--@mbg.generated--> 
 | 
    update se_recharge_history 
 | 
    set cardId = #{cardid,jdbcType=BIGINT}, 
 | 
      clientId = #{clientid,jdbcType=BIGINT}, 
 | 
      money = #{money,jdbcType=FLOAT}, 
 | 
      amount = #{amount,jdbcType=FLOAT}, 
 | 
      gift = #{gift,jdbcType=FLOAT}, 
 | 
      afterRecharge = #{afterrecharge,jdbcType=FLOAT}, 
 | 
      paymentId = #{paymentid,jdbcType=BIGINT}, 
 | 
      price = #{price,jdbcType=FLOAT}, 
 | 
      remarks = #{remarks,jdbcType=VARCHAR}, 
 | 
      `operator` = #{operator,jdbcType=BIGINT}, 
 | 
      operateDt = #{operatedt,jdbcType=TIMESTAMP}, 
 | 
      operate_valid = #{operateValid,jdbcType=TINYINT}, 
 | 
      order_no = #{orderNo,jdbcType=VARCHAR} 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  
 | 
  <!--依据水卡ID将最后一条无效状态的充值历史记录改为有效--> 
 | 
  <update id="turnRechargeHistoryValidByCardId"> 
 | 
    UPDATE se_recharge_history 
 | 
    SET operate_valid = 2 
 | 
    WHERE id = ( 
 | 
    SELECT id FROM ( 
 | 
    SELECT id 
 | 
    FROM se_recharge_history 
 | 
    WHERE operate_valid = 1 AND cardId = #{cardId} 
 | 
    ORDER BY id DESC 
 | 
    LIMIT 1) AS subquery 
 | 
    ); 
 | 
  </update> 
 | 
  
 | 
  <!--充值机用根据订单号将充值历史记录改为有效--> 
 | 
  <update id="turnRechargeHistoryValidByOrderNumber"> 
 | 
    UPDATE se_recharge_history 
 | 
    SET operate_valid = 2 
 | 
    WHERE operate_valid = 1 AND order_no = #{orderNumber} 
 | 
  </update> 
 | 
  
 | 
  
 | 
  <!-- /////////////////////////////////// --> 
 | 
  <!-- 统计相关                              --> 
 | 
  <!-- /////////////////////////////////// --> 
 | 
  <select id="statisticsByIc" resultType="com.dy.pipIrrGlobal.voSt.VoIcRechargeStatistics"> 
 | 
    select clientId as clientId, 
 | 
    cardId as cardId, 
 | 
    sum(amount) as amount, 
 | 
    sum(gift) as gift, 
 | 
    count(*) as times 
 | 
    from se_recharge_history 
 | 
    where operate_valid = 2 
 | 
    and id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} 
 | 
    and id <![CDATA[<]]> #{endId, jdbcType=BIGINT} 
 | 
    group by clientId, cardId 
 | 
  </select> 
 | 
  <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientRechargeStatistics"> 
 | 
    select clientId as clientId, 
 | 
    sum(amount) as amount, 
 | 
    sum(gift) as gift, 
 | 
    count(*) as times 
 | 
    from se_recharge_history 
 | 
    where operate_valid = 2 
 | 
    and id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} 
 | 
    and id <![CDATA[<]]> #{endId, jdbcType=BIGINT} 
 | 
    group by clientId 
 | 
  </select> 
 | 
  
 | 
</mapper> 
 |