| <?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="cc.mrbird.febs.mall.mapper.MallMemberWalletMapper"> | 
|   | 
|     <select id="selectWalletByMemberId" resultType="cc.mrbird.febs.mall.entity.MallMemberWallet"> | 
|         select * from mall_member_wallet where member_id=#{memberId} | 
|     </select> | 
|   | 
|     <update id="updateBalanceWithVersion"> | 
|         update mall_member_wallet | 
|         set revision = revision + 1, | 
|             balance = #{record.balance} | 
|         where id=#{record.id} and revision=#{record.revision} | 
|     </update> | 
|   | 
|     <update id="updateCommissionWithVersion"> | 
|         update mall_member_wallet | 
|         set revision = revision + 1, | 
|             commission = #{record.commission} | 
|         where id=#{record.id} and revision=#{record.revision} | 
|     </update> | 
|   | 
|     <update id="updateBalanceWithId"> | 
|         update mall_member_wallet | 
|         set revision = revision + 1, | 
|             balance = #{record.balance} | 
|         where id=#{record.id} | 
|     </update> | 
|   | 
|     <update id="updateAmountWithVersion"> | 
|         update mall_member_wallet | 
|         set revision = revision + 1 | 
|         <if test="record.balance != null"> | 
|             , balance = #{record.balance} | 
|         </if> | 
|         <if test="record.score != null"> | 
|             , score = #{record.score} | 
|         </if> | 
|         <if test="record.prizeScore != null"> | 
|             , prize_score = #{record.prizeScore} | 
|         </if> | 
|         <if test="record.commission != null"> | 
|             , commission = #{record.commission} | 
|         </if> | 
|         <if test="record.totalScore != null"> | 
|             , total_score = #{record.totalScore} | 
|         </if> | 
|         <if test="record.star != null"> | 
|             , star = #{record.star} | 
|         </if> | 
|         <if test="record.voucherCnt != null"> | 
|             , voucher_cnt = #{record.voucherCnt} | 
|         </if> | 
|         <if test="record.voucherFireCnt != null"> | 
|             , voucher_fire_cnt = #{record.voucherFireCnt} | 
|         </if> | 
|         <if test="record.voucherAmount != null"> | 
|             , voucher_amount = #{record.voucherAmount} | 
|         </if> | 
|         where id=#{record.id} and revision=#{record.revision} | 
|     </update> | 
|   | 
|     <select id="selectSumBalance" resultType="java.math.BigDecimal"> | 
|         select ifnull(sum(balance),0) total from mall_member_wallet | 
|     </select> | 
|   | 
|     <select id="selectSumScore" resultType="java.math.BigDecimal"> | 
|         select ifnull(sum(score),0) total from mall_member_wallet | 
|     </select> | 
|   | 
|     <select id="selectSumPrizeScore" resultType="java.math.BigDecimal"> | 
|         select ifnull(sum(prize_score),0) total from mall_member_wallet | 
|     </select> | 
|   | 
|     <select id="selectSumCommission" resultType="java.math.BigDecimal"> | 
|         select ifnull(sum(commission),0) total from mall_member_wallet | 
|     </select> | 
|   | 
|     <select id="selectMemberWalletsByIds" resultType="cc.mrbird.febs.mall.entity.MallMemberWallet"> | 
|         select * from mall_member_wallet | 
|         where  member_id IN | 
|         <foreach collection = "list" item = "item"  separator=","  open = "(" close = ")" > | 
|             #{item} | 
|         </foreach > | 
|     </select> | 
|   | 
|     <update id="updateStarByList" parameterType="java.util.List" > | 
|         <foreach collection="list" item="item" index="index" open="" close="" separator=";"> | 
|             update mall_member_wallet | 
|             <set> | 
|                 balance = balance + #{item.starPerkAmount}, | 
|             </set> | 
|             WHERE id =  #{item.id} | 
|         </foreach> | 
|     </update> | 
|   | 
|     <update id="updateTotalScoreByList" parameterType="java.util.List" > | 
|         <foreach collection="list" item="item" index="index" open="" close="" separator=";"> | 
|             update mall_member_wallet | 
|             <set> | 
|                 total_score = total_score - #{item.starPerkAmount}, | 
|             </set> | 
|             WHERE id =  #{item.id} | 
|         </foreach> | 
|     </update> | 
|   | 
|     <update id="reduceTotalScoreById"> | 
|             update mall_member_wallet | 
|             <set> | 
|                 total_score = total_score - #{totalScore}, | 
|             </set> | 
|             WHERE id =  #{id} | 
|     </update> | 
|   | 
|     <update id="addBalanceById"> | 
|             update mall_member_wallet | 
|             <set> | 
|                 balance = balance + #{balance}, | 
|             </set> | 
|             WHERE id =  #{id} | 
|     </update> | 
|   | 
|     <update id="addStarByMemberId"> | 
|             update mall_member_wallet | 
|             <set> | 
|                 star = star + #{star}, | 
|             </set> | 
|             WHERE member_id =  #{memberId} | 
|     </update> | 
|   | 
|     <update id="reduceStarByMemberId"> | 
|             update mall_member_wallet | 
|             <set> | 
|                 star = star - #{star}, | 
|             </set> | 
|             WHERE member_id =  #{memberId} | 
|     </update> | 
|   | 
|     <update id="addVorCherCntByMemberId"> | 
|         update mall_member_wallet | 
|         <set> | 
|             voucher_cnt = voucher_cnt + #{voucherCnt}, | 
|         </set> | 
|         WHERE member_id =  #{memberId} | 
|     </update> | 
|   | 
|     <select id="selectSumStar" resultType="java.math.BigDecimal"> | 
|         select ifnull(sum(star),0) total from mall_member_wallet | 
|     </select> | 
|   | 
|     <select id="selectStar" resultType="cc.mrbird.febs.mall.entity.MallMemberWallet"> | 
|         select * from mall_member_wallet | 
|         where  star > 0 | 
|     </select> | 
|   | 
|     <update id="addVorCherAmountAndCntById"> | 
|         update mall_member_wallet | 
|         <set> | 
|             balance = balance + #{voucherAmount}, | 
|             voucher_cnt = voucher_cnt - #{voucherCnt}, | 
|         </set> | 
|         WHERE id =  #{id} | 
|     </update> | 
|   | 
|     <update id="addVorCherFireCntByMemberId"> | 
|         update mall_member_wallet | 
|         <set> | 
|             voucher_fire_cnt = voucher_fire_cnt + #{voucherFireCnt}, | 
|         </set> | 
|         WHERE member_id =  #{memberId} | 
|     </update> | 
|   | 
|   | 
| </mapper> |