From 92c681fabac989d1a9f16fa13202d7f5ccac52d9 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 14 一月 2019 10:22:22 +0800 Subject: [PATCH] 订单优化 + 后台提现曲线图 --- fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml | 173 ++++++++++++++++++--------------------------------------- 1 files changed, 55 insertions(+), 118 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml index 0fcc883..ee95068 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml @@ -303,11 +303,11 @@ <select id="listUserOrder" resultMap="ResultMap"> <!-- 鏌ヨ鐢ㄦ埛璁㈠崟 --> - SELECT COALESCE(SUM(IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`)),0)AS totalMoney, - IF(hb.hb_id IS NULL,hbp.`hb_state`,hb.hb_state) AS hongBaoState, - IF(hb.hb_id IS NULL,hbp.`hb_type`,hb.`hb_type`) AS hongBaoType, - IF(hb.hb_id IS NULL,hbp.`hb_get_time`,hb.`hb_get_time`) AS accountTime, - IF(hb.hb_id IS NULL,hbp.`hb_pre_get_time`,hb.`hb_pre_get_time`) AS preAccountTime, + SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalMoney, + hb.hb_state AS hongBaoState, + hb.`hb_type` AS hongBaoType, + hb.`hb_get_time` AS accountTime, + hb.`hb_pre_get_time`AS preAccountTime, co.* FROM yeshi_ec_hongbao_order ho @@ -315,16 +315,9 @@ WHERE v2.`hb_uid`= #{uid} <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hb ON hb.hb_id=ho.`ho_hongbao_id` - - LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= #{uid} - <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> - <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hbp ON hbp.hb_pid=ho.`ho_hongbao_id` - + )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <include refid="SELECT_PARAM_ORDER_STATE"/> <!-- 璁㈠崟鐘舵�� --> <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/> <!-- 璁㈠崟鏃堕棿 --> <if test="orderNo != null and orderNo !='' "> @@ -343,16 +336,10 @@ WHERE v2.`hb_uid`= #{uid} <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hb ON hb.hb_id=ho.`ho_hongbao_id` - - LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= #{uid} - <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> - <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <include refid="SELECT_PARAM_ORDER_STATE"/> <!-- 璁㈠崟鐘舵�� --> <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/> <!-- 璁㈠崟鏃堕棿 --> <if test="orderNo != null and orderNo !='' "> @@ -388,13 +375,9 @@ LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2) - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2) - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + ) hb ON hb.hb_id=ho.`ho_hongbao_id` <!-- 鑷喘璁㈠崟 --> LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <if test="day != null and day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) </if> @@ -418,13 +401,10 @@ LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + ) hb ON hb.hb_id=ho.`ho_hongbao_id` <!-- 鍒嗕韩璁㈠崟 --> + LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <if test="day != null and day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) </if> @@ -450,15 +430,9 @@ WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7 OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= ${uid} - AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7 - OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hbp.hb_id IS NOT NULL <if test="day != null and day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) </if> @@ -487,14 +461,10 @@ LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + ) hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <![CDATA[AND co.`co_state` <> 3]]> AND (co.`co_state_whole_order` =1 OR co.`co_state_whole_order` = 2) <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> @@ -507,13 +477,9 @@ LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + ) hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL AND co.`co_state` = 3 <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> GROUP BY co.`co_order_no`, co.`co_source_type`)WQ @@ -525,13 +491,9 @@ LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + ) hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL AND co.`co_state_whole_order` = 3 <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> GROUP BY co.`co_order_no`, co.`co_source_type`)SX @@ -547,15 +509,9 @@ LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` - + ) hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> GROUP BY co.`co_order_no`, co.`co_source_type` )A @@ -563,20 +519,15 @@ <select id="countBonusOrderMoney" resultType="java.math.BigDecimal"> <!-- 濂栭噾缁熻锛氳鍗曟�昏繑鍒╅噾棰� 鍘绘帀宸插け鏁� --> - SELECT COALESCE(SUM(IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`)),0)AS totalmoney + SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalmoney FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3) - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3) - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + ) hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> <if test="day != null and day == 4"> AND co.`co_state` = 2 <!-- 涓婃湀 :缁熻宸叉敹璐� --> @@ -584,36 +535,35 @@ </select> <select id="countBonusOrderMoneyAndNumber" resultType="java.util.HashMap"> - <!-- 濂栭噾缁熻鏈夋晥璁㈠崟锛氳鍗曟�婚噾棰� / 鎬昏鍗曟暟 --> - SELECT COUNT(ho.`ho_id`) AS totalNum, - CAST(SUM(IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`))AS DECIMAL(19,2)) AS totalmoney - FROM yeshi_ec_hongbao_order ho - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3) - ) hb ON hb.hb_id=ho.`ho_hongbao_id` - LEFT JOIN ( - SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> - AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3) - ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` - LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) - <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> - <if test="day != null and day == 4"> - AND co.`co_state` = 2 <!-- 涓婃湀 :缁熻宸叉敹璐� --> - </if> - GROUP BY co.`co_order_no`, co.`co_source_type` + SELECT COUNT(*) AS totalNum, CAST(SUM(moneys) AS DECIMAL(19,2)) AS totalmoney FROM + (SELECT CAST(SUM(hb.`hb_money`) AS DECIMAL(19,2))AS moneys + FROM yeshi_ec_hongbao_order ho + LEFT JOIN ( + SELECT * FROM yeshi_ec_hongbao_v2 v2 + WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" /> + AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3) + ) hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` + + LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` + WHERE hb.hb_id IS NOT NULL + <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> + <if test="day == null"> + AND <![CDATA[co.`co_state` <> 2]]> <!-- 缁熻鏈夋晥鐨� --> + </if> + <if test="day != null and day == 4"> + AND co.`co_state` = 2 <!-- 涓婃湀 :缁熻宸叉敹璐� --> + </if> + GROUP BY co.`co_order_no`, co.`co_source_type` + )A </select> <select id="listQueryByUid" resultMap="ResultMap"> <!-- 鏌ヨ鐢ㄦ埛璁㈠崟 --> - SELECT IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`) AS totalMoney, - IF(hb.hb_id IS NULL,hbp.`hb_state`,hb.hb_state) AS hongBaoState, - IF(hb.hb_id IS NULL,hbp.`hb_type`,hb.`hb_type`) AS hongBaoType, - IF(hb.hb_id IS NULL,hbp.`hb_get_time`,hb.`hb_get_time`) AS accountTime, - IF(hb.hb_id IS NULL,hbp.`hb_pre_get_time`,hb.`hb_pre_get_time`) AS preAccountTime, + SELECT hb.`hb_money` AS totalMoney, + hb.hb_state AS hongBaoState, + hb.`hb_type` AS hongBaoType, + hb.`hb_get_time` AS accountTime, + hb.`hb_pre_get_time` AS preAccountTime, co.*,cog.* FROM yeshi_ec_hongbao_order ho @@ -621,17 +571,10 @@ WHERE v2.`hb_uid`= #{uid} <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hb ON hb.hb_id=ho.`ho_hongbao_id` - - LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= #{uid} - <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> - <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hbp ON hbp.hb_pid=ho.`ho_hongbao_id` - + )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <include refid="SELECT_PARAM_ORDER_STATE"/> <!-- 璁㈠崟鐘舵�� --> <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/> <!-- 璁㈠崟鏃堕棿 --> <if test="orderNo != null and orderNo !='' "> @@ -649,16 +592,10 @@ WHERE v2.`hb_uid`= #{uid} <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hb ON hb.hb_id=ho.`ho_hongbao_id` - - LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 - WHERE v2.`hb_uid`= #{uid} - <include refid="SELECT_PARAM_HONGBAO_TYPE"/> <!-- 绾㈠寘绫诲瀷 --> - <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� --> - )hbp ON hbp.hb_pid=ho.`ho_hongbao_id` + )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` - WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL) + WHERE hb.hb_id IS NOT NULL <include refid="SELECT_PARAM_ORDER_STATE"/> <!-- 璁㈠崟鐘舵�� --> <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/> <!-- 璁㈠崟鏃堕棿 --> <if test="orderNo != null and orderNo !='' "> -- Gitblit v1.8.0