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