|
|
@@ -152,7 +152,7 @@
|
|
|
END AS type_name,
|
|
|
coupon.`name`,
|
|
|
"1" AS buy_count,
|
|
|
- ROUND(userOrder.price / 100,2) AS buy_amount,
|
|
|
+ ROUND(userOrder.price ,2) AS buy_amount,
|
|
|
userOrder.buy_time AS buy_time,
|
|
|
userOrder.used_time AS used_time,
|
|
|
userOrder.refund_time AS refund_time,
|
|
|
@@ -170,7 +170,8 @@
|
|
|
WHEN 4 THEN
|
|
|
"已退款"
|
|
|
END AS status_name,
|
|
|
- userOrder.order_no
|
|
|
+ userOrder.order_no,
|
|
|
+ userOrder.coupon_type
|
|
|
FROM
|
|
|
life_user_order userOrder
|
|
|
LEFT JOIN life_coupon coupon ON coupon.id = userOrder.id
|
|
|
@@ -252,6 +253,7 @@
|
|
|
<if test="storeName != null and storeName != ''">
|
|
|
AND store.store_name LIKE CONCAT('%', #{storeName}, '%')
|
|
|
</if>
|
|
|
+ ORDER BY cash.created_time DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="getCashOutDetail" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
@@ -284,52 +286,35 @@
|
|
|
</select>
|
|
|
|
|
|
<select id="getPlatformNetProfit" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
- select IFNULL(ROUND(sum(all_data.platform_profit),2), 0) AS profit from
|
|
|
- (SELECT
|
|
|
- ROUND(SUM(final_price) * (IFNULL(store.commission_rate, 3)/100),2) AS platform_profit
|
|
|
- FROM
|
|
|
- life_user_order `order`
|
|
|
- LEFT JOIN store_info store ON store.id = `order`.store_id
|
|
|
- WHERE
|
|
|
- `status` = 2
|
|
|
+
|
|
|
+ select IFNULL(ROUND(sum(sidr.commission)/100,2), 0) AS profit
|
|
|
+ from store_income_details_record sidr
|
|
|
+ where 1=1
|
|
|
<if test="dataTime != null and dataTime != ''">
|
|
|
AND
|
|
|
- `order`.used_time > #{dataTime}
|
|
|
+ sidr.created_time > #{dataTime}
|
|
|
</if>
|
|
|
- GROUP BY
|
|
|
- store.id) all_data
|
|
|
</select>
|
|
|
<select id="getOrderQuantity" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
- SELECT
|
|
|
- IFNULL(COUNT( 1 ) ,0) AS count
|
|
|
- FROM
|
|
|
- life_user_order
|
|
|
- WHERE
|
|
|
- ( `status` in (1, 2)
|
|
|
- <if test="dataTime != null and dataTime != ''">
|
|
|
- AND
|
|
|
- buy_time > #{dataTime}
|
|
|
- </if>
|
|
|
- )
|
|
|
+ select count(*) count
|
|
|
+ from life_user_order luo
|
|
|
+ where luo.status in (1, 7)
|
|
|
+ <if test="dataTime != null and dataTime != ''">
|
|
|
+ and luo.pay_time > #{dataTime}
|
|
|
+ </if>
|
|
|
</select>
|
|
|
<select id="getTradingVolume" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
+ select IFNULL(ROUND(sum(all_data.profit_a), 2 ),0) profit from (
|
|
|
SELECT
|
|
|
- IFNULL(ROUND( sum( final_price ), 2 ),0) AS profit
|
|
|
+ IFNULL(ROUND(luo.final_price , 2 ),0) AS profit_a
|
|
|
FROM
|
|
|
- life_user_order
|
|
|
+ life_user_order luo
|
|
|
WHERE
|
|
|
- ( `status` = 2
|
|
|
- <if test="dataTime != null and dataTime != ''">
|
|
|
- AND
|
|
|
- used_time > #{dataTime}
|
|
|
- </if>
|
|
|
- )
|
|
|
- OR ( `status` = 1
|
|
|
+ luo.status in (1, 7)
|
|
|
<if test="dataTime != null and dataTime != ''">
|
|
|
- AND
|
|
|
- buy_time > #{dataTime}
|
|
|
+ and luo.pay_time > #{dataTime}
|
|
|
</if>
|
|
|
- )
|
|
|
+ ) all_data
|
|
|
</select>
|
|
|
<select id="getQueryNetProfitDay" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
-- 使用递归 CTE 生成 1 到 23 的小时序列
|
|
|
@@ -339,20 +324,23 @@
|
|
|
SELECT hour_num + 1
|
|
|
FROM hours
|
|
|
WHERE hour_num < 23
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ sidr.commission,
|
|
|
+ sidr.created_time
|
|
|
+ FROM store_income_details_record sidr where 1=1
|
|
|
+ <if test="dataTime != null and dataTime != ''">
|
|
|
+ AND sidr.created_time >= #{dataTime}
|
|
|
+ </if>
|
|
|
)
|
|
|
+
|
|
|
SELECT
|
|
|
concat(h.hour_num,":00") AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(o.final_price) * 0.04, 2), 0) AS profit
|
|
|
+ COALESCE(IFNULL(ROUND(sum(o.commission)/100,2), 0)) AS profit
|
|
|
FROM
|
|
|
hours h
|
|
|
- LEFT JOIN
|
|
|
- life_user_order o
|
|
|
- ON
|
|
|
- h.hour_num = HOUR(o.used_time)
|
|
|
- AND o.`status` = 1
|
|
|
- <if test="dataTime != null and dataTime != ''">
|
|
|
- AND o.used_time >= #{dataTime}
|
|
|
- </if>
|
|
|
+ LEFT JOIN order_data o ON h.hour_num = HOUR(o.created_time)
|
|
|
GROUP BY
|
|
|
h.hour_num
|
|
|
ORDER BY
|
|
|
@@ -365,17 +353,21 @@
|
|
|
SELECT hour_num + INTERVAL 1 DAY
|
|
|
FROM date_sequence
|
|
|
WHERE hour_num < DATE_SUB(#{dataTime}, INTERVAL WEEKDAY(#{dataTime}) DAY) + INTERVAL 6 DAY
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ sidr.commission,
|
|
|
+ sidr.created_time
|
|
|
+ FROM store_income_details_record sidr
|
|
|
)
|
|
|
SELECT
|
|
|
DATE_FORMAT(ds.hour_num, '%c-%d') AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(luo.final_price) * 0.04, 2), 0) AS profit
|
|
|
+ COALESCE(IFNULL(ROUND(sum(o.commission)/100,2), 0)) AS profit
|
|
|
FROM
|
|
|
date_sequence ds
|
|
|
- LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
- ON
|
|
|
- luo.used_time >= ds.hour_num AND luo.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 1
|
|
|
+ LEFT JOIN order_data o ON
|
|
|
+ o.created_time >= ds.hour_num
|
|
|
+ AND o.created_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
GROUP BY
|
|
|
ds.hour_num
|
|
|
ORDER BY
|
|
|
@@ -388,17 +380,20 @@
|
|
|
SELECT DATE_ADD(hour_num, INTERVAL 1 DAY)
|
|
|
FROM date_sequence
|
|
|
WHERE DATE_ADD(hour_num, INTERVAL 1 DAY) <= LAST_DAY(#{dataTime})
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ sidr.commission,
|
|
|
+ sidr.created_time
|
|
|
+ FROM store_income_details_record sidr
|
|
|
)
|
|
|
SELECT
|
|
|
DATE_FORMAT(ds.hour_num, '%c-%d') AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(luo.final_price) * 0.04, 2), 0) AS profit
|
|
|
+ COALESCE(IFNULL(ROUND(sum(o.commission)/100,2), 0)) AS profit
|
|
|
FROM
|
|
|
date_sequence ds
|
|
|
- LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
- ON
|
|
|
- luo.used_time >= ds.hour_num AND luo.used_time < DATE_ADD(ds.hour_num, INTERVAL 1 DAY)
|
|
|
- AND luo.`status` = 1
|
|
|
+ LEFT JOIN order_data o ON
|
|
|
+ o.created_time >= ds.hour_num AND o.created_time < DATE_ADD(ds.hour_num, INTERVAL 1 DAY)
|
|
|
GROUP BY
|
|
|
ds.hour_num
|
|
|
ORDER BY
|
|
|
@@ -411,18 +406,21 @@
|
|
|
SELECT hour_num + 1
|
|
|
FROM month_sequence
|
|
|
WHERE hour_num < 12
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ sidr.commission,
|
|
|
+ sidr.created_time
|
|
|
+ FROM store_income_details_record sidr
|
|
|
)
|
|
|
SELECT
|
|
|
CONCAT(ms.hour_num,'月') AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(luo.final_price) * 0.04, 2), 0) AS profit
|
|
|
+ COALESCE(IFNULL(ROUND(sum(o.commission)/100,2), 0)) AS profit
|
|
|
FROM
|
|
|
month_sequence ms
|
|
|
- LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
- ON
|
|
|
- MONTH(luo.used_time) = ms.hour_num
|
|
|
- AND YEAR(luo.used_time) = YEAR(#{dataTime})
|
|
|
- AND luo.`status` = 1
|
|
|
+ LEFT JOIN order_data o ON
|
|
|
+ MONTH(o.created_time) = ms.hour_num
|
|
|
+ AND YEAR(o.created_time) = YEAR(#{dataTime})
|
|
|
GROUP BY
|
|
|
ms.hour_num
|
|
|
ORDER BY
|
|
|
@@ -435,16 +433,28 @@
|
|
|
SELECT hour_num + 1
|
|
|
FROM hours
|
|
|
WHERE hour_num < 23
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
)
|
|
|
SELECT
|
|
|
concat(h.hour_num,":00") AS hour_num,
|
|
|
COALESCE(ROUND(SUM(o.final_price), 2), 0) AS profit
|
|
|
FROM
|
|
|
hours h
|
|
|
- LEFT JOIN
|
|
|
- life_user_order o
|
|
|
- ON ( h.hour_num = HOUR( o.used_time ) AND ( o.`status` = 1 AND o.used_time >= #{dataTime} ) )
|
|
|
- OR ( h.hour_num = HOUR( o.buy_time ) AND ( o.`status` = 0 AND o.buy_time >= #{dataTime} ) )
|
|
|
+ LEFT JOIN order_data o
|
|
|
+ ON ( h.hour_num = HOUR( o.used_time ) AND ( o.`status` = 2 AND o.used_time >= #{dataTime} ) )
|
|
|
+ OR ( h.hour_num = HOUR( o.pay_time ) AND ( o.`status` = 1 AND o.pay_time >= #{dataTime} ) )
|
|
|
GROUP BY
|
|
|
h.hour_num
|
|
|
ORDER BY
|
|
|
@@ -457,22 +467,35 @@
|
|
|
SELECT hour_num + INTERVAL 1 DAY
|
|
|
FROM date_sequence
|
|
|
WHERE hour_num < DATE_SUB(#{dataTime}, INTERVAL WEEKDAY(#{dataTime}) DAY) + INTERVAL 6 DAY
|
|
|
- )
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
+ )
|
|
|
SELECT
|
|
|
DATE_FORMAT(ds.hour_num, '%c-%d') AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(luo.final_price), 2), 0) AS profit
|
|
|
+ COALESCE(ROUND(SUM(o.final_price), 2), 0) AS profit
|
|
|
FROM
|
|
|
date_sequence ds
|
|
|
LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
+ order_data o
|
|
|
ON
|
|
|
- (luo.used_time >= ds.hour_num
|
|
|
- AND luo.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 1 )
|
|
|
+ (o.used_time >= ds.hour_num
|
|
|
+ AND o.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
+ AND o.`status` = 2 )
|
|
|
OR
|
|
|
- (luo.buy_time >= ds.hour_num
|
|
|
- AND luo.buy_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 0 )
|
|
|
+ (o.pay_time >= ds.hour_num
|
|
|
+ AND o.pay_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
+ AND o.`status` = 1 )
|
|
|
GROUP BY
|
|
|
ds.hour_num
|
|
|
ORDER BY
|
|
|
@@ -485,22 +508,35 @@
|
|
|
SELECT DATE_ADD(hour_num, INTERVAL 1 DAY)
|
|
|
FROM date_sequence
|
|
|
WHERE DATE_ADD(hour_num, INTERVAL 1 DAY) <= LAST_DAY(#{dataTime})
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
)
|
|
|
SELECT
|
|
|
DATE_FORMAT(ds.hour_num, '%c-%d') AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(luo.final_price), 2), 0) AS profit
|
|
|
+ COALESCE(ROUND(SUM(o.final_price), 2), 0) AS profit
|
|
|
FROM
|
|
|
date_sequence ds
|
|
|
- LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
+ LEFT JOIN
|
|
|
+ order_data o
|
|
|
ON
|
|
|
- (luo.used_time >= ds.hour_num
|
|
|
- AND luo.used_time < DATE_ADD( ds.hour_num, INTERVAL 1 DAY )
|
|
|
- AND luo.`status` = 1 )
|
|
|
+ (o.used_time >= ds.hour_num
|
|
|
+ AND o.used_time < DATE_ADD( ds.hour_num, INTERVAL 1 DAY )
|
|
|
+ AND o.`status` = 2 )
|
|
|
OR
|
|
|
- (luo.buy_time >= ds.hour_num
|
|
|
- AND luo.buy_time < DATE_ADD( ds.hour_num, INTERVAL 1 DAY )
|
|
|
- AND luo.`status` = 0 )
|
|
|
+ (o.pay_time >= ds.hour_num
|
|
|
+ AND o.pay_time < DATE_ADD( ds.hour_num, INTERVAL 1 DAY )
|
|
|
+ AND o.`status` = 1 )
|
|
|
GROUP BY
|
|
|
ds.hour_num
|
|
|
ORDER BY
|
|
|
@@ -513,22 +549,35 @@
|
|
|
SELECT hour_num + 1
|
|
|
FROM month_sequence
|
|
|
WHERE hour_num < 12
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
)
|
|
|
SELECT
|
|
|
CONCAT(ms.hour_num,'月') AS hour_num,
|
|
|
- COALESCE(ROUND(SUM(luo.final_price), 2), 0) AS profit
|
|
|
+ COALESCE(ROUND(SUM(o.final_price), 2), 0) AS profit
|
|
|
FROM
|
|
|
month_sequence ms
|
|
|
- LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
+ LEFT JOIN
|
|
|
+ order_data o
|
|
|
ON
|
|
|
- (MONTH( luo.used_time ) = ms.hour_num
|
|
|
- AND YEAR( luo.used_time ) = YEAR( #{dataTime} )
|
|
|
- AND luo.`status` = 1 )
|
|
|
+ (MONTH( o.used_time ) = ms.hour_num
|
|
|
+ AND YEAR( o.used_time ) = YEAR( #{dataTime} )
|
|
|
+ AND o.`status` = 1 )
|
|
|
OR
|
|
|
- (MONTH( luo.buy_time ) = ms.hour_num
|
|
|
- AND YEAR( luo.buy_time ) = YEAR( #{dataTime} )
|
|
|
- AND luo.`status` = 0 )
|
|
|
+ (MONTH( o.pay_time ) = ms.hour_num
|
|
|
+ AND YEAR( o.pay_time ) = YEAR( #{dataTime} )
|
|
|
+ AND o.`status` = 0 )
|
|
|
GROUP BY
|
|
|
ms.hour_num
|
|
|
ORDER BY
|
|
|
@@ -561,6 +610,19 @@
|
|
|
UNION ALL SELECT 21
|
|
|
UNION ALL SELECT 22
|
|
|
UNION ALL SELECT 23
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
)
|
|
|
-- 主查询,左连接小时序列和原查询结果
|
|
|
SELECT
|
|
|
@@ -570,21 +632,21 @@
|
|
|
hours h
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
- HOUR(CASE WHEN `status` = 1 THEN used_time ELSE buy_time END) AS hour_of_day,
|
|
|
+ HOUR(CASE WHEN oa.`status` = 1 THEN oa.used_time ELSE oa.pay_time END) AS hour_of_day,
|
|
|
COUNT(*) AS order_count
|
|
|
FROM
|
|
|
- life_user_order
|
|
|
+ order_data oa
|
|
|
WHERE
|
|
|
(
|
|
|
- `status` = 1
|
|
|
- AND used_time > #{dataTime}
|
|
|
+ oa.`status` = 2
|
|
|
+ AND oa.used_time > #{dataTime}
|
|
|
)
|
|
|
OR (
|
|
|
- `status` = 0
|
|
|
- AND buy_time > #{dataTime}
|
|
|
+ oa.`status` = 1
|
|
|
+ AND oa.pay_time > #{dataTime}
|
|
|
)
|
|
|
GROUP BY
|
|
|
- HOUR(CASE WHEN `status` = 1 THEN used_time ELSE buy_time END)
|
|
|
+ HOUR(CASE WHEN oa.`status` = 2 THEN oa.used_time ELSE oa.pay_time END)
|
|
|
) orders ON h.hour_of_day = orders.hour_of_day
|
|
|
ORDER BY
|
|
|
h.hour_of_day;
|
|
|
@@ -596,19 +658,32 @@
|
|
|
SELECT hour_num + INTERVAL 1 DAY
|
|
|
FROM date_sequence
|
|
|
WHERE hour_num < DATE_SUB(#{dataTime}, INTERVAL WEEKDAY(#{dataTime}) DAY) + INTERVAL 6 DAY
|
|
|
- )
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
+ )
|
|
|
SELECT
|
|
|
DATE_FORMAT(ds.hour_num, '%c-%d') AS hour_num,
|
|
|
- COALESCE(count(luo.id), 0) AS profit
|
|
|
+ COALESCE(count(o.id), 0) AS profit
|
|
|
FROM
|
|
|
date_sequence ds
|
|
|
LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
+ order_data o
|
|
|
ON
|
|
|
- (luo.used_time >= ds.hour_num AND luo.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 1) or
|
|
|
- (luo.buy_time >= ds.hour_num AND luo.buy_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 0)
|
|
|
+ (o.used_time >= ds.hour_num AND o.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
+ AND o.`status` = 2) or
|
|
|
+ (o.pay_time >= ds.hour_num AND o.pay_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
+ AND o.`status` = 1)
|
|
|
GROUP BY
|
|
|
ds.hour_num
|
|
|
ORDER BY
|
|
|
@@ -621,19 +696,32 @@
|
|
|
SELECT DATE_ADD(hour_num, INTERVAL 1 DAY)
|
|
|
FROM date_sequence
|
|
|
WHERE DATE_ADD(hour_num, INTERVAL 1 DAY) <= LAST_DAY(#{dataTime})
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
)
|
|
|
SELECT
|
|
|
DATE_FORMAT(ds.hour_num, '%c-%d') AS hour_num,
|
|
|
- COALESCE(count(luo.id), 0) AS profit
|
|
|
+ COALESCE(count(o.id), 0) AS profit
|
|
|
FROM
|
|
|
date_sequence ds
|
|
|
LEFT JOIN
|
|
|
- life_user_order luo
|
|
|
+ order_data o
|
|
|
ON
|
|
|
- (luo.used_time >= ds.hour_num AND luo.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 1) or
|
|
|
- (luo.buy_time >= ds.hour_num AND luo.buy_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
- AND luo.`status` = 0)
|
|
|
+ (o.used_time >= ds.hour_num AND o.used_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
+ AND o.`status` = 2) or
|
|
|
+ (o.pay_time >= ds.hour_num AND o.pay_time < ds.hour_num + INTERVAL 1 DAY
|
|
|
+ AND o.`status` = 1)
|
|
|
GROUP BY
|
|
|
ds.hour_num
|
|
|
ORDER BY
|
|
|
@@ -649,29 +737,42 @@
|
|
|
SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL
|
|
|
SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12
|
|
|
) seq
|
|
|
- )
|
|
|
+ ),
|
|
|
+ order_data AS (
|
|
|
+ SELECT
|
|
|
+ o.id,
|
|
|
+ si.commission_rate,
|
|
|
+ o.final_price,
|
|
|
+ ocm.used_time,
|
|
|
+ o.pay_time,
|
|
|
+ o.status
|
|
|
+ FROM life_user_order o
|
|
|
+ LEFT JOIN order_coupon_middle ocm ON ocm.order_id = o.id
|
|
|
+ LEFT JOIN store_info si ON si.id = o.store_id
|
|
|
+ WHERE o.delete_flag = 0
|
|
|
+ )
|
|
|
SELECT
|
|
|
- CONCAT(MONTH(STR_TO_DATE(m.MONTH, '%Y-%m')),'月') AS hour_num,
|
|
|
+ m.MONTH AS hour_num,
|
|
|
COALESCE(orders.order_count, 0) AS profit
|
|
|
FROM
|
|
|
months m
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
- DATE_FORMAT(CASE WHEN `status` = 1 THEN used_time ELSE buy_time END, '%Y-%m') AS month,
|
|
|
+ DATE_FORMAT(CASE WHEN oa.`status` = 1 THEN oa.used_time ELSE oa.pay_time END, '%Y-%m') AS month,
|
|
|
COUNT(*) AS order_count
|
|
|
FROM
|
|
|
- life_user_order
|
|
|
+ order_data oa
|
|
|
WHERE
|
|
|
(
|
|
|
- `status` = 1
|
|
|
- AND used_time > #{dataTime}
|
|
|
+ oa.`status` = 2
|
|
|
+ AND oa.used_time > #{dataTime}
|
|
|
)
|
|
|
OR (
|
|
|
- `status` = 0
|
|
|
- AND buy_time > #{dataTime}
|
|
|
+ oa.`status` = 1
|
|
|
+ AND pay_time > #{dataTime}
|
|
|
)
|
|
|
GROUP BY
|
|
|
- DATE_FORMAT(CASE WHEN `status` = 1 THEN used_time ELSE buy_time END, '%Y-%m')
|
|
|
+ DATE_FORMAT(CASE WHEN `status` = 2 THEN used_time ELSE pay_time END, '%Y-%m')
|
|
|
) orders ON m.month = orders.month
|
|
|
ORDER BY
|
|
|
m.month;
|
|
|
@@ -689,15 +790,15 @@
|
|
|
FROM
|
|
|
life_user_order
|
|
|
WHERE
|
|
|
- ( `status` = 1 AND used_time >= #{startTime} AND used_time < #{endTime})
|
|
|
- OR ( `status` = 0 AND buy_time >= #{startTime} AND buy_time < #{endTime})
|
|
|
+ ( `status` = 7 AND finish_time >= #{startTime} AND finish_time < #{endTime})
|
|
|
+ OR ( `status` = 1 AND pay_time >= #{startTime} AND pay_time < #{endTime})
|
|
|
GROUP BY
|
|
|
store_id
|
|
|
LIMIT 10
|
|
|
) statistic
|
|
|
LEFT JOIN store_info store ON store.id = statistic.store_id
|
|
|
ORDER BY
|
|
|
- profit DESC
|
|
|
+ profit DESC limit 10
|
|
|
</select>
|
|
|
<select id="getStorePlatformProfitDetails" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
SELECT
|
|
|
@@ -712,10 +813,10 @@
|
|
|
WHERE
|
|
|
`status` = 2
|
|
|
<if test="startTime != null and startTime != ''" >
|
|
|
- AND used_time > #{startTime}
|
|
|
+ AND `order`.updated_time > #{startTime}
|
|
|
</if>
|
|
|
<if test="endTime != null and endTime != ''" >
|
|
|
- AND used_time < #{endTime}
|
|
|
+ AND `order`.updated_time < #{endTime}
|
|
|
</if>
|
|
|
<if test="storeId != null and storeId != ''" >
|
|
|
AND store_id like concat('%',#{storeId},'%')
|
|
|
@@ -745,9 +846,9 @@
|
|
|
FROM
|
|
|
life_user_order `order`
|
|
|
WHERE
|
|
|
- delete_flag = 0
|
|
|
+ 1=1
|
|
|
<if test="dataTime != null and dataTime != ''">
|
|
|
- AND buy_time > #{dataTime}
|
|
|
+ AND created_time > #{dataTime}
|
|
|
</if>
|
|
|
</select>
|
|
|
<select id="getStorePlatformOrderVolume" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
@@ -809,8 +910,8 @@
|
|
|
AND store.store_name like concat('%',#{storeName},'%')
|
|
|
</if>
|
|
|
</where>
|
|
|
- ORDER BY
|
|
|
- `order`.created_time DESC
|
|
|
+ GROUP by `order`.`id`
|
|
|
+ ORDER BY `order`.created_time DESC
|
|
|
</select>
|
|
|
<select id="getRefundAmount" resultType="shop.alien.entity.store.vo.ManagementInfoVo">
|
|
|
SELECT
|
|
|
@@ -818,7 +919,7 @@
|
|
|
FROM
|
|
|
life_user_order `order`
|
|
|
WHERE
|
|
|
- `status` = 4
|
|
|
+ `status` = 5
|
|
|
<if test="dataTime != null and dataTime != ''" >
|
|
|
AND `order`.refund_time > #{dataTime}
|
|
|
</if>
|