添加投注记录

This commit is contained in:
2026-01-27 10:39:29 +08:00
parent 6e6e9d71f9
commit 008a2545a3
5 changed files with 6959 additions and 6038 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

BIN
bocai.db

Binary file not shown.

View File

@@ -1,6 +1,8 @@
package com.tem.bocai.schedules; package com.tem.bocai.schedules;
import com.tem.bocai.service.LoginService; import com.tem.bocai.service.LoginService;
import com.tem.bocai.util.TokenCacheService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
@@ -27,18 +29,19 @@ import com.tem.bocai.repository.CompletedTodayRepository;
import com.tem.bocai.repository.LoginInfoRepository; import com.tem.bocai.repository.LoginInfoRepository;
import com.tem.bocai.repository.BetRecordRepository; import com.tem.bocai.repository.BetRecordRepository;
@Slf4j
@Component @Component
public class BetSchedule { public class BetSchedule {
@Autowired @Autowired
private LoginService loginService; private TokenCacheService tokenCacheService;
@Autowired @Autowired
private LoginInfoRepository loginInfoRepository; private LoginInfoRepository loginInfoRepository;
@Autowired @Autowired
private CompletedTodayRepository completedTodayRepository; private CompletedTodayRepository completedTodayRepository;
@Autowired @Autowired
private BetRecordRepository betRecordRepository; private BetRecordRepository betRecordRepository;
@@ -131,11 +134,11 @@ public class BetSchedule {
// 1. 获取当前时间格式化为与betTime相同的格式假设betTime格式为yyyy-MM-dd HH:mm:ss // 1. 获取当前时间格式化为与betTime相同的格式假设betTime格式为yyyy-MM-dd HH:mm:ss
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String currentTime = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); String currentTime = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// 2. 从BetRecord中获取最新的一条记录根据betTime排序且betTime大于等于当前时间 // 2. 从BetRecord中获取最新的一条记录根据betTime排序且betTime大于等于当前时间
System.out.println(" - 从BetRecord中获取最新的一条记录..."); System.out.println(" - 从BetRecord中获取最新的一条记录...");
Optional<BetRecord> optionalBetRecord = betRecordRepository.findFirstByBetTimeGreaterThanEqualOrderByBetTimeDesc(currentTime); Optional<BetRecord> optionalBetRecord = betRecordRepository.findFirstByBetTimeGreaterThanEqualOrderByBetTimeDesc(currentTime);
if (optionalBetRecord.isPresent()) { if (optionalBetRecord.isPresent()) {
BetRecord betRecord = optionalBetRecord.get(); BetRecord betRecord = optionalBetRecord.get();
String betData = betRecord.getBetData(); String betData = betRecord.getBetData();
@@ -174,7 +177,7 @@ public class BetSchedule {
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create(apiUrl)) .uri(URI.create(apiUrl))
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.header("cookie", "token=" + loginService.completedToday()); .header("cookie", "token=" + tokenCacheService.getToken());
HttpRequest request = requestBuilder HttpRequest request = requestBuilder
.POST(HttpRequest.BodyPublishers.ofString(betData)) .POST(HttpRequest.BodyPublishers.ofString(betData))
@@ -185,8 +188,9 @@ public class BetSchedule {
// 解析响应 // 解析响应
if (response.statusCode() == 200) { if (response.statusCode() == 200) {
JSONObject responseBody = new JSONObject(response.body());
return responseBody.getString("result"); log.info("投注成功");
return null;
} else { } else {
return "error: " + response.statusCode(); return "error: " + response.statusCode();
} }

View File

@@ -34,7 +34,7 @@ public class GenBetRecordSchedule {
} }
// 每天6:30执行 // 每天6:30执行
@Scheduled(cron = "0 30 6 * * ?") // @Scheduled(cron = "0 30 6 * * ?")
public void processBetPredictions() { public void processBetPredictions() {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String currentTime = now.format( String currentTime = now.format(