Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
Tankaikai 2025-01-14 18:26:31 +08:00
commit cc760ba52b
4 changed files with 28 additions and 15 deletions

View File

@ -149,13 +149,20 @@ public class DiscSpinningController {
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
map.put("sum", drawCount);
if (source != null && !source.equals(1)) {
Integer spinningCount = recordService.countSourceRecord(userId, "taskW");
String sourceType = null;
if (source.equals(2)) {
sourceType = "taskW";
} else {
sourceType = "taskM";
}
Integer spinningCount = recordService.countSourceRecord(null, userId, sourceType);
if (spinningCount != null && spinningCount > 0) {
map.put("count", 0);
} else {
int i = taskCenterService.countTaskDisc(userId, source.toString());
map.put("count", i > 0 ? 1 : 0);
}
} else {
//订单可抽奖次数
int i = recordService.countDraw(userId);
@ -212,7 +219,7 @@ public class DiscSpinningController {
} else {
String redisKey = "";
if (source.equals(2)) {
Integer spinningCount = recordService.countSourceRecord(userId, "taskW");
Integer spinningCount = recordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
return Result.error("周抽奖用户仅可参加一次");
}

View File

@ -8,7 +8,7 @@ import java.util.Map;
public interface DiscSpinningRecordService extends IService<DiscSpinningRecord> {
Integer countDraw(Long userId);
//当月的 记录 已抽 抽奖次数
Integer countSourceRecord(Long sourceId,String source);
//记录 已抽 抽奖次数
Integer countSourceRecord(Long sourceId,Long userId,String source);
}

View File

@ -26,11 +26,14 @@ public class DiscSpinningRecordServiceImpl extends ServiceImpl<DiscSpinningRecor
}
@Override
public Integer countSourceRecord(Long sourceId,String source) {
public Integer countSourceRecord(Long sourceId, Long userId, String source) {
QueryWrapper<DiscSpinningRecord> recordQuery = new QueryWrapper<>();
recordQuery.eq("source_id", sourceId);
if (sourceId != null) {
recordQuery.eq("source_id", sourceId);
}
recordQuery.eq("user_id", userId);
recordQuery.eq("source", source);
recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
// recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
return discSpinningRecordDao.selectCount(recordQuery);
}
}

View File

@ -98,7 +98,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//周任务
if (s.getNumber() > 1 && s.getNumber() < 8) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), "taskW");
Integer spinningCount = discSpinningRecordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
@ -142,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
s.setDisabled(false);
} else {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), "taskM");
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), userId, "taskM");
if (spinningCount == null || rewardMap.get(9) - spinningCount > 0) {
s.setDiscNumber(null);
s.setNumber(null);
@ -337,12 +337,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
QueryWrapper<TaskCenter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", 2);
String sourceType = null;
if ("2".equals(type)) {
queryWrapper.gt("number", 1);
queryWrapper.lt("number", 8);
sourceType = "taskW";
} else if ("3".equals(type)) {
queryWrapper.gt("number", 7);
queryWrapper.lt("number", 32);
sourceType = "taskM";
}
Integer spCount = discSpinningRecordService.countSourceRecord(null, userId, sourceType);
if (spCount != null && spCount > 0) {
return 0;
}
List<TaskCenter> taskCenters = baseMapper.selectList(queryWrapper);
for (TaskCenter taskCenter : taskCenters) {
@ -352,10 +359,6 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
Map<Long, Integer> taskWRedisMap = new HashMap<>();
if ("2".equals(type)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
return 0;
}
//抽奖次数
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
if (CollectionUtil.isNotEmpty(taskWCount)) {
@ -377,8 +380,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (signCount >= taskCenter.getNumber()) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), "taskM");
countTaskDisc = rewardMap.get(9) + (spinningCount == null ? 0 : spinningCount);
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), userId, "taskM");
countTaskDisc = rewardMap.get(9) - (spinningCount == null ? 0 : spinningCount);
if (countTaskDisc > 0) {
taskWRedisMap.put(taskCenter.getId(), countTaskDisc);
}