liurunyu
3 天以前 1cf88d43994ec7ec403319032a9d118b39fe3571
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeRechargeHistoryMapper.xml
New file
@@ -0,0 +1,223 @@
<?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" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, cardId, clientId, money, amount, gift, afterRecharge, paymentId, price, remarks,
    `operator`, operateDt
  </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" 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>
  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory" useGeneratedKeys="true">
    <!--@mbg.generated-->
    insert into se_recharge_history
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <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>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <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>
    </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>
    </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}
    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>