cloudroam
2024-11-12 4537f8e46508fbe3627fe916ada90ebc7d281a7e
src/main/resources/mapper/payment/OrderSettlementMapper.xml
@@ -29,6 +29,38 @@
        ORDER BY s.create_time desc, userName
    </select>
    <select id="selectSettlementListInfo" resultType="com.mzl.flower.dto.response.payment.OrderSettlementListDTO">
        SELECT s.*, ifnull(si.name, pi.name) userName,
        code.label as statusStr,
        code2.label as typeStr
        FROM t_order_settlement s
        left join t_supplier_info si on s.user_id = si.user_id
        left join t_partner_info pi on s.user_id = pi.user_id
        LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'SETTLEMENT_STATUS') code ON s.status = code.value
        LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'SETTLEMENT_TYPE') code2 ON s.type = code2.value
        WHERE s.deleted = 0
        <if test="condition.userId != null and condition.userId != ''">
            AND s.user_id = #{condition.userId}
        </if>
        <if test="condition.type != null and condition.type != ''">
            AND s.type = #{condition.type}
        </if>
        <if test="condition.status != null and condition.status != ''">
            AND s.status = #{condition.status}
        </if>
        <if test="condition.startDate != null">
            AND s.create_time &gt;= #{condition.startDate}
        </if>
        <if test="condition.endDate != null">
            AND s.create_time &lt;= #{condition.endDate}
        </if>
        <if test="condition.userName != null and condition.userName != ''">
            AND (si.name LIKE CONCAT('%', #{condition.userName}, '%') OR pi.name LIKE CONCAT('%', #{condition.userName}, '%'))
        </if>
        ORDER BY s.create_time desc, userName
    </select>
    <select id="getUserIncome" resultType="java.math.BigDecimal">
        select sum(settlement_amount)
        from t_order_settlement