xiaoyong931011
2023-08-28 d03394c01ca1ae7f3431755c628e1bd2106dc287
src/main/resources/mapper/dapp/DappWalletCoinDao.xml
@@ -27,4 +27,144 @@
                version=version+1
        where id=#{record.id} and version=#{record.version}
    </update>
    <update id="addAvailableAndDelFrozenById">
        update dapp_wallet_coin
        set
            available_amount = available_amount + #{balance},
            frozen_amount = frozen_amount - #{balance}
        where
            id = #{id}
          and frozen_amount - #{balance} <![CDATA[ >= ]]> 0
    </update>
    <update id="addFrozenAndDelAvailableById">
        update dapp_wallet_coin
        set
            available_amount = available_amount - #{balance},
            frozen_amount = frozen_amount + #{balance}
        where
            id = #{id}
          and available_amount - #{balance} <![CDATA[ >= ]]> 0
    </update>
    <update id="delTotalAndDelFrozenById">
        update dapp_wallet_coin
        set
            total_amount = total_amount - #{balance},
            frozen_amount = frozen_amount - #{balance}
        where
            id = #{id}
          and total_amount - #{balance} <![CDATA[ >= ]]> 0
          and frozen_amount - #{balance} <![CDATA[ >= ]]> 0
    </update>
    <update id="addTotalAndaddAvailableById">
        update dapp_wallet_coin
        set
            total_amount = total_amount + #{balance},
            available_amount = available_amount + #{balance}
        where
            id = #{id}
    </update>
    <update id="delAvailableDelTotalById">
        update dapp_wallet_coin
        set
            total_amount = total_amount - #{balance},
            available_amount = available_amount - #{balance}
        where
            id = #{id}
          and total_amount - #{balance} <![CDATA[ >= ]]> 0
    </update>
    <select id="selectWalletCoinBymIdAndCode" resultType="cc.mrbird.febs.dapp.entity.DappWalletCoinEntity">
        select * from dapp_wallet_coin where member_id = #{memberId} and wallet_code = #{walletCode}
    </select>
    <update id="updateFrozenBalance" parameterType="map">
        UPDATE dapp_wallet_coin
        SET available_amount = available_amount - #{amount},
            frozen_amount = frozen_amount + #{amount}
        WHERE
            id = #{id}
          AND member_id = #{memberId}
    </update>
    <update id="subFrozenBalance" parameterType="map">
        UPDATE dapp_wallet_coin
        SET available_amount = available_amount + #{amount},
            frozen_amount = frozen_amount - #{amount}
        WHERE
            id = #{id}
          AND member_id = #{memberId}
    </update>
    <update id="updateBlockBalance">
        update dapp_wallet_coin
        set
            available_amount = IFNULL(available_amount, 0) + #{availableAmount},
            total_amount = IFNULL(total_amount, 0) + #{availableAmount},
            early_amount = IFNULL(early_amount, 0) + #{earlyAmount},
            block_number  = IFNULL(block_number, 0) + #{blockNumber}
        where id=#{id}
    </update>
    <update id="reduceFrozenBalance">
        update dapp_wallet_coin
        set frozen_amount = frozen_amount - #{amount},
            total_amount = total_amount - #{amount}
        where id=#{id}
    </update>
    <select id="selectTotalAmount" resultType="cc.mrbird.febs.dapp.entity.DappMemberEntity">
        select
            b.id,
            b.invite_id,
            b.referer_id,
            b.identity,
            b.referer_ids
        from
            dapp_wallet_coin a
                inner join dapp_member b on a.member_id = b.id
        where a.total_amount <![CDATA[ >= ]]> 51
    </select>
    <update id="addTotalAndaddAvailableByMemberId">
        update dapp_wallet_coin
        set
            total_amount = total_amount + #{balance},
            available_amount = available_amount + #{balance}
        where
            member_id = #{memberId}
    </update>
    <update id="reduceTotalAndAvailableByMemberId">
        update dapp_wallet_coin
        set
            total_amount = total_amount - #{balance},
            available_amount = available_amount - #{balance}
        where
            member_id = #{memberId}
    </update>
    <select id="selectAmountThanZero" resultType="cc.mrbird.febs.dapp.entity.DappWalletCoinEntity">
        select * from dapp_wallet_coin where available_amount > 0
    </select>
    <select id="selectTotal" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(total_amount,0)),0)
        from dapp_wallet_coin
    </select>
    <select id="selectWithdrawAmountByType" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(amount,0)),0)
        from member_coin_withdraw
        where 1=1
        <if test='type == "D"'>
            and date_format(CREATE_TIME, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');
        </if>
    </select>
</mapper>