瀏覽代碼

fix 邀请好友

zoujiajian 3 年之前
父節點
當前提交
ba25baf3c2
共有 1 個文件被更改,包括 13 次插入3 次删除
  1. 13 3
      netflix-service/src/main/java/com/cyksj/service/market/impl/MarketFrontServiceImpl.java

+ 13 - 3
netflix-service/src/main/java/com/cyksj/service/market/impl/MarketFrontServiceImpl.java

@@ -472,7 +472,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 				data.setTaskCompleteRecordId(record.getId());
 				data.setStatus(record.getStatus());
 			}
-			handleSpecialTask(userId, data, beginOfDay, endOfDay);
+			handleSpecialTask(userId, data, record, beginOfDay, endOfDay);
 
 		} else if ("week".equals(data.getTaskLimit())) {
 			wrapper.between(TaskUserCompleteRecord::getCreatedTime, beginOfWeek, endOfWeek);
@@ -481,11 +481,11 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 				data.setTaskCompleteRecordId(record.getId());
 				data.setStatus(record.getStatus());
 			}
-			handleSpecialTask(userId, data, beginOfWeek, endOfWeek);
+			handleSpecialTask(userId, data, record, beginOfWeek, endOfWeek);
 		}
 	}
 
-	public void handleSpecialTask(Long userId, TaskFrontView data, DateTime beginTime, DateTime endTime) {
+	public void handleSpecialTask(Long userId, TaskFrontView data, TaskUserCompleteRecord record, DateTime beginTime, DateTime endTime) {
 		if (TaskTypeEnum.share.getDesc().equals(data.getTypeName())) {
 			//邀请人数是否达标
 			Integer count = userDistributeSharedMapper.selectCount(Wrappers.lambdaQuery(UserDistributeShared.class)
@@ -494,6 +494,16 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 			data.setHadInvitedNum(count);
 			if (count >= data.getInviteNum() && data.getStatus() == TaskUserCompleteRecord.Status.waiting) {
 				data.setStatus(TaskUserCompleteRecord.Status.complete);
+				if (record == null) {
+					if (redisService.setNx(RedisService.key.TASK_TIME_LIMIT_KEY.getNameFormat(String.format("day_week_%s", userId)), userId, RedisService.key.TASK_TIME_LIMIT_KEY.getTimeout())) {
+						record = new TaskUserCompleteRecord();
+						record.setUserId(userId);
+						record.setTaskId(data.getId());
+						record.setPoints(data.getPoints());
+						record.setStatus(TaskUserCompleteRecord.Status.complete);
+						taskUserCompleteRecordMapper.insert(record);
+					}
+				}
 			}
 		} else if (TaskTypeEnum.bind_phone.getDesc().equals(data.getTypeName())) {
 			UserBindPhone bindPhone = userBindPhoneMapper.selectOne(Wrappers.lambdaQuery(UserBindPhone.class)