|  |  | 
 |  |  |     <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 | 
 |  |  |     `operator`, operateDt, operate_valid, order_no | 
 |  |  |   </sql> | 
 |  |  |   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |     <!--@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" useGeneratedKeys="true"> | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into se_recharge_history (cardId, clientId, money,  | 
 |  |  |       amount, gift, afterRecharge,  | 
 |  |  |     insert into se_recharge_history (id, cardId, clientId,  | 
 |  |  |       money, amount, gift, afterRecharge,  | 
 |  |  |       paymentId, price, remarks,  | 
 |  |  |       `operator`, operateDt) | 
 |  |  |     values (#{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{money,jdbcType=FLOAT},  | 
 |  |  |       #{amount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{afterrecharge,jdbcType=FLOAT},  | 
 |  |  |       `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}) | 
 |  |  |       #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, #{operateValid,jdbcType=TINYINT},  | 
 |  |  |       #{orderNo,jdbcType=VARCHAR}) | 
 |  |  |   </insert> | 
 |  |  |   <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory" useGeneratedKeys="true"> | 
 |  |  |   <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="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> | 
 |  |  |       <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> | 
 |  |  | 
 |  |  |       <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> | 
 |  |  | 
 |  |  |       price = #{price,jdbcType=FLOAT}, | 
 |  |  |       remarks = #{remarks,jdbcType=VARCHAR}, | 
 |  |  |       `operator` = #{operator,jdbcType=BIGINT}, | 
 |  |  |       operateDt = #{operatedt,jdbcType=TIMESTAMP} | 
 |  |  |       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> |