From 078f1cd7db57ec8f0ce458c0560a2f411bbe066c Mon Sep 17 00:00:00 2001 From: liwq <122639653@qq.com> Date: Tue, 20 Jan 2026 11:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/LotteryResults.vue | 458 ++++++++++++++++++ run-project.bat | 18 + run-project.sh | 21 + .../controller/LotteryResultController.java | 32 ++ .../com/tem/bocai/entity/LotteryResult.java | 153 ++++++ .../repository/LotteryResultRepository.java | 10 + 6 files changed, 692 insertions(+) create mode 100644 frontend/src/components/LotteryResults.vue create mode 100644 run-project.bat create mode 100644 run-project.sh create mode 100644 src/main/java/com/tem/bocai/controller/LotteryResultController.java create mode 100644 src/main/java/com/tem/bocai/entity/LotteryResult.java create mode 100644 src/main/java/com/tem/bocai/repository/LotteryResultRepository.java diff --git a/frontend/src/components/LotteryResults.vue b/frontend/src/components/LotteryResults.vue new file mode 100644 index 0000000..182de31 --- /dev/null +++ b/frontend/src/components/LotteryResults.vue @@ -0,0 +1,458 @@ + + + + + \ No newline at end of file diff --git a/run-project.bat b/run-project.bat new file mode 100644 index 0000000..5c25593 --- /dev/null +++ b/run-project.bat @@ -0,0 +1,18 @@ +@echo off + +rem 启动后端Spring Boot应用 +echo 正在启动后端应用... +start "后端服务" cmd /k "cd /d e:\git_resp\bocai && java -jar target/bocai-0.0.1-SNAPSHOT.jar" + +rem 等待后端启动 +ping 127.0.0.1 -n 5 > nul + +rem 启动前端Vue应用 +echo 正在启动前端应用... +start "前端服务" cmd /k "cd /d e:\git_resp\bocai\frontend && npm run dev" + +echo 前后端应用已启动! +echo 后端服务:http://localhost:8080 +echo 前端服务:通常为 http://localhost:5173 (具体端口请查看前端启动日志) +echo 按任意键退出... +pause > nul \ No newline at end of file diff --git a/run-project.sh b/run-project.sh new file mode 100644 index 0000000..b2e6c93 --- /dev/null +++ b/run-project.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# 启动后端Spring Boot应用 +echo "正在启动后端应用..." +cd "$(dirname "$0")" && java -jar target/bocai-0.0.1-SNAPSHOT.jar & + +# 等待后端启动 +sleep 5 + +# 启动前端Vue应用 +echo "正在启动前端应用..." +cd frontend && npm run dev & + +echo "前后端应用已启动!" +echo "后端服务:http://localhost:8080" +echo "前端服务:通常为 http://localhost:5173 (具体端口请查看前端启动日志)" +echo "按 Ctrl+C 停止所有服务..." + +# 等待用户中断 +trap "kill 0" EXIT +wait \ No newline at end of file diff --git a/src/main/java/com/tem/bocai/controller/LotteryResultController.java b/src/main/java/com/tem/bocai/controller/LotteryResultController.java new file mode 100644 index 0000000..a7c21d8 --- /dev/null +++ b/src/main/java/com/tem/bocai/controller/LotteryResultController.java @@ -0,0 +1,32 @@ +package com.tem.bocai.controller; + +import com.tem.bocai.entity.LotteryResult; +import com.tem.bocai.repository.LotteryResultRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/api/lottery") +public class LotteryResultController { + + @Autowired + private LotteryResultRepository lotteryResultRepository; + + // 获取所有彩票开奖结果 + @GetMapping("/results") + public List getAllLotteryResults() { + return lotteryResultRepository.findAll(); + } + + // 根据期号获取彩票开奖结果 + @GetMapping("/results/{issue}") + public LotteryResult getLotteryResultByIssue(@PathVariable String issue) { + return lotteryResultRepository.findAll() + .stream() + .filter(result -> result.getIssue().equals(issue)) + .findFirst() + .orElse(null); + } +} \ No newline at end of file diff --git a/src/main/java/com/tem/bocai/entity/LotteryResult.java b/src/main/java/com/tem/bocai/entity/LotteryResult.java new file mode 100644 index 0000000..6a5cf9c --- /dev/null +++ b/src/main/java/com/tem/bocai/entity/LotteryResult.java @@ -0,0 +1,153 @@ +package com.tem.bocai.entity; + +import java.util.List; +import jakarta.persistence.Column; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Table; + +@Entity +@Table(name = "lottery_results") +public class LotteryResult { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "issue", nullable = false, unique = true) + private String issue; // 期号 + + @Column(name = "date", nullable = false) + private String date; // 日期 + + @Column(name = "time", nullable = false) + private String time; // 开奖时间 + + @ElementCollection + @JoinColumn(name = "result_id") + @Column(name = "number") + private List numbers; // 开奖号码 + + @Column(name = "sum", nullable = false) + private String sum; // 总和值 + + @Column(name = "first_second_sum", nullable = false) + private String firstSecondSum; // 冠亚和 + + @Column(name = "two_series", nullable = false) + private String twoSeries; // 2串 + + @Column(name = "four_series", nullable = false) + private String fourSeries; // 4串 + + @Column(name = "size", nullable = false) + private String size; // 大小 + + @Column(name = "dragon_tiger", nullable = false) + private String dragonTiger; // 龙虎 + + @ElementCollection + @JoinColumn(name = "result_id") + @Column(name = "tail") + private List tails; // 1~5尾 + + // getter和setter方法 + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getIssue() { + return issue; + } + + public void setIssue(String issue) { + this.issue = issue; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public List getNumbers() { + return numbers; + } + + public void setNumbers(List numbers) { + this.numbers = numbers; + } + + public String getSum() { + return sum; + } + + public void setSum(String sum) { + this.sum = sum; + } + + public String getFirstSecondSum() { + return firstSecondSum; + } + + public void setFirstSecondSum(String firstSecondSum) { + this.firstSecondSum = firstSecondSum; + } + + public String getTwoSeries() { + return twoSeries; + } + + public void setTwoSeries(String twoSeries) { + this.twoSeries = twoSeries; + } + + public String getFourSeries() { + return fourSeries; + } + + public void setFourSeries(String fourSeries) { + this.fourSeries = fourSeries; + } + + public String getSize() { + return size; + } + + public void setSize(String size) { + this.size = size; + } + + public String getDragonTiger() { + return dragonTiger; + } + + public void setDragonTiger(String dragonTiger) { + this.dragonTiger = dragonTiger; + } + + public List getTails() { + return tails; + } + + public void setTails(List tails) { + this.tails = tails; + } +} \ No newline at end of file diff --git a/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java b/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java new file mode 100644 index 0000000..ad299cb --- /dev/null +++ b/src/main/java/com/tem/bocai/repository/LotteryResultRepository.java @@ -0,0 +1,10 @@ +package com.tem.bocai.repository; + +import com.tem.bocai.entity.LotteryResult; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface LotteryResultRepository extends JpaRepository { + // 可以添加自定义查询方法 +} \ No newline at end of file