From a9129b96fa14c77df166f367be1d8220c8f9d0b7 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期六, 19 一月 2019 15:14:04 +0800
Subject: [PATCH] 用户等级+用户设置

---
 fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml |   98 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 98 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
index 2b17bff..94d3f58 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
@@ -55,4 +55,102 @@
 		ORDER BY t.`co_create_time`
 	</select>
 	
+	
+	<select id="countOrderNumberBySettleTime" resultType="java.util.HashMap">
+		<!-- 缁熻鍘嗗彶璁㈠崟鏁伴噺  鏍规嵁缁撶畻鏃堕棿 -->
+		SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite
+		FROM ( 
+			<!-- 杩斿埄璁㈠崟 -->
+			SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite
+			FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho 
+				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 yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
+			WHERE hb.hb_id IS NOT NULL 
+		 		<if test="state != null"> 
+					AND co.`co_state` = ${state} 
+				</if>
+				
+				<if test="day != null and day == 1"> <!-- 浠婂ぉ -->
+					AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
+				</if>
+				<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+					AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1
+				</if>
+				<if test="day != null and day == 3">  <!-- 鏈湀 -->
+					AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
+					DATE_FORMAT(CURDATE(),'%Y%m')
+				</if>
+				<if test="day != null and day == 4">  <!-- 涓婃湀 -->
+					AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
+					DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
+				</if>
+			GROUP BY co.`co_order_no`, co.`co_source_type`)YX
+			
+			UNION ALL
+			<!-- 鍒嗕韩璁㈠崟 -->
+			SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite
+			FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho 
+					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 yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
+				WHERE hb.hb_id IS NOT NULL
+					<if test="state != null"> 
+						AND co.`co_state` = ${state} 
+					</if>
+					
+					<if test="day != null and day == 1"> <!-- 浠婂ぉ -->
+						AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
+					</if>
+					<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+						AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
+					</if>
+					<if test="day != null and day == 3">  <!-- 鏈湀 -->
+						AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
+						DATE_FORMAT(CURDATE(),'%Y%m')
+					</if>
+					<if test="day != null and day == 4">  <!-- 涓婃湀 -->
+						AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
+						DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
+					</if>
+				GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
+				
+			UNION ALL
+			<!-- 閭�璇疯鍗� -->
+			SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite 
+			FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho 	
+				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  hbp.hb_id IS NOT NULL 
+					<if test="state != null"> 
+						AND co.`co_state` = ${state} 
+					</if>
+					<if test="day != null and day == 1"> <!-- 浠婂ぉ -->
+						AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
+					</if>
+					<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+						AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
+					</if>
+					<if test="day != null and day == 3">  <!-- 鏈湀 -->
+						AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
+						DATE_FORMAT(CURDATE(),'%Y%m')
+					</if>
+					<if test="day != null and day == 4">  <!-- 涓婃湀 -->
+						AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
+						DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
+					</if>
+				GROUP BY co.`co_order_no`, co.`co_source_type`)SX
+		)A
+	</select>
+	
 </mapper>

--
Gitblit v1.8.0