抽奖 终版
This commit is contained in:
@@ -53,6 +53,7 @@ public class ShiroConfig {
|
|||||||
filterMap.put("/captcha.jpg", "anon");
|
filterMap.put("/captcha.jpg", "anon");
|
||||||
filterMap.put("/search/**", "anon");
|
filterMap.put("/search/**", "anon");
|
||||||
filterMap.put("/cashOutAudit/batchCashOutOrder", "anon");
|
filterMap.put("/cashOutAudit/batchCashOutOrder", "anon");
|
||||||
|
filterMap.put("/app/discSpinning/receive1", "anon");
|
||||||
filterMap.put("/**", "oauth2");
|
filterMap.put("/**", "oauth2");
|
||||||
|
|
||||||
shiroFilter.setFilterChainDefinitionMap(filterMap);
|
shiroFilter.setFilterChainDefinitionMap(filterMap);
|
||||||
|
|||||||
@@ -274,6 +274,12 @@ public class DiscSpinningController {
|
|||||||
return Result.success().put("data", 1);
|
return Result.success().put("data", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("大转盘奖项领取")
|
||||||
|
@RequestMapping("/app/discSpinning/receive1")
|
||||||
|
public Result receive1() {
|
||||||
|
DiscSpinningRecord draws = discSpinningService.draws(1, 0, 1876099750242897979L, 1073589141326935825L, 2);
|
||||||
|
return Result.success().put("data", draws);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,10 +113,12 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
|||||||
BigDecimal randomNum = new BigDecimal(RandomUtil.randomDouble(0.01, maxNumber.doubleValue()));
|
BigDecimal randomNum = new BigDecimal(RandomUtil.randomDouble(0.01, maxNumber.doubleValue()));
|
||||||
List<DiscSpinningAmount> amounts = new ArrayList<>();
|
List<DiscSpinningAmount> amounts = new ArrayList<>();
|
||||||
Map<String, List<DiscSpinningAmount>> amountMaps = redisUtils.getMapData(RedisKeys.getDateKey("spinning:amount:") + source, "setDiscSpinningAmounts", DiscSpinningAmount.class);
|
Map<String, List<DiscSpinningAmount>> amountMaps = redisUtils.getMapData(RedisKeys.getDateKey("spinning:amount:") + source, "setDiscSpinningAmounts", DiscSpinningAmount.class);
|
||||||
for (int i = drawCount; i >= 0; i--) {
|
if(CollectionUtil.isNotEmpty(amountMaps)){
|
||||||
if (amountMaps.containsKey(i + "")) {
|
for (int i = drawCount; i >= 0; i--) {
|
||||||
amounts = amountMaps.get(i + "");
|
if (amountMaps.containsKey(i + "")) {
|
||||||
break;
|
amounts = amountMaps.get(i + "");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (DiscSpinning prize : prizes) {
|
for (DiscSpinning prize : prizes) {
|
||||||
@@ -149,6 +151,7 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
|||||||
if (source != 1) {
|
if (source != 1) {
|
||||||
result = prize;
|
result = prize;
|
||||||
result.setNumber(BigDecimal.ONE);
|
result.setNumber(BigDecimal.ONE);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class RedisServiceImpl implements RedisService {
|
|||||||
public void setDiscSpinningAmounts(String key) {
|
public void setDiscSpinningAmounts(String key) {
|
||||||
List<DiscSpinningAmount> amounts = amountService.list(new QueryWrapper<DiscSpinningAmount>()
|
List<DiscSpinningAmount> amounts = amountService.list(new QueryWrapper<DiscSpinningAmount>()
|
||||||
.eq("status", 1)
|
.eq("status", 1)
|
||||||
.eq("type",key.split(":")[2])
|
.eq("type",key.split(":")[3])
|
||||||
.orderByAsc("max_amount"));
|
.orderByAsc("max_amount"));
|
||||||
Map<Integer, List<DiscSpinningAmount>> map =
|
Map<Integer, List<DiscSpinningAmount>> map =
|
||||||
amounts.stream().collect(Collectors.groupingBy(
|
amounts.stream().collect(Collectors.groupingBy(
|
||||||
|
|||||||
Reference in New Issue
Block a user