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