RiderWithdrawApplyMapper.xml 5.32 KB
<?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="com.diligrp.rider.mapper.RiderWithdrawApplyMapper">

    <sql id="adminListFilter">
        FROM rider_withdraw_apply w
        INNER JOIN rider r ON r.id = w.rider_id AND r.is_del = 0
        LEFT JOIN city c ON c.id = w.city_id
        WHERE 1 = 1
        <if test="cityId != null">
          AND w.city_id = #{cityId}
        </if>
        <if test="status != null">
          AND w.status = #{status}
        </if>
        <if test="keyword != null and keyword != ''">
          AND (w.withdraw_no LIKE CONCAT('%', #{keyword}, '%')
            OR r.user_nickname LIKE CONCAT('%', #{keyword}, '%')
            OR r.mobile LIKE CONCAT('%', #{keyword}, '%'))
        </if>
        <if test="startTime != null">
          AND w.apply_time &gt;= #{startTime}
        </if>
        <if test="endTime != null">
          AND w.apply_time &lt; #{endTime}
        </if>
    </sql>

    <select id="selectRiderForUpdate" resultType="com.diligrp.rider.entity.Rider">
        SELECT * FROM rider WHERE id = #{riderId} AND is_del = 0 FOR UPDATE
    </select>

    <select id="selectApplyForUpdate" resultType="com.diligrp.rider.entity.RiderWithdrawApply">
        SELECT * FROM rider_withdraw_apply WHERE id = #{id} FOR UPDATE
    </select>

    <select id="countRiderList" resultType="long">
        SELECT COUNT(1)
        FROM rider_withdraw_apply
        WHERE rider_id = #{riderId}
        <if test="status != null">
          AND status = #{status}
        </if>
    </select>

    <select id="selectRiderList" resultType="com.diligrp.rider.vo.RiderWithdrawApplyVO">
        SELECT
            w.id,
            w.withdraw_no AS withdrawNo,
            w.rider_id AS riderId,
            w.city_id AS cityId,
            w.amount,
            w.status,
            w.account_type AS accountType,
            w.account_name AS accountName,
            w.bank_name AS bankName,
            w.bank_branch AS bankBranch,
            w.account_no AS accountNo,
            w.apply_remark AS applyRemark,
            w.audit_remark AS auditRemark,
            w.auditor_id AS auditorId,
            w.auditor_name AS auditorName,
            w.apply_time AS applyTime,
            w.audit_time AS auditTime,
            w.pay_time AS payTime,
            w.transfer_no AS transferNo,
            w.create_time AS createTime,
            w.update_time AS updateTime
        FROM rider_withdraw_apply w
        WHERE w.rider_id = #{riderId}
        <if test="status != null">
          AND w.status = #{status}
        </if>
        ORDER BY w.id DESC
        LIMIT #{offset}, #{pageSize}
    </select>

    <select id="countAdminList" resultType="long">
        SELECT COUNT(1)
        <include refid="adminListFilter"/>
    </select>

    <select id="selectAdminList" resultType="com.diligrp.rider.vo.RiderWithdrawApplyVO">
        SELECT
            w.id,
            w.withdraw_no AS withdrawNo,
            w.rider_id AS riderId,
            r.user_nickname AS riderName,
            r.mobile,
            w.city_id AS cityId,
            c.name AS cityName,
            r.balance AS riderBalance,
            r.frozen_balance AS riderFrozenBalance,
            w.amount,
            w.status,
            w.account_type AS accountType,
            w.account_name AS accountName,
            w.bank_name AS bankName,
            w.bank_branch AS bankBranch,
            w.account_no AS accountNo,
            w.apply_remark AS applyRemark,
            w.audit_remark AS auditRemark,
            w.auditor_id AS auditorId,
            w.auditor_name AS auditorName,
            w.apply_time AS applyTime,
            w.audit_time AS auditTime,
            w.pay_time AS payTime,
            w.transfer_no AS transferNo,
            w.create_time AS createTime,
            w.update_time AS updateTime
        <include refid="adminListFilter"/>
        ORDER BY w.id DESC
        LIMIT #{offset}, #{pageSize}
    </select>

    <select id="selectAdminDetail" resultType="com.diligrp.rider.vo.RiderWithdrawApplyVO">
        SELECT
            w.id,
            w.withdraw_no AS withdrawNo,
            w.rider_id AS riderId,
            r.user_nickname AS riderName,
            r.mobile,
            w.city_id AS cityId,
            c.name AS cityName,
            r.balance AS riderBalance,
            r.frozen_balance AS riderFrozenBalance,
            w.amount,
            w.status,
            w.account_type AS accountType,
            w.account_name AS accountName,
            w.bank_name AS bankName,
            w.bank_branch AS bankBranch,
            w.account_no AS accountNo,
            w.apply_remark AS applyRemark,
            w.audit_remark AS auditRemark,
            w.auditor_id AS auditorId,
            w.auditor_name AS auditorName,
            w.apply_time AS applyTime,
            w.audit_time AS auditTime,
            w.pay_time AS payTime,
            w.transfer_no AS transferNo,
            w.create_time AS createTime,
            w.update_time AS updateTime
        FROM rider_withdraw_apply w
        INNER JOIN rider r ON r.id = w.rider_id AND r.is_del = 0
        LEFT JOIN city c ON c.id = w.city_id
        WHERE w.id = #{id}
        <if test="cityId != null">
          AND w.city_id = #{cityId}
        </if>
        LIMIT 1
    </select>

</mapper>