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