红包任务

This commit is contained in:
2024-12-28 15:49:21 +08:00
parent e77bb19459
commit d973622445
6 changed files with 134 additions and 114 deletions

View File

@@ -9,7 +9,6 @@ import com.sqx.common.utils.RedisKeys;
import com.sqx.common.utils.RedisUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.annotation.Login;
import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.service.UserService;
import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.discSpinning.entity.DiscSpinning;
@@ -23,7 +22,6 @@ import com.sqx.modules.taskCenter.service.TaskCenterRecordService;
import com.sqx.modules.taskCenter.service.TaskCenterService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -223,7 +221,7 @@ public class DiscSpinningController {
}
DiscSpinningRecord draws = discSpinningService.draws(i == null ? 1 : i + 1, amount, sourceId, userId, source);
executor.schedule(() -> receive1(draws), 4, TimeUnit.SECONDS);
executor.schedule(() -> discSpinningService.receive1(draws), 4, TimeUnit.SECONDS);
return new Result().put("data", draws);
}
@@ -236,23 +234,6 @@ public class DiscSpinningController {
}
public Result receive1(@RequestBody DiscSpinningRecord receive) {
DiscSpinningRecord record = recordService.getById(receive.getId());
if (record.getTargetId() != null) {
return Result.error("不可重复领取");
}
CompletableFuture.runAsync(() -> {
discSpinningService.receiveAsync(record);
});
UserEntity userInfo = userService.queryByUserId(record.getUserId());
int res = 1;
if (receive.getType().equals(2)) {
if (StringUtils.isBlank(userInfo.getZhiFuBao()) && StringUtils.isBlank(userInfo.getZhiFuBaoName())) {
res = 0;
}
}
return Result.success().put("data", res);
}
}

View File

@@ -1,6 +1,7 @@
package com.sqx.modules.discSpinning.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sqx.common.utils.Result;
import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.discSpinning.entity.DiscSpinning;
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
@@ -22,5 +23,7 @@ public interface DiscSpinningService extends IService<DiscSpinning> {
//提现
void withdrawAsync(UserEntity userInfo, Double money, String title);
Result receive1(DiscSpinningRecord receive);
}

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.RedisKeys;
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.UserMoneyDetails;
import com.sqx.modules.app.service.UserMoneyDetailsService;
@@ -38,6 +39,7 @@ import org.springframework.transaction.support.DefaultTransactionDefinition;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadLocalRandom;
@Slf4j
@@ -251,5 +253,23 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
recordService.save(record);
return record;
}
public Result receive1(DiscSpinningRecord receive) {
DiscSpinningRecord record = recordService.getById(receive.getId());
if (record.getTargetId() != null) {
return Result.error("不可重复领取");
}
CompletableFuture.runAsync(() -> {
receiveAsync(record);
});
UserEntity userInfo = userService.queryByUserId(record.getUserId());
int res = 1;
if (receive.getType().equals(2)) {
if (StringUtils.isBlank(userInfo.getZhiFuBao()) && StringUtils.isBlank(userInfo.getZhiFuBaoName())) {
res = 0;
}
}
return Result.success().put("data", res);
}
}