xiaoyong931011
2023-08-24 98e8b6427b73efc44dbd9511e8291afea6c188d8
src/main/resources/mapper/dapp/DappFundFlowDao.xml
@@ -21,6 +21,35 @@
            <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,
               a.from_hash fromAddress,
               a.to_hash toAddress,
               date_format(a.create_time, '%Y-%m-%d %H:%i:%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>
            <if test="record.flowType != null">
                and a.flow_type = #{record.flowType}
            </if>
        </where>
        order by a.create_time desc
    </select>
@@ -34,4 +63,152 @@
          </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}
    </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,34)
        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>
    <select id="selectSumAmountByType" resultType="java.math.BigDecimal">
        select ifnull(sum(amount), 0) from dapp_fund_flow
        where  type = #{type}
    </select>
    <select id="selectSumAmountByTypeAndDate" resultType="java.math.BigDecimal">
        select ifnull(sum(amount), 0) from dapp_fund_flow
        where  type = #{type}
          and date_format(create_time, '%Y-%m-%d') = date_format(#{dateStr}, '%Y-%m-%d')
    </select>
    <select id="selectOrderMoneyFlowInPage" resultType="cc.mrbird.febs.dapp.vo.AdminMallMoneyFlowVo">
        select
            a.create_time createTime,
            a.amount amount,
            a.type type,
            b.address address
        from dapp_fund_flow a
                 left join dapp_member b on a.member_id = b.id
        where a.system_profit_id = #{record.id}
        order by a.CREATE_TIME desc
    </select>
    <select id="selectListByMemberIdAndTypeAndDate" 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(#{dateStr}, '%Y-%m-%d')
          and type = #{type}
          and status = 2
    </select>
    <select id="selectListByTypeAndDate" resultType="cc.mrbird.febs.dapp.entity.DappFundFlowEntity">
        select member_id as memberId,ifnull(sum(amount), 0) as amount
        from dapp_fund_flow
        where date_format(create_time, '%Y-%m-%d') = date_format(#{dateStr}, '%Y-%m-%d')
          and type = #{type}
          and status = 2
        group by member_id
    </select>
    <select id="selectSumAmountByMemberIdAndType" resultType="java.math.BigDecimal">
        select ifnull(sum(amount), 0) from dapp_fund_flow
        where member_id = #{memberId}
          and type = #{type}
    </select>
</mapper>