抽奖次数
This commit is contained in:
@@ -5,13 +5,14 @@ import com.sqx.modules.taskCenter.entity.TaskCenterReward;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Mapper
|
||||
public interface TaskCenterRewardDao extends BaseMapper<TaskCenterReward> {
|
||||
|
||||
@Select("SELECT type,number FROM `task_center_reward` where task_id = #{taskId}")
|
||||
Map<Integer, Integer> getRewardMap(Long taskId);
|
||||
List<TaskCenterReward> getRewardMap(Long taskId);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,10 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class TaskCenterRewardServiceImpl extends ServiceImpl<TaskCenterRewardDao, TaskCenterReward> implements TaskCenterRewardService {
|
||||
@@ -17,7 +20,14 @@ public class TaskCenterRewardServiceImpl extends ServiceImpl<TaskCenterRewardDao
|
||||
|
||||
@Override
|
||||
public Map<Integer, Integer> getRewardMap(Long taskId) {
|
||||
return baseMapper.getRewardMap(taskId);
|
||||
List<TaskCenterReward> rewards = baseMapper.getRewardMap(taskId);
|
||||
|
||||
Map<Integer, Integer> map = rewards.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
TaskCenterReward::getType,
|
||||
Collectors.summingInt(TaskCenterReward::getNumber)
|
||||
));
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -91,14 +91,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
//周任务
|
||||
if (s.getNumber() > 1 && s.getNumber() < 8) {
|
||||
if (rewardMap.containsKey(9)) {
|
||||
boolean isBreak = false;
|
||||
//抽奖次数
|
||||
Map<Integer, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
|
||||
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
|
||||
if (CollectionUtil.isNotEmpty(taskWCount)) {
|
||||
for (Integer value : taskWCount.values()) {
|
||||
if (value > 0) {
|
||||
isBreak=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isBreak){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Integer wSignCount = signRecordService.getWSignCount(userId);
|
||||
@@ -264,14 +269,14 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
Map<Integer, Integer> taskWRedisMap = new HashMap<>();
|
||||
if ("2".equals(type)) {
|
||||
//抽奖次数
|
||||
Map<Integer, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
|
||||
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
|
||||
if (CollectionUtil.isNotEmpty(taskWCount)) {
|
||||
for (Map.Entry<Integer, Integer> entry : taskWCount.entrySet()) {
|
||||
Integer key = entry.getKey();
|
||||
for (Map.Entry<Long, Integer> entry : taskWCount.entrySet()) {
|
||||
Long key = entry.getKey();
|
||||
Integer value = entry.getValue();
|
||||
if (value > 0) {
|
||||
countTaskDisc = countTaskDisc + value;
|
||||
taskWRedisMap.put(key, value);
|
||||
taskWRedisMap.put(key.intValue(), value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user