From fe879975a3e8a0a1aa280fb839e02d159bfbcff8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 27 八月 2019 18:04:38 +0800
Subject: [PATCH] 金币任务多次获取bug修改

---
 fanli/src/main/java/com/yeshi/fanli/mapping/integral/IntegralTaskRecordMapper.xml            |   82 +++++++++++++++-----------
 fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralGetService.java           |    3 +
 fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskRecordService.java    |   11 +++
 fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java        |    1 
 fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java |   20 +++++-
 fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java                             |   17 +++++
 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/integral/IntegralTaskRecordMapper.java       |   21 +++++-
 7 files changed, 108 insertions(+), 47 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
index 162e33e..1ad960c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
+++ b/fanli/src/main/java/com/yeshi/fanli/aspect/ActiveUserAspect.java
@@ -18,6 +18,9 @@
 import org.springframework.stereotype.Component;
 import org.yeshi.utils.NumberUtil;
 
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.service.inter.integral.IntegralGetService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.ThreadUtil;
@@ -40,6 +43,12 @@
 
 	@Resource
 	private UserInfoModifyRecordService userInfoModifyRecordService;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private IntegralGetService integralGetService;
 
 	private ExpressionParser parser = new SpelExpressionParser();
 
@@ -78,10 +87,14 @@
 							Jedis jedis = jedisPool.getResource();
 							try {
 								if (jedis.setnx(key, "1") > 0) {
-									jedis.expire(key, 60*5);// 5鍒嗛挓鍐呬笉澶勭悊
+									jedis.expire(key, 60 * 5);// 5鍒嗛挓鍐呬笉澶勭悊
 									try {
 										// TODO 鐢ㄦ埛娲昏穬澶勭悊
-										userInfoModifyRecordService.syncBeforeInfo(Long.parseLong(uidStr));
+										Long uid = Long.parseLong(uidStr);
+										userInfoModifyRecordService.syncBeforeInfo(uid);
+										UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
+										if (extra != null && !StringUtil.isNullOrEmpty(extra.getInviteCode()))
+											integralGetService.addInviteActivate(uid);
 									} catch (Exception e) {
 									}
 								}
diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/integral/IntegralTaskRecordMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/integral/IntegralTaskRecordMapper.java
index 2301f61..620558f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/integral/IntegralTaskRecordMapper.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/integral/IntegralTaskRecordMapper.java
@@ -4,8 +4,6 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.annotation.Nullable;
-
 import org.apache.ibatis.annotations.Param;
 
 import com.yeshi.fanli.dao.BaseMapper;
@@ -120,9 +118,22 @@
 	 * @param count
 	 * @return
 	 */
-	List<IntegralTaskRecord> listByCidAndUidAndCreateTime(@Param("cid") Long cid,@Param("uid") Long uid, @Param("minTime") Date minTime,
-			@Param("maxTime") Date maxTime, @Param("start") long start, @Param("count") int count);
+	List<IntegralTaskRecord> listByCidAndUidAndCreateTime(@Param("cid") Long cid, @Param("uid") Long uid,
+			@Param("minTime") Date minTime, @Param("maxTime") Date maxTime, @Param("start") long start,
+			@Param("count") int count);
 
-	long countByCidAndUidAndCreateTime(@Param("cid") Long cid,@Param("uid") Long uid, @Param("minTime") Date minTime,
+	long countByCidAndUidAndCreateTime(@Param("cid") Long cid, @Param("uid") Long uid, @Param("minTime") Date minTime,
 			@Param("maxTime") Date maxTime);
+
+	/**
+	 * 鏍规嵁鐢ㄦ埛ID涓庝换鍔D鏌ヨ
+	 * 
+	 * @param uid
+	 * @param taskId
+	 * @param start
+	 * @param count
+	 * @return
+	 */
+	List<IntegralTaskRecord> listByUidAndTaskId(@Param("uid") Long uid, @Param("taskId") Long taskId,
+			@Param("start") long start, @Param("count") int count);
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/integral/IntegralTaskRecordMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/integral/IntegralTaskRecordMapper.xml
index 36df4dc..60a376f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/integral/IntegralTaskRecordMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/integral/IntegralTaskRecordMapper.xml
@@ -147,13 +147,14 @@
 		AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <![CDATA[<=]]>
 		DATE(d.ir_create_time)
 		ORDER BY d.ir_create_time desc
-	</select>
-
+	</select>
 
 	<select id="listSignRecordByDateTime" resultMap="BaseResultMap">
 		SELECT * FROM yeshi_ec_integral_task_record d
-		WHERE d.`ir_uid` = #{uid} and d.ir_cid=#{cid}
-		AND d.ir_create_time <![CDATA[<=]]> #{dateTime}
+		WHERE d.`ir_uid` = #{uid}
+		and d.ir_cid=#{cid}
+		AND d.ir_create_time <![CDATA[<=]]>
+		#{dateTime}
 		ORDER BY d.ir_create_time desc
 	</select>
 
@@ -181,42 +182,53 @@
 		<if test="maxTime!=null">
 			and #{maxTime}>ir_create_time
 		</if>
-	</select>
-
+	</select>
 
 	<select id="countByTaskIdTodayNum" resultType="Integer">
-		SELECT IFNULL(COUNT(tr.`ir_id`),0) FROM yeshi_ec_integral_task_record tr
-		WHERE tr.ir_uid = #{uid} AND tr.`ir_task_id`= #{tid} 
-			  AND TO_DAYS(tr.ir_create_time) = TO_DAYS('${date}') AND tr.ir_create_time <![CDATA[<=]]>'${date}'
+		SELECT IFNULL(COUNT(tr.`ir_id`),0) FROM yeshi_ec_integral_task_record
+		tr
+		WHERE tr.ir_uid = #{uid} AND tr.`ir_task_id`= #{tid}
+		AND TO_DAYS(tr.ir_create_time) = TO_DAYS('${date}') AND tr.ir_create_time <![CDATA[<=]]>'${date}'
 	</select>
-	
-	
-	<select id="listByCidAndUidAndCreateTime"  resultMap="BaseResultMap">
+
+
+	<select id="listByCidAndUidAndCreateTime" resultMap="BaseResultMap">
 		select * from yeshi_ec_integral_task_record where ir_cid=#{cid}
-		 <if test="uid!=null">
-	   		and  ir_uid=#{uid}
-	    </if>
-	    <if test="minTime!=null">
-	   		and  ir_create_time>=#{minTime}
-	    </if>
-		 <if test="maxTime!=null">
-	   		and #{maxTime}>ir_create_time
-	    </if>
-	    limit #{start},#{count}
-	</select>
-	
-	<select id="countByCidAndUidAndCreateTime"  resultType="java.lang.Long">
-		select count(ir_id) from yeshi_ec_integral_task_record where ir_cid=#{cid}
 		<if test="uid!=null">
-	   		and  ir_uid=#{uid}
-	    </if>
-	    <if test="minTime!=null">
-	   		and  ir_create_time>=#{minTime}
-	    </if>
-	
-		 <if test="maxTime!=null">
-	   		and #{maxTime}>ir_create_time
-	    </if>
+			and ir_uid=#{uid}
+		</if>
+		<if test="minTime!=null">
+			and ir_create_time>=#{minTime}
+		</if>
+		<if test="maxTime!=null">
+			and #{maxTime}>ir_create_time
+		</if>
+		limit #{start},#{count}
 	</select>
 	
+	<select id="listByUidAndTaskId" resultMap="BaseResultMap">
+		select * from yeshi_ec_integral_task_record where ir_task_id=#{taskId}
+		<if test="uid!=null">
+			and ir_uid=#{uid}
+		</if>
+		order by ir_id desc
+		limit #{start},#{count}
+	</select>
+	
+
+	<select id="countByCidAndUidAndCreateTime" resultType="java.lang.Long">
+		select count(ir_id) from yeshi_ec_integral_task_record where
+		ir_cid=#{cid}
+		<if test="uid!=null">
+			and ir_uid=#{uid}
+		</if>
+		<if test="minTime!=null">
+			and ir_create_time>=#{minTime}
+		</if>
+
+		<if test="maxTime!=null">
+			and #{maxTime}>ir_create_time
+		</if>
+	</select>
+
 </mapper>
\ No newline at end of file
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java
index a7d15d5..13718a6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralGetServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.service.impl.integral;
 
 import java.util.Date;
+import java.util.List;
 
 import javax.annotation.Resource;
 
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java
index 2fcb36b..9b4a6ab 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskRecordServiceImpl.java
@@ -304,11 +304,16 @@
 
 	@Override
 	public int countGetCountByTaskIdAndDay(Long taskId, Long uid, Date day) {
-		if (day == null)
-			return 0;
-		Date minTime = new Date(
-				TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(day.getTime(), "yyyy-MM-dd"), "yyyy-MM-dd"));
-		Date maxTime = new Date(minTime.getTime() + 1000 * 60 * 60 * 24L);
+		Date minTime = null;
+		Date maxTime = null;
+		if (day == null) {
+			minTime = new Date(TimeUtil.convertToTimeTemp("1970-01-01", "yyyy-MM-dd"));
+			maxTime = new Date(TimeUtil.convertToTimeTemp("2100-01-01", "yyyy-MM-dd"));
+		} else {
+			minTime = new Date(
+					TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(day.getTime(), "yyyy-MM-dd"), "yyyy-MM-dd"));
+			maxTime = new Date(minTime.getTime() + 1000 * 60 * 60 * 24L);
+		}
 		return integralTaskRecordMapper.countGetCountByTaskIdAndDay(taskId, uid, minTime, maxTime);
 	}
 
@@ -341,4 +346,9 @@
 	public long countByCidAndUidAndCreateTime(Long cid, Long uid, Date minTime, Date maxTime) {
 		return integralTaskRecordMapper.countByCidAndUidAndCreateTime(cid, uid, minTime, maxTime);
 	}
+
+	@Override
+	public List<IntegralTaskRecord> listByUidAndTaskId(Long uid, Long taskId, int page, int count) {
+		return integralTaskRecordMapper.listByUidAndTaskId(uid, taskId, (page - 1) * count, count);
+	}
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralGetService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralGetService.java
index c0534aa..a7470c3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralGetService.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralGetService.java
@@ -220,5 +220,8 @@
 	 * @param uid
 	 */
 	public void addInviteActivate(Long uid);
+	
+	
+
 
 }
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskRecordService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskRecordService.java
index 78632ca..1fa03e9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskRecordService.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/integral/IntegralTaskRecordService.java
@@ -129,6 +129,17 @@
 	 */
 	public List<IntegralTaskRecord> listByCidAndUidAndCreateTime(Long cid,Long uid, Date minTime, Date maxTime, int page, int count);
 
+	
+	
+	/**
+	 * 鏍规嵁鐢ㄦ埛ID涓庝换鍔D鏌ヨ璁板綍
+	 * @param uid
+	 * @param taskId
+	 * @param page
+	 * @param count
+	 * @return
+	 */
+	public List<IntegralTaskRecord> listByUidAndTaskId(Long uid,Long taskId,int page,int count);
 	/**
 	 * 鏍规嵁绫诲瀷涓庢椂闂存绱�
 	 * @param cid

--
Gitblit v1.8.0