From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 22 一月 2019 15:58:24 +0800
Subject: [PATCH] 邀请码添加返回状态

---
 fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml |  117 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 99 insertions(+), 18 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml
index a9d2647..0a056ed 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/UserInfoMapper.xml
@@ -216,11 +216,10 @@
 	<select id="query"  resultMap="BaseResultMap">
 	   	SELECT u.*
 	   	<if test="orderField != null and orderField != 5 and orderField != 6">
-	   	,(SELECT COUNT(hb.id) FROM `yeshi_ec_hongbao` hb 
-	   			WHERE hb.uid = u.id AND TYPE IN (1,2)
+	   	,(SELECT COUNT(hb.hb_id) FROM `yeshi_ec_hongbao_v2` hb 
+	   			WHERE hb.hb_uid = u.id AND (hb.hb_type = 1 or hb.hb_type = 2)
 	   		<if test="orderMode == 2">
-		    	<!-- AND  TO_DAYS(FROM_UNIXTIME(hb.`createtime`/1000)) = TO_DAYS(NOW()) -->
-		    	AND DATE_FORMAT( FROM_UNIXTIME(hb.`createtime`/1000), '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
+		    	AND DATE_FORMAT(hb.`hb_create_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m')
 	        </if>
 	   	)AS total
 	   	</if>
@@ -323,14 +322,13 @@
 	
 	
 	<select id="countNewUser" resultType="java.lang.Long">
-	   <!--  鑷喘璁㈠崟 -->
 	   	SELECT COALESCE(count(id),0) FROM `yeshi_ec_user` 
-	   	 WHERE 1 > 0
+	   	WHERE 1=1
    			 <if test="isToday != null and isToday == 1">
-		    	AND  TO_DAYS(FROM_UNIXTIME(createtime/1000)) = TO_DAYS(NOW())
+		    	AND TO_DAYS(FROM_UNIXTIME(createtime/1000)) = TO_DAYS(NOW())
 	        </if>
 	        <if test="isMonth != null and isMonth == 1">
-			    AND DATE_FORMAT( FROM_UNIXTIME(createtime/1000), '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
+			    AND DATE_FORMAT( FROM_UNIXTIME(createtime/1000), '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m' )
 		    </if>
 	</select>
 	
@@ -372,32 +370,38 @@
 	<select id="countLoseUser" resultType="java.lang.Long">
 		SELECT  COUNT(DISTINCT t.`id` ) FROM `yeshi_ec_user` t 
 		LEFT JOIN `yeshi_ec_user_money_detail` d ON d.`umd_uid` = t.`id` 
-		WHERE DATE_SUB(CURDATE(), INTERVAL ${num} DAY) > DATE(FROM_UNIXTIME( t.`last_logintime`/1000)) 
-    	 	  AND DATE_SUB(CURDATE(), INTERVAL ${num} DAY) > DATE(d.`umd_createtime`) 
+		WHERE DATE_SUB(CURDATE(), INTERVAL ${num} DAY)<![CDATA[> ]]> DATE(FROM_UNIXTIME( t.`last_logintime`/1000)) 
+    	 	  AND DATE_SUB(CURDATE(), INTERVAL ${num} DAY) <![CDATA[> ]]> DATE(d.`umd_createtime`)
 	</select>
 	
 	<select id="countHasOrderUser" resultType="java.lang.Long">
-		SELECT COUNT(DISTINCT h.`uid`) FROM yeshi_ec_hongbao h 
-		WHERE h.`type`=1 OR h.`type`=20
+		SELECT COUNT(DISTINCT h.`hb_uid`) FROM yeshi_ec_hongbao_v2 h 
+		WHERE (h.`hb_type`=1 or  h.`hb_type`=2 or h.`hb_type`= 20)
 	</select>
 	
 	
-	
 	<select id="countNewUserByDate" resultType="java.util.HashMap">
-		SELECT COUNT(h.`id`) AS total,
+		SELECT COUNT(DISTINCT h.`id`) AS showValue,
 			<if test="type == 1">
-			 	FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') AS 'createDate'
+			 	FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') AS 'showDate'
 			</if>
 			<if test="type == 2">
-			 	FROM_UNIXTIME(h.`createtime`/1000,'%m') AS 'createDate'
+			 	FROM_UNIXTIME(h.`createtime`/1000,'%m') AS 'showDate'
 			</if>
 			<if test="type == 3">
-			 	FROM_UNIXTIME(h.`createtime`/1000,'%Y') AS 'createDate'
+			 	FROM_UNIXTIME(h.`createtime`/1000,'%Y') AS 'showDate'
 			</if>
 		FROM yeshi_ec_user h 
+			<if test="channel != null and  channel != 'all' ">
+				left join (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active`  a 
+		    	WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`)a ON h.`id`=a.uid 
+		    </if>
 		WHERE 1=1
+			<if test="channel != null and  channel != 'all' ">
+				AND a.uid is not null
+			</if>
 			<if test="startTime != null and startTime != '' ">
-		 	AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
+		 		AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
 			</if>
 			<if test="endTime != null and endTime != '' ">
 			 	AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}'
@@ -416,4 +420,81 @@
 		</if>		
 		ORDER BY h.`createtime`
 	</select>
+	
+	<select id="getTodayHasOrder" resultType="java.util.HashMap">
+		SELECT COALESCE(COUNT(DISTINCT u.`id`),0) AS 'showValue', 
+			<if test="type == 1">
+			 	FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'showDate'
+			</if>
+			<if test="type == 2">
+			 	FROM_UNIXTIME(u.`createtime`/1000,'%m') AS 'showDate'
+			</if>
+			<if test="type == 3">
+			 	FROM_UNIXTIME(u.`createtime`/1000,'%Y') AS 'showDate'
+			</if>
+		
+		FROM  yeshi_ec_user u 	
+		<if test="channel != null and channel != 'all' ">
+			LEFT JOIN  (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active`  a 
+			    WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a ON u.`id`=a.uid
+		</if>
+		LEFT JOIN `yeshi_ec_hongbao_v2` h ON h.`hb_uid`= u.`id`
+		WHERE (h.`hb_type`=1 OR h.`hb_type`=20) 
+			<if test="channel != null and  channel != 'all' ">
+				AND a.uid is not null
+			</if>
+			<!-- 褰撴棩涓嬪崟 -->
+			AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') = DATE_FORMAT(h.hb_create_time,'%Y-%m-%d')
+			
+			<if test="startTime != null and startTime != '' ">
+		 		AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
+			</if>
+			<if test="endTime != null and endTime != '' ">
+			 	AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}'
+			</if>
+			<if test="years != null and years != '' ">
+			 	AND FROM_UNIXTIME(u.`createtime`/1000,'%Y') = '${years}'
+			</if>
+		<if test="type == 1">
+			GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') 
+		</if>
+		<if test="type == 2">
+		 	GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m') 
+		</if>
+		<if test="type == 3">
+		 	GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y') 
+		</if>		
+		ORDER BY u.`createtime`
+	</select>
+	
+	
+	
+	<select id="getWeekHasOrder" resultType="java.util.HashMap">
+		SELECT COUNT(DISTINCT hb.uid) AS showValue,FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'showDate'
+		FROM (SELECT COUNT(v2.`hb_id`) AS num,v2.hb_uid  AS uid
+              FROM yeshi_ec_hongbao_v2 v2
+              WHERE   (v2.`hb_type`=1 OR v2.`hb_type`=20) 
+             	 AND DATE_FORMAT(v2.`hb_create_time`,'%Y-%m-%d') <![CDATA[ >= ]]>'${startTime}'
+                 AND DATE_FORMAT(v2.`hb_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}'
+              GROUP BY v2.hb_uid HAVING num >= ${orderNum})hb
+		LEFT JOIN yeshi_ec_user u  ON u.id = hb.uid		
+		<if test="channel != null and channel != 'all' ">
+			LEFT JOIN  (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active`  a 
+			    WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a ON u.`id`=a.uid
+		</if>
+		WHERE FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') = '${startTime}'
+			<if test="channel != null and  channel != 'all' ">
+			   AND a.uid is not null
+			</if>
+			GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') 
+		ORDER BY u.`createtime`
+	</select>
+	
+	<select id="getInfoByPhoneOrInviteCode" resultMap="BaseResultMap">
+		SELECT * FROM yeshi_ec_user u 
+		LEFT JOIN yeshi_ec_user_info_extra uf ON uf.`uie_uid` = u.`id`
+		WHERE uf.`uie_invite_code` IS NOT NULL  
+			  AND (u.`phone` =#{phone} OR uf.`uie_invite_code` = #{inviteCode})
+		LIMIT 1
+	</select>
 </mapper>

--
Gitblit v1.8.0