|
|
@@ -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)
|