From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 09 六月 2020 17:34:30 +0800
Subject: [PATCH] 订单

---
 fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml |   95 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 83 insertions(+), 12 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml
index e94ec4f..5936161 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/user/UserSystemCouponMapper.xml
@@ -19,7 +19,24 @@
     	javaType="com.yeshi.fanli.entity.system.SystemCoupon">
 		<id column="usc_coupon_id" property="id" jdbcType="BIGINT" />	
     </association>
+  </resultMap>
+  
+  
+   <resultMap id="AllResultMap" type="com.yeshi.fanli.entity.bus.user.UserSystemCoupon">
+    <id column="usc_id" property="id" jdbcType="BIGINT"/>
+    <result column="usc_uid" property="uid" jdbcType="BIGINT"/>
+    <result column="usc_source" property="source" jdbcType="VARCHAR"/>
+    <result column="usc_give" property="give" jdbcType="VARCHAR"/>
+    <result column="usc_state" property="state" jdbcType="INTEGER"/>
+    <result column="usc_state_activate" property="stateActivated" jdbcType="INTEGER"/>
+    <result column="usc_start_time" property="startTime" jdbcType="TIMESTAMP"/>
+    <result column="usc_end_time" property="endTime" jdbcType="TIMESTAMP"/>
+    <result column="usc_use_time" property="useTime" jdbcType="TIMESTAMP"/>
+    <result column="usc_create_time" property="createTime" jdbcType="TIMESTAMP"/>
+    <result column="usc_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
 	
+	<association property="systemCoupon" column="usc_coupon_id" 
+			resultMap="com.yeshi.fanli.dao.mybatis.SystemCouponMapper.BaseResultMap"/>
   </resultMap>
   
    <resultMap id="ResultVOMap" type="com.yeshi.fanli.vo.user.UserSystemCouponVO">
@@ -113,6 +130,24 @@
 		 AND TO_DAYS(uc.`usc_create_time`) = TO_DAYS(NOW())
   </select>
   
+  
+  <select id="getCouponListOld" resultMap="ResultVOMap">
+    SELECT * FROM `yeshi_ec_user_system_coupon` uc
+	LEFT JOIN `yeshi_ec_system_coupon` c ON uc.`usc_coupon_id` = c.`sc_id`
+    WHERE uc.`usc_uid`= #{uid} AND DATEDIFF(NOW(), uc.`usc_end_time`)<![CDATA[<=]]> 30
+   			AND (uc.`usc_give` IS NULL OR  uc.`usc_give` = 0) AND c.`sc_type` NOT IN ('freeCoupon','freeCouponBuy','freeCouponGive')
+	ORDER BY uc.`usc_state`,uc.`usc_create_time` DESC
+	LIMIT #{start},#{count}
+  </select>
+  
+  <select id="countCouponOld" resultType="java.lang.Long">
+	SELECT IFNULL(count(uc.`usc_id`),0) FROM `yeshi_ec_user_system_coupon` uc
+	LEFT JOIN `yeshi_ec_system_coupon` c ON uc.`usc_coupon_id` = c.`sc_id`
+	WHERE uc.`usc_uid`= #{uid} AND DATEDIFF(NOW(), uc.`usc_end_time`)<![CDATA[<=]]> 30
+   			AND (uc.`usc_give` IS NULL OR  uc.`usc_give` = 0) AND c.`sc_type` NOT IN ('freeCoupon','freeCouponBuy','freeCouponGive')
+  </select>
+  
+  
   <select id="getUserCouponVOList" resultMap="ResultVOMap">
 	SELECT * FROM `yeshi_ec_user_system_coupon` uc
 	WHERE uc.`usc_uid`= #{uid} AND DATEDIFF(NOW(), uc.`usc_end_time`)<![CDATA[ <= ]]> 30
@@ -127,7 +162,7 @@
   
   <select id="getEnableListByCouponId" resultMap="ResultVOMap">
 	SELECT * FROM `yeshi_ec_user_system_coupon` uc
-	WHERE uc.`usc_uid`= #{uid} AND uc.usc_state = 1 
+	WHERE uc.`usc_uid`= #{uid} AND uc.usc_state = 1
 	    AND DATE_FORMAT(CURDATE(),'%Y%m%d') <![CDATA[ >= ]]>DATE_FORMAT(uc.`usc_start_time`,'%Y%m%d')
 		<if test="activated != null">AND uc.usc_state_activate = #{activated}</if>
 		AND uc.usc_coupon_id in
@@ -136,11 +171,37 @@
 	ORDER BY uc.usc_state_activate desc, uc.`usc_create_time`
   </select>
   
+  <select id="getValidByUidAndType" resultMap="ResultVOMap">
+ 	 SELECT * FROM `yeshi_ec_user_system_coupon` t
+	LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id`
+	WHERE t.usc_state = 1 AND t.usc_state_activate = 1 AND t.usc_uid = #{uid}
+		AND c.`sc_type`= #{type} AND t.`usc_end_time` <![CDATA[>]]> NOW() 
+  </select>
+  
+  
+  
+  <select id="countUsableByUid" resultType="java.lang.Long">
+  	SELECT IFNULL(count(cp.`usc_id`),0) FROM `yeshi_ec_user_system_coupon` cp
+	WHERE cp.`usc_state` = 1 AND cp.usc_state_activate = 1
+		  AND cp.`usc_end_time` <![CDATA[>]]> NOW() AND cp.`usc_uid`= #{uid}
+		  AND cp.usc_coupon_id in
+		<foreach collection="list" item="item" open="(" close=")"
+			separator=",">#{item}</foreach>
+  </select>
+  
+  
   <select id="getCounponNowInvalid" resultMap="BaseResultMap">
   	SELECT * FROM `yeshi_ec_user_system_coupon` cp
 	WHERE  <![CDATA[cp.`usc_state` <> 3 AND cp.`usc_state` <> 4]]>
 		   AND DATE_FORMAT(CURDATE(),'%Y%m%d') <![CDATA[>]]> DATE_FORMAT(cp.`usc_end_time`,'%Y%m%d')
 	LIMIT #{count}
+  </select>
+  
+  
+  <select id="getCounponNowInvalidByUid" resultMap="BaseResultMap">
+  	SELECT * FROM `yeshi_ec_user_system_coupon` cp
+	WHERE cp.`usc_uid` = #{uid} AND <![CDATA[cp.`usc_state` <> 3 AND cp.`usc_state` <> 4]]>
+		   AND DATE_FORMAT(CURDATE(),'%Y%m%d') <![CDATA[>]]> DATE_FORMAT(cp.`usc_end_time`,'%Y%m%d')
   </select>
   
   <select id="getCouponByState" resultMap="BaseResultMap">
@@ -157,19 +218,29 @@
 		AND (usc_state_activate = 0 OR usc_state_activate is null)
   </select>
   
-  <select id="getIncludeExchange" resultMap="BaseResultMap">
-	SELECT * FROM yeshi_ec_user_system_coupon 
-	WHERE usc_state_activate = 1 AND usc_state = 1
-		  AND usc_uid = #{uid} AND usc_source in
-		  <foreach collection="list" item="item" open="(" close=")"
+  <select id="getCouponByUsingTimeOut" resultMap="BaseResultMap">
+    SELECT * FROM `yeshi_ec_user_system_coupon` cp
+	WHERE cp.`usc_uid` = #{uid} AND cp.`usc_state` = 2  AND (cp.usc_give = 0 or cp.usc_give is null)
+		  AND (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(cp.`usc_use_time`)) <![CDATA[>]]> #{number}
+		  AND cp.usc_coupon_id in 
+		  	<foreach collection="list" item="item" open="(" close=")"
 			separator=",">#{item}</foreach>
   </select>
   
-  <select id="getIncludeNotExchange" resultMap="BaseResultMap">
-	SELECT * FROM yeshi_ec_user_system_coupon 
-	WHERE usc_state_activate = 1 AND usc_state = 1
-		  AND usc_uid = #{uid} AND usc_source not in 
-		  <foreach collection="list" item="item" open="(" close=")"
-			separator=",">#{item}</foreach>
+  <select id="getFreeCouponByType" resultMap="BaseResultMap">
+ 	SELECT * FROM `yeshi_ec_user_system_coupon` t
+	LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id`
+	WHERE t.usc_uid = #{uid} AND c.`sc_type`= #{type} 
   </select>
+  
+  <select id="getNeedActivateCouponByType" resultMap="AllResultMap">
+ 	SELECT * FROM `yeshi_ec_user_system_coupon` t
+	LEFT JOIN `yeshi_ec_system_coupon` c ON t.`usc_coupon_id` = c.`sc_id`
+	WHERE t.usc_uid = #{uid} AND c.`sc_type`= #{type} AND t.`usc_state` = 1
+		 AND (t.usc_state_activate = 0 OR t.usc_state_activate is null)
+		 AND t.`usc_end_time` <![CDATA[>]]> NOW() 
+	ORDER BY usc_id
+	LIMIT 1
+  </select>
+  
 </mapper>

--
Gitblit v1.8.0