抽奖金额设置
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package com.sqx.modules.discSpinning.controller;
|
package com.sqx.modules.discSpinning.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.sqx.common.utils.PageUtils;
|
import com.sqx.common.utils.PageUtils;
|
||||||
@@ -35,7 +34,7 @@ public class DiscSpinningAmountController {
|
|||||||
@ApiOperation("添加现金红包 抽奖配置")
|
@ApiOperation("添加现金红包 抽奖配置")
|
||||||
public Result insertDiscSpinningAmount(@RequestBody DiscSpinningAmount discSpinningAmount) {
|
public Result insertDiscSpinningAmount(@RequestBody DiscSpinningAmount discSpinningAmount) {
|
||||||
discSpinningAmountService.save(discSpinningAmount);
|
discSpinningAmountService.save(discSpinningAmount);
|
||||||
redisUtils.delete(RedisKeys.getDateKey("spinning:amount"));
|
redisUtils.delete(RedisKeys.getDateKey("spinning:amount:"+discSpinningAmount.getType()));
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +48,7 @@ public class DiscSpinningAmountController {
|
|||||||
@ApiOperation("修改现金红包 抽奖配置")
|
@ApiOperation("修改现金红包 抽奖配置")
|
||||||
public Result updateDiscSpinningAmount(@RequestBody DiscSpinningAmount discSpinningAmount) {
|
public Result updateDiscSpinningAmount(@RequestBody DiscSpinningAmount discSpinningAmount) {
|
||||||
discSpinningAmountService.updateById(discSpinningAmount);
|
discSpinningAmountService.updateById(discSpinningAmount);
|
||||||
redisUtils.delete(RedisKeys.getDateKey("spinning:amount"));
|
redisUtils.delete(RedisKeys.getDateKey("spinning:amount:"+discSpinningAmount.getType()));
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ public class DiscSpinningController {
|
|||||||
@ApiImplicitParam(name = "source", value = "1 普通转盘 2 周任务转盘 3 月任务转盘", dataTypeClass = Integer.class),
|
@ApiImplicitParam(name = "source", value = "1 普通转盘 2 周任务转盘 3 月任务转盘", dataTypeClass = Integer.class),
|
||||||
})
|
})
|
||||||
@ApiOperation("抽取大转盘")
|
@ApiOperation("抽取大转盘")
|
||||||
@Debounce(interval = 3000, value = "#userId")
|
@Debounce(value = "#userId")
|
||||||
public Result draw(@ApiIgnore @RequestAttribute("userId") Long userId, @RequestParam(required = false, defaultValue = "1") Integer source) throws CzgException {
|
public Result draw(@ApiIgnore @RequestAttribute("userId") Long userId, @RequestParam(required = false, defaultValue = "1") Integer source) throws CzgException {
|
||||||
double amount = 0;
|
double amount = 0;
|
||||||
Long sourceId = null;
|
Long sourceId = null;
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ import lombok.Data;
|
|||||||
public class DiscSpinningAmount extends Model<DiscSpinningAmount> {
|
public class DiscSpinningAmount extends Model<DiscSpinningAmount> {
|
||||||
@ApiModelProperty("主键id")
|
@ApiModelProperty("主键id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
@ApiModelProperty("1 订单 2 周任务转盘 3 月任务转盘")
|
||||||
|
private Integer type;
|
||||||
@ApiModelProperty("从第几次开始变化")
|
@ApiModelProperty("从第几次开始变化")
|
||||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
|||||||
@@ -7,13 +7,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.sqx.common.utils.DateUtils;
|
import com.sqx.common.utils.DateUtils;
|
||||||
import com.sqx.common.utils.RedisKeys;
|
import com.sqx.common.utils.RedisKeys;
|
||||||
import com.sqx.common.utils.RedisUtils;
|
import com.sqx.common.utils.RedisUtils;
|
||||||
import com.sqx.common.utils.Result;
|
|
||||||
import com.sqx.modules.app.entity.UserEntity;
|
import com.sqx.modules.app.entity.UserEntity;
|
||||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||||
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
||||||
import com.sqx.modules.app.service.UserMoneyService;
|
import com.sqx.modules.app.service.UserMoneyService;
|
||||||
import com.sqx.modules.app.service.UserService;
|
import com.sqx.modules.app.service.UserService;
|
||||||
import com.sqx.modules.common.entity.CommonInfo;
|
|
||||||
import com.sqx.modules.common.service.CommonInfoService;
|
import com.sqx.modules.common.service.CommonInfoService;
|
||||||
import com.sqx.modules.discSpinning.dao.DiscSpinningDao;
|
import com.sqx.modules.discSpinning.dao.DiscSpinningDao;
|
||||||
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
||||||
@@ -21,20 +19,13 @@ import com.sqx.modules.discSpinning.entity.DiscSpinningAmount;
|
|||||||
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||||
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
|
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
|
||||||
import com.sqx.modules.discSpinning.service.DiscSpinningService;
|
import com.sqx.modules.discSpinning.service.DiscSpinningService;
|
||||||
import com.sqx.modules.pay.entity.CashOut;
|
|
||||||
import com.sqx.modules.pay.entity.WithdrawTypeEnum;
|
|
||||||
import com.sqx.modules.pay.service.CashOutService;
|
import com.sqx.modules.pay.service.CashOutService;
|
||||||
import com.sqx.modules.pay.wuyou.BaseResp;
|
|
||||||
import com.sqx.modules.pay.wuyou.WuyouPay;
|
import com.sqx.modules.pay.wuyou.WuyouPay;
|
||||||
import com.sqx.modules.utils.AliPayOrderUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.PlatformTransactionManager;
|
import org.springframework.transaction.PlatformTransactionManager;
|
||||||
import org.springframework.transaction.TransactionStatus;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
@@ -90,7 +81,7 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
|||||||
|
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
||||||
receive.getUserId(), null, null, "[现金大转盘]", 5, 1, 2,
|
receive.getUserId(), null, null, "[现金大转盘]", 5, 1, 2,
|
||||||
receive.getNumber(), "现金红包奖励" + receive.getNumber() + "元", 1,receive.getId());
|
receive.getNumber(), "现金红包奖励" + receive.getNumber() + "元", 1, receive.getId());
|
||||||
//上一秒
|
//上一秒
|
||||||
userMoneyDetails.setCreateTime(DateUtil.format(new Date(System.currentTimeMillis() - 1000), "yyyy-MM-dd HH:mm:ss"));
|
userMoneyDetails.setCreateTime(DateUtil.format(new Date(System.currentTimeMillis() - 1000), "yyyy-MM-dd HH:mm:ss"));
|
||||||
userMoneyDetailsService.save(userMoneyDetails);
|
userMoneyDetailsService.save(userMoneyDetails);
|
||||||
@@ -121,7 +112,7 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
|||||||
BigDecimal randomNum = new BigDecimal(ThreadLocalRandom.current().nextDouble(0.01, maxNumber.doubleValue()));
|
BigDecimal randomNum = new BigDecimal(ThreadLocalRandom.current().nextDouble(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"), "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--) {
|
for (int i = drawCount; i >= 0; i--) {
|
||||||
if (amountMaps.containsKey(i + "")) {
|
if (amountMaps.containsKey(i + "")) {
|
||||||
amounts = amountMaps.get(i + "");
|
amounts = amountMaps.get(i + "");
|
||||||
|
|||||||
Reference in New Issue
Block a user