pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml
@@ -35,22 +35,16 @@
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory" useGeneratedKeys="true">
  <insert id="insert" keyColumn="id" keyProperty="id" 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)
    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})
    insert into se_recharge_history (id, cardId, clientId, money,
      amount, gift, afterRecharge,
      paymentId, price, remarks,
      `operator`, operateDt)
    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})
  </insert>
  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory" useGeneratedKeys="true">
@@ -183,4 +177,47 @@
      operateDt = #{operatedt,jdbcType=TIMESTAMP}
    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>
<!-- /////////////////////////////////// -->
<!-- 统计相关                              -->
<!-- /////////////////////////////////// -->
  <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>