xiaoyong931011
2023-05-31 62c1a7f2638542a2ad2d326b47b4b6201cd983da
src/main/resources/mapper/dapp/DappFundFlowDao.xml
@@ -6,6 +6,9 @@
        select a.*, b.address address from dapp_fund_flow a
        inner join dapp_member b on a.member_id=b.id
        <where>
            <if test="record.currentUser != null">
                and b.referer_id = (select invite_id from dapp_user_member_relate where user_id=#{record.currentUser})
            </if>
            <if test="record.type != null">
                and a.type = #{record.type}
            </if>
@@ -15,6 +18,146 @@
            <if test="record.address != '' and record.address != null">
                and b.address = #{record.address}
            </if>
            <if test="record.memberId != null">
                and a.member_id=#{record.memberId}
            </if>
            <if test="record.fromHash != '' and record.fromHash != null">
                and a.from_hash = #{record.fromHash}
            </if>
            <if test="record.systemProfitId != '' and record.systemProfitId != null">
                and a.system_profit_id = #{record.systemProfitId}
            </if>
        </where>
        order by a.create_time desc, a.id desc
    </select>
    <select id="selectVoInPage" resultType="cc.mrbird.febs.dapp.vo.DappFundFlowVo">
        select
               a.amount amount,
               a.type type,
               date_format(a.create_time, '%Y-%m-%d %h:%m:%s') createTime
        from dapp_fund_flow a
        <where>
            member_id = #{record.memberId}
            <if test="record.type != null">
                and a.type = #{record.type}
            </if>
            <if test="record.status != null">
                and a.status = #{record.status}
            </if>
        </where>
        order by a.create_time desc, a.id desc
    </select>
    <select id="selectListForMemberAndDay" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow
        where member_id=#{memberId} and date_format(create_time, '%Y-%m-%d') = date_format(now(), '%Y-%m-%d')
        and type=#{type}
          <if test="type != 3">
              and status!=3
          </if>
    </select>
    <select id="selectByFromHash" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow
        where from_hash = #{txHash}
          <if test="status != null">
              and status = #{status}
          </if>
    </select>
    <select id="selectFundFlowListByAddress" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow a, dapp_member b
        where b.address=#{address}
        <if test="status != null">
            and a.status=#{status}
        </if>
        order by a.id desc
    </select>
    <select id="selectAmountTotalByType" resultType="java.util.HashMap">
        select
            IFNULL(MAX(if(type = 1, a.amount, 0)),0) buy
             , IFNULL(MAX(if(type = 2, a.amount, 0)),0) sale
             , IFNULL(MAX(if(type = 3, a.amount, 0)),0) mine
             , IFNULL(MAX(if(type = 4, a.amount, 0)),0) teamReward
        from (select type, sum(amount) amount
                 from dapp_fund_flow
                 where member_id=#{memberId}
                 group by type
            ) a
    </select>
    <select id="selectProfitAmountByMemberId" resultType="java.math.BigDecimal">
        select ifnull(sum(amount), 0) from dapp_fund_flow
        where member_id=#{memberId} and type in (2,3)
    </select>
    <select id="selectNewestFundFlow" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow
        where member_id=#{memberId} and type = #{type}
        order by id desc
        limit 1
    </select>
    <select id="selectSumAmountByMemberIdAndTypeAndStatus" resultType="java.math.BigDecimal">
        select ifnull(sum(amount), 0) from dapp_fund_flow
        where member_id = #{memberId}
          and type = #{type}
        and status = #{status}
    </select>
    <select id="selectInfoById" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select a.* from dapp_fund_flow a
        where a.id = #{id}
          for update
    </select>
    <update id="updateStatusById">
        update dapp_fund_flow
        set status = #{status},
            version = version + 1
    where id = #{id}
        and version = 1
        and status = 1
    </update>
    <select id="selectByStateAndVersionAndFromHashLimitOne" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow
        where status = #{status}
          and version = #{version}
          and from_hash is null
          and is_return = 2
          and type in (2,3,27)
        ORDER BY
            id ASC
            LIMIT 1
    </select>
    <select id="selectByStateAndVersionAndFromHashTwoLimitOne" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow
        where status = #{status}
          and from_hash is null
          and is_return = 2
          and type in (5,6)
        ORDER BY
            id ASC
            LIMIT 1
    </select>
    <select id="selectBymemberIdAndType" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select * from dapp_fund_flow
        where member_id = #{memberId}
          and type = #{type}
          and status = #{status}
    </select>
    <select id="selectListByState" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select *
        from dapp_fund_flow
        where status = #{status}
          and version = 1
        and type != 1
        and type != 6
    </select>
</mapper>