puzhibing
2023-03-22 12b75ea8869fa6e65b1bd53d4460328e73a66125
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/RevenueMapper.xml
@@ -14,4 +14,46 @@
        <result column="createTime" property="createTime" />
    </resultMap>
    <select id="queryTotalAmount" resultType="double">
        select sum(amount) as amount from t_revenue where userType = 2 and userId = #{driverId}
    </select>
    <select id="queryDriverRank" resultType="com.supersavedriving.driver.modular.system.warpper.PerformanceRankingWarpper">
        select
        aa.driverId,
        aa.`name`,
        UNIX_TIMESTAMP(aa.createTime) * 1000 as createTime,
        aa.number as amountOfData
        from (
        select
        a.userId as driverId,
        b.`name`,
        MAX(a.createTime) as createTime,
        sum(a.amount) as number
        from t_revenue a
        left join t_driver b on (a.userId = b.id)
        where a.userType = 2
        <if test="null != type">
            and a.type = #{type}
        </if>
        <if test="null != dayType and 1 == dayType"><!--天-->
            <if test="null != time and '' != time">
                and DATE_FORMAT(a.createTime, '%Y年%m月%d日') = #{time}
            </if>
        </if>
        <if test="null != dayType and 2 == dayType"><!--月-->
            <if test="null != time and '' != time">
                and DATE_FORMAT(a.createTime, '%Y年%m月') = #{time}
            </if>
        </if>
        <if test="null != dayType and 3 == dayType"><!--年-->
            <if test="null != time and '' != time">
                and DATE_FORMAT(a.createTime, '%Y年') = #{time}
            </if>
        </if>
        group by a.userId,b.`name`
        ) as aa order by aa.number desc
    </select>
</mapper>