puzhibing
2023-06-30 f58cca364b731eac2d60a440ffaa804be3cd43fd
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TRevenueMapper.xml
@@ -127,6 +127,27 @@
            cw.type = 2 AND cw.businessType = #{type} AND cw.code = #{code}
    </select>
    <select id="getDataStatisticsIncomeOrCommission" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
        <if test="type == 1">
            select aa.monthTime,aa.userName,sum(aa.amount) as amount from (
            select
            DATE_FORMAT(a.createTime, '%Y-%m') as monthTime,
            b.id as driverId,
            a.payMoney as amount,
            b.`name` as userName
            from t_order a
            left join t_driver b on (a.driverId = b.id)
            where a.payMoney > 0
            <if test="agentId != null">
                and a.agentId = #{agentId}
            </if>
            <if test="monthDate != null and monthDate != ''">
                AND date_format(a.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
            </if>
            ) as aa GROUP BY aa.monthTime,aa.driverId
            ORDER BY amount DESC
            LIMIT 10
        </if>
        <if test="2 == type">
        SELECT date_format(r.createTime, '%Y-%m') AS monthTime,SUM(r.amount) AS amount,d.userName
        FROM t_revenue r
        LEFT JOIN (SELECT id,name AS userName from t_driver) d ON r.userId = d.id
@@ -146,6 +167,7 @@
        GROUP BY monthTime,userName
        ORDER BY amount DESC
        LIMIT 10
        </if>
    </select>
    <select id="getDataStatisticsCommission" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
@@ -169,6 +191,30 @@
        ORDER BY amount DESC
    </select>
    <select id="getDataStatisticsIncomeOrCommissionByIds" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp">
        <if test="type == 1">
            select aa.monthTime,aa.userName,sum(aa.amount) as amount from (
            select
            DATE_FORMAT(a.createTime, '%Y-%m') as monthTime,
            b.id as driverId,
            a.payMoney as amount,
            b.`name` as userName
            from t_order a
            left join t_driver b on (a.driverId = b.id)
            where a.payMoney > 0
            <if test="ids != null and ids.size() > 0">
                AND a.agentId IN
                <foreach collection="ids" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            <if test="monthDate != null and monthDate != ''">
                AND date_format(a.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%')
            </if>
            ) as aa GROUP BY aa.monthTime,aa.driverId
            ORDER BY amount DESC
            LIMIT 10
        </if>
        <if test="type == 2">
        SELECT date_format(r.createTime, '%Y-%m') AS monthTime,SUM(r.amount) AS amount,d.userName
        FROM t_revenue r
        LEFT JOIN (SELECT id,name AS userName from t_driver) d ON r.userId = d.id
@@ -191,6 +237,7 @@
        GROUP BY monthTime,userName
        ORDER BY amount DESC
        LIMIT 10
        </if>
    </select>
</mapper>