|
|
@@ -130,6 +130,124 @@
|
|
|
may_withdraw > 0.00
|
|
|
OR withdraw_finish > 0.00
|
|
|
</select>
|
|
|
+ <select id="statisticsList" resultType="com.fs.his.vo.AdProfitDetailStatisticsVo">
|
|
|
+ <!-- 1. 用户分润 -->
|
|
|
+ SELECT
|
|
|
+ '用户分润' AS `name`,
|
|
|
+ IFNULL(ROUND(SUM(a.user_money) / 100, 2), 0) AS amountYuan,
|
|
|
+ 'summary' AS type,
|
|
|
+ 1 AS sortOrder
|
|
|
+ FROM ad_profit_detail a
|
|
|
+ WHERE <include refid="timeCondition"/>
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ <!-- 2. 互医分润 -->
|
|
|
+ SELECT
|
|
|
+ '互医分润' AS `name`,
|
|
|
+ IFNULL(ROUND(SUM(a.huyi_money) / 100, 2), 0) AS amountYuan,
|
|
|
+ 'summary' AS type,
|
|
|
+ 2 AS sortOrder
|
|
|
+ FROM ad_profit_detail a
|
|
|
+ WHERE <include refid="timeCondition"/>
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ <!-- 3. 云联分润 -->
|
|
|
+ SELECT
|
|
|
+ '云联分润' AS `name`,
|
|
|
+ IFNULL(ROUND(SUM(a.yunlian_money) / 100, 2), 0) AS amountYuan,
|
|
|
+ 'summary' AS type,
|
|
|
+ 3 AS sortOrder
|
|
|
+ FROM ad_profit_detail a
|
|
|
+ WHERE <include refid="timeCondition"/>
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ <!-- 4. 各公司分润 -->
|
|
|
+ SELECT
|
|
|
+ c.company_name AS `name`,
|
|
|
+ IFNULL(ROUND(SUM(a.company_money) / 100, 2), 0) AS amountYuan,
|
|
|
+ 'company' AS type,
|
|
|
+ a.company_id + 100 AS sortOrder
|
|
|
+ FROM ad_profit_detail a
|
|
|
+ LEFT JOIN company c ON a.company_id = c.company_id
|
|
|
+ WHERE a.company_id IS NOT NULL
|
|
|
+ AND <include refid="timeCondition"/>
|
|
|
+ GROUP BY a.company_id, c.company_name
|
|
|
+
|
|
|
+ ORDER BY sortOrder, `name`
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <sql id="timeCondition">
|
|
|
+ <choose>
|
|
|
+ <!-- type为null时,使用startTime和endTime -->
|
|
|
+ <when test="param.type == null">
|
|
|
+ a.create_time >= #{param.startTime}
|
|
|
+ AND a.create_time < DATE_ADD(#{param.endTime}, INTERVAL 1 DAY)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 1. 今天 -->
|
|
|
+ <when test="param.type == 1">
|
|
|
+ a.create_time >= CURDATE()
|
|
|
+ AND a.create_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 2. 昨天 -->
|
|
|
+ <when test="param.type == 2">
|
|
|
+ a.create_time >= DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
|
|
+ AND a.create_time < CURDATE()
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 3. 本周 -->
|
|
|
+ <when test="param.type == 3">
|
|
|
+ a.create_time >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
|
|
|
+ AND a.create_time < DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 4. 上周 -->
|
|
|
+ <when test="param.type == 4">
|
|
|
+ a.create_time >= DATE_SUB(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
|
|
|
+ AND a.create_time < DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 5. 本月 -->
|
|
|
+ <when test="param.type == 5">
|
|
|
+ a.create_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
|
|
|
+ AND a.create_time < DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 1 MONTH)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 6. 上月 -->
|
|
|
+ <when test="param.type == 6">
|
|
|
+ a.create_time >= DATE_SUB(DATE_FORMAT(CURDATE(), '%Y-%m-01'), INTERVAL 1 MONTH)
|
|
|
+ AND a.create_time < DATE_FORMAT(CURDATE(), '%Y-%m-01')
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 7. 本季度 -->
|
|
|
+ <when test="param.type == 7">
|
|
|
+ a.create_time >= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', QUARTER(CURDATE())*3-2, '-01'), '%Y-%m-%d')
|
|
|
+ AND a.create_time < DATE_ADD(STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', QUARTER(CURDATE())*3-2, '-01'), '%Y-%m-%d'), INTERVAL 3 MONTH)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 8. 上季度 -->
|
|
|
+ <when test="param.type == 8">
|
|
|
+ a.create_time >= DATE_SUB(STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', QUARTER(CURDATE())*3-2, '-01'), '%Y-%m-%d'), INTERVAL 3 MONTH)
|
|
|
+ AND a.create_time < STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', QUARTER(CURDATE())*3-2, '-01'), '%Y-%m-%d')
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 9. 本年 -->
|
|
|
+ <when test="param.type == 9">
|
|
|
+ a.create_time >= STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-01-01'), '%Y-%m-%d')
|
|
|
+ AND a.create_time < DATE_ADD(STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-01-01'), '%Y-%m-%d'), INTERVAL 1 YEAR)
|
|
|
+ </when>
|
|
|
+
|
|
|
+ <!-- 10. 去年 -->
|
|
|
+ <when test="param.type == 10">
|
|
|
+ a.create_time >= DATE_SUB(STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-01-01'), '%Y-%m-%d'), INTERVAL 1 YEAR)
|
|
|
+ AND a.create_time < STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-01-01'), '%Y-%m-%d')
|
|
|
+ </when>
|
|
|
+ </choose>
|
|
|
+ </sql>
|
|
|
|
|
|
|
|
|
</mapper>
|