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/ExtractMapper.xml |  202 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 129 insertions(+), 73 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml
index 9fd5dd4..ecf405a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/ExtractMapper.xml
@@ -5,6 +5,8 @@
 		<id column="id" property="id" jdbcType="BIGINT" />
 		<result column="account" property="account" jdbcType="VARCHAR" />
 		<result column="extractTime" property="extractTime" jdbcType="BIGINT" />
+		<result column="receiveTime" property="receiveTime" jdbcType="TIMESTAMP" />
+		
 		<result column="ip" property="ip" jdbcType="VARCHAR" />
 		<result column="money" property="money" jdbcType="DECIMAL" />
 		<result column="name" property="name" jdbcType="VARCHAR" />
@@ -12,7 +14,7 @@
 		<result column="state" property="state" jdbcType="INTEGER" />
 		<result column="type" property="type" jdbcType="INTEGER" />
 		<result column="adminId" property="adminId" jdbcType="BIGINT" />
-		
+
 		<association property="userInfo" column="uid"
 			select="com.yeshi.fanli.dao.mybatis.UserInfoMapper.selectByPKey">
 		</association>
@@ -20,10 +22,10 @@
 		<association property="system" column="sid"
 			select="com.yeshi.fanli.dao.mybatis.SystemMapper.selectByPrimaryKey">
 		</association>
-		
+
 	</resultMap>
 	<sql id="Base_Column_List">
-		id,account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId
+		id,account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId,receiveTime
 	</sql>
 	<select id="selectByPrimaryKey" resultMap="BaseResultMap"
 		parameterType="java.lang.Long">
@@ -32,7 +34,7 @@
 		from yeshi_ec_extract
 		where id = #{id,jdbcType=BIGINT}
 	</select>
-	
+
 	<select id="selectByPrimaryKeyForUpdate" resultMap="BaseResultMap"
 		parameterType="java.lang.Long">
 		select
@@ -40,9 +42,9 @@
 		from yeshi_ec_extract
 		where id = #{id,jdbcType=BIGINT} for update
 	</select>
-	
-	
-	
+
+
+
 
 	<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
 		delete from
@@ -52,7 +54,7 @@
 	<insert id="insert" parameterType="com.yeshi.fanli.entity.bus.user.Extract"
 		useGeneratedKeys="true" keyProperty="id">
 		insert into yeshi_ec_extract (id,
-		account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId)
+		account,extractTime,ip,money,name,reason,state,type,uid,sid,adminId,receiveTime)
 		values
 		(#{id,jdbcType=BIGINT},
 		#{account,jdbcType=VARCHAR},
@@ -65,7 +67,8 @@
 		#{type,jdbcType=INTEGER},
 		#{userInfo.id,jdbcType=BIGINT},
 		#{system.id,jdbcType=BIGINT}
-		#{adminId,jdbcType=BIGINT}
+		#{adminId,jdbcType=BIGINT},
+		#{receiveTime,jdbcType=TIMESTAMP}
 		)
 	</insert>
 	<insert id="insertSelective" parameterType="com.yeshi.fanli.entity.bus.user.Extract"
@@ -111,6 +114,14 @@
 				adminId,
 			</if>
 			
+			<if test="receiveTime != null">
+				receiveTime,
+			</if>
+			
+			
+			
+			
+
 		</trim>
 		<trim prefix="values (" suffix=")" suffixOverrides=",">
 			<if test="id != null">
@@ -149,6 +160,12 @@
 			<if test="system != null">
 				#{adminId,jdbcType=BIGINT},
 			</if>
+			
+			<if test="receiveTime != null">
+				#{receiveTime,jdbcType=TIMESTAMP},
+			</if>
+			
+			
 		</trim>
 	</insert>
 	<update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.bus.user.Extract">
@@ -194,6 +211,12 @@
 			<if test="system != null">
 				adminId = #{adminId,jdbcType=BIGINT},
 			</if>
+			
+			<if test="receiveTime != null">
+				#{receiveTime,jdbcType=TIMESTAMP},
+			</if>
+			
+			
 		</set>
 		where id = #{id,jdbcType=BIGINT}
 	</update>
@@ -222,96 +245,129 @@
 		=#{adminId,jdbcType=BIGINT},
 		sid
 		=
-		#{system.id,jdbcType=BIGINT}
+		#{system.id,jdbcType=BIGINT},
+		receiveTime
+		=#{receiveTime,jdbcType=TIMESTAMP}
 		where id =
 		#{id,jdbcType=BIGINT}
 	</update>
-	
+
 	<select id="checkExtract" resultType="java.lang.Integer">
-	<![CDATA[
- 		select ABS(ttt.totalmoney-ttt.hbmoney)<0.001
- 	]]> 
- 		 from
-		(select u.my_hongBao,s.uid AS uid,s.money AS hbmoney,IF(ss.money IS NOT NULL,ss.money,0) + u.my_hongBao+IF( dd.`money` IS NOT NULL,dd.money,0)  AS totalmoney  FROM yeshi_ec_user u 
-		left join  (select h.uid,SUM(h.money) AS money FROM yeshi_ec_hongbao h  WHERE  h.state=3  AND h.uid = #{uid,jdbcType=BIGINT}  GROUP BY h.uid)s  ON u.id=s.uid  
-		left join  (SELECT  SUM(t.`money`)AS money,t.uid FROM yeshi_ec_extract t WHERE (t.state=0 OR t.state=1) AND t.`uid`= #{uid,jdbcType=BIGINT}  GROUP BY t.uid)ss ON ss.uid=u.id
-    	LEFT JOIN  (SELECT  ABS (SUM(d.money)) AS money,d.`uid` FROM yeshi_ec_account_details d WHERE d.type=10 OR d.type=9 GROUP BY d.`uid`)  dd ON dd.uid=u.`id`
-    	where s.uid IS NOT NULL AND s.money!= u.my_hongbao)ttt 
-    	left join yeshi_ec_user u ON ttt.uid=u.`id` WHERE ttt.hbmoney!=ttt.totalmoney
-		
+    	<![CDATA[
+    	 SELECT ABS(ttt.totalmoney-ttt.hbmoney)<0.001
+    	 ]]>
+		FROM
+		(
+		SELECT u.my_hongBao,s.uid AS uid,s.money AS hbmoney,IF(ss.money IS NOT
+		NULL,ss.money,0) + u.my_hongBao+IF( dd.`money` IS NOT NULL,dd.money,0)
+		+IF( cc.`money` IS NOT NULL,cc.money,0) AS totalmoney FROM
+		yeshi_ec_user u
+		LEFT JOIN (SELECT h.hb_uid as uid,SUM(h.hb_money) AS money FROM yeshi_ec_hongbao_v2 h
+		WHERE h.hb_state=3 AND h.hb_uid = #{uid,jdbcType=BIGINT} GROUP BY h.hb_uid)s ON
+		u.id=s.uid
+		LEFT JOIN (SELECT SUM(t.`money`)AS money,t.uid FROM yeshi_ec_extract t
+		WHERE (t.state=0 OR t.state=1) AND t.`uid`=#{uid,jdbcType=BIGINT}
+		GROUP BY t.uid)ss ON ss.uid=u.id
+		LEFT JOIN (SELECT ABS (SUM(d.money)) AS money,d.`uid` FROM
+		yeshi_ec_account_details d WHERE (d.type=10 OR d.type=9 ) AND d.uid=
+		#{uid,jdbcType=BIGINT} GROUP BY d.`uid`) dd ON dd.uid=u.`id`
+		LEFT JOIN (SELECT SUM(c.ecc_money) AS money,c.`ecc_uid` AS uid FROM
+		`yeshi_ec_extract_check_compensate` c WHERE
+		c.ecc_uid=#{uid,jdbcType=BIGINT} GROUP BY c.ecc_uid) cc ON
+		cc.uid=u.`id`
+		WHERE s.uid IS NOT NULL AND s.money!= u.my_hongbao) ttt
+		LEFT JOIN yeshi_ec_user u ON ttt.uid=u.`id` WHERE
+		ttt.hbmoney!=ttt.totalmoney
 	</select>
-	
+
 	<select id="getTodayCount" resultType="java.util.HashMap">
-		 SELECT IFNULL(COUNT(et.id), 0)AS total,IFNULL(SUM(CASE WHEN et.state = 1 THEN 1 ELSE 0 END),0) AS succeed,IFNULL(SUM(CASE WHEN et.state = 2 THEN 1 ELSE 0 END),0) AS fails
-		 FROM yeshi_ec_extract et  WHERE  (et.state=1 OR et.state= 2) AND 
-		 <![CDATA[
-			 FROM_UNIXTIME(et.extractTime/1000) >=CURDATE();
-		 ]]> 	
+		SELECT IFNULL(COUNT(et.id), 0)AS total,IFNULL(SUM(CASE WHEN et.state =
+		1 THEN 1 ELSE 0 END),0) AS succeed,IFNULL(SUM(CASE WHEN et.state = 2
+		THEN 1 ELSE 0 END),0) AS fails
+		FROM yeshi_ec_extract et
+		LEFT JOIN `yeshi_ec_extract_audit_record` ar ON ar.`extractId` = et.`id`
+		WHERE  ar.`id` IS NOT NULL 
+			   AND FROM_UNIXTIME(ar.`auditTime`/1000,'%y%m%d') = CURDATE()
 	</select>
-	
+
 	<select id="getTodayTotalSuccessMoney" resultType="java.math.BigDecimal">
-		 SELECT  IFNULL(ROUND(SUM(money),2) ,0) AS moneys 
-		  FROM yeshi_ec_extract et  WHERE  et.state=1  AND 
-		  <![CDATA[
-			 FROM_UNIXTIME(et.extractTime/1000) >=CURDATE();
-		 ]]> 
+		SELECT IFNULL(ROUND(SUM(money),2) ,0) AS moneys
+		FROM yeshi_ec_extract et 
+		LEFT JOIN `yeshi_ec_extract_audit_record` ar ON ar.`extractId` = et.`id`
+		WHERE et.state=1 AND  ar.`id` IS NOT NULL 
+			AND FROM_UNIXTIME(ar.`auditTime`/1000,'%y%m%d') = CURDATE()
 	</select>
-	
+
 	<select id="countTotalSuccess" resultType="java.util.HashMap">
 		<!-- 鎻愮幇鎴愬姛 娆℃暟銆佹�婚噾棰� -->
-		SELECT IFNULL(ROUND(SUM(money),2),0) AS totalmoney,
-			IFNULL(COUNT(et.id),0) AS totalamount FROM yeshi_ec_extract et  WHERE  et.state=1
+		SELECT CAST(SUM(et.money)AS DECIMAL(19,2)) AS totalmoney,
+		IFNULL(COUNT(et.id),0) AS totalamount FROM yeshi_ec_extract et 
+		WHERE et.state=1
 	</select>
-	
 
-   <select id="getMyTaskInfo" resultMap="BaseResultMap">
-	    SELECT <include refid="Base_Column_List" /> FROM yeshi_ec_extract  
-	    WHERE adminId = ${adminId} and state=0 	ORDER BY extractTime  LIMIT 0,1
-   </select>
-	
+
+	<select id="getMyTaskInfo" resultMap="BaseResultMap">
+		SELECT
+		<include refid="Base_Column_List" />
+		FROM yeshi_ec_extract
+		WHERE adminId = ${adminId} and state=0 ORDER BY extractTime LIMIT 0,1
+	</select>
+
 	<select id="getNewTaskInfo" resultMap="BaseResultMap">
-	    SELECT <include refid="Base_Column_List" /> FROM yeshi_ec_extract  
-	    WHERE  state=0	ORDER BY extractTime  LIMIT 0,1
-   </select>
-   
-	
+		SELECT
+		<include refid="Base_Column_List" />
+		FROM yeshi_ec_extract
+		WHERE state=0 ORDER BY extractTime LIMIT 0,1
+	</select>
+
+
 	<select id="countRecordsByUid" resultType="java.util.HashMap">
-	   SELECT IFNULL(COUNT(et.id), 0) AS totalamount,IFNULL(SUM(CASE WHEN et.state = 1 THEN 1 ELSE 0 END),0) AS succeed,
-	   		IFNULL(SUM(CASE WHEN et.state = 2 THEN 1 ELSE 0 END),0) AS fail
-		FROM yeshi_ec_extract et  WHERE  (et.state=1 OR et.state= 2)  AND et.uid = ${uid}
+		SELECT IFNULL(COUNT(et.id), 0) AS totalamount,IFNULL(SUM(CASE WHEN et.state
+		= 1 THEN 1 ELSE 0 END),0) AS succeed,
+		IFNULL(SUM(CASE WHEN et.state = 2 THEN 1 ELSE 0 END),0) AS fail
+		FROM yeshi_ec_extract
+		et WHERE (et.state=1 OR et.state= 2) AND et.uid = ${uid}
 	</select>
-	
- 	<select id="countSuccessMoneysByUid" resultType="java.lang.Double">
-	  SELECT  IFNULL(ROUND(SUM(et.money),2),0) AS moneys  FROM yeshi_ec_extract et  
-		 WHERE  et.state=1 AND et.uid = ${uid}
+
+	<select id="countSuccessMoneysByUid" resultType="java.lang.Double">
+		SELECT IFNULL(ROUND(SUM(et.money),2),0) AS moneys FROM yeshi_ec_extract et
+		WHERE et.state=1 AND et.uid = ${uid}
 	</select>
-	
+
 	<select id="countSuccessByUid" resultType="java.lang.Long">
-	  SELECT   COUNT(et.id)  FROM yeshi_ec_extract et  
-		 WHERE  et.state=1 AND et.uid = ${uid}
+		SELECT COUNT(et.id) FROM yeshi_ec_extract et
+		WHERE et.state=1 AND et.uid = ${uid}
 	</select>
-	
+
 	<select id="getFinishRecord" resultType="java.util.Map">
-    	SELECT ex.*,ar.*  FROM yeshi_ec_extract ex LEFT JOIN yeshi_ec_extract_audit_record ar ON ar.extractId=ex.id
-    		WHERE 
+		SELECT ex.*,ar.* FROM yeshi_ec_extract ex LEFT JOIN
+		yeshi_ec_extract_audit_record ar ON ar.extractId=ex.id
+		WHERE 
 	  <![CDATA[
 	    	FROM_UNIXTIME(ex.extractTime/1000)  >= #{startTime}
 	   		AND  FROM_UNIXTIME(ex.extractTime/1000) <= #{endTime} 
 	   ]]>
-	   <if test='key != null and key != ""'>
-	   		AND (ex.uid = #{key} OR ar.aid = #{key}) 
-	   	</if>
-		ORDER BY ex.extractTime DESC  LIMIT ${start},${count}
-   </select>
- 	
- 	<select id="countTodayApply" resultType="java.lang.Integer">
-		SELECT count(id)  FROM yeshi_ec_extract
- 		   WHERE  <![CDATA[ FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]> 
+		<if test='key != null and key != ""'>
+			AND (ex.uid = #{key} OR ar.aid = #{key})
+		</if>
+		ORDER BY ex.extractTime DESC LIMIT ${start},${count}
+	</select>
+
+	<select id="countTodayApply" resultType="java.lang.Integer">
+		SELECT count(id) FROM yeshi_ec_extract
+		WHERE  <![CDATA[ FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
+	</select>
+
+	<select id="countTodayComplete" resultType="java.lang.Integer">
+		SELECT count(id) FROM yeshi_ec_extract
+		WHERE (state=1 OR state= 2) <![CDATA[AND  FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]>
 	</select>
 	
-	<select id="countTodayComplete" resultType="java.lang.Integer">
-		SELECT count(id)  FROM yeshi_ec_extract
- 		   WHERE (state=1 OR state= 2) <![CDATA[AND  FROM_UNIXTIME(extractTime/1000) >=CURDATE() ]]> 
+	<select id="countTodayMoney" resultType="java.lang.Double">
+		SELECT IFNULL(SUM(t.`money`),0) FROM  yeshi_ec_extract t 
+		WHERE t.`uid` = #{uid} AND t.state = 1
+			AND <![CDATA[TO_DAYS( FROM_UNIXTIME(t.extractTime/1000)) = TO_DAYS(NOW())]]>
+
 	</select>
 	
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0