From 3599d738f791da4be15915893ff194d71b81181f Mon Sep 17 00:00:00 2001
From: willy <2462310981@qq.com>
Date: Fri, 11 Jul 2025 10:44:17 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E5=86=99=E5=AE=9E=E4=BD=93=E7=B1=BB?=
=?UTF-8?q?=E5=92=8C=E5=B7=A5=E5=85=B7=E7=B1=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lottery-system/.idea/uiDesigner.xml | 124 +++++++++++++++++++++
.../java/com/lottery/context/RequestContext.java | 28 +++++
.../java/com/lottery/{utils => result}/Result.java | 2 +-
.../java/com/lottery/utils/ConvertBeanUtil.java | 63 +++++++++++
.../src/main/java/com/lottery/dto/Prize.java | 1 +
.../main/java/com/lottery/entity/LotteryRound.java | 52 +++++++++
.../src/main/java/com/lottery/entity/Prize.java | 55 +++++++++
.../src/main/java/com/lottery/entity/User.java | 45 ++++++++
.../main/java/com/lottery/entity/WinnerRecord.java | 40 +++++++
.../com/lottery/service/Impl/PrizeServiceImpl.java | 2 +
.../src/main/resources/application.yml | 2 +-
lottery-system/pom.xml | 6 +
12 files changed, 418 insertions(+), 2 deletions(-)
create mode 100644 lottery-system/.idea/uiDesigner.xml
create mode 100644 lottery-system/lottery-common/src/main/java/com/lottery/context/RequestContext.java
rename lottery-system/lottery-common/src/main/java/com/lottery/{utils => result}/Result.java (98%)
create mode 100644 lottery-system/lottery-common/src/main/java/com/lottery/utils/ConvertBeanUtil.java
create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/entity/LotteryRound.java
create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java
create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/entity/User.java
create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/entity/WinnerRecord.java
diff --git a/lottery-system/.idea/uiDesigner.xml b/lottery-system/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/lottery-system/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/lottery-system/lottery-common/src/main/java/com/lottery/context/RequestContext.java b/lottery-system/lottery-common/src/main/java/com/lottery/context/RequestContext.java
new file mode 100644
index 0000000..9299d3c
--- /dev/null
+++ b/lottery-system/lottery-common/src/main/java/com/lottery/context/RequestContext.java
@@ -0,0 +1,28 @@
+package com.lottery.context;
+
+/**
+ * @program: lottery-system
+ * @ClassName RequestContext
+ * @description: 获取上下文
+ * @author: wwl
+ * @create: 2025-07-11 10:39
+ * @Version 1.0
+ **/
+public class RequestContext {
+
+ public static ThreadLocal threadLocal = new ThreadLocal<>();
+
+ public static void setCurrentId(Long id) {
+ threadLocal.set(id);
+ }
+
+ public static Long getCurrentId() {
+ return threadLocal.get();
+ }
+
+ public static void removeCurrentId() {
+ threadLocal.remove();
+ }
+
+ }
+
diff --git a/lottery-system/lottery-common/src/main/java/com/lottery/utils/Result.java b/lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java
similarity index 98%
rename from lottery-system/lottery-common/src/main/java/com/lottery/utils/Result.java
rename to lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java
index c80ebca..fe85236 100644
--- a/lottery-system/lottery-common/src/main/java/com/lottery/utils/Result.java
+++ b/lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java
@@ -1,4 +1,4 @@
-package com.lottery.utils;
+package com.lottery.result;
/**
* @program: lottery-system
diff --git a/lottery-system/lottery-common/src/main/java/com/lottery/utils/ConvertBeanUtil.java b/lottery-system/lottery-common/src/main/java/com/lottery/utils/ConvertBeanUtil.java
new file mode 100644
index 0000000..6b4d5bb
--- /dev/null
+++ b/lottery-system/lottery-common/src/main/java/com/lottery/utils/ConvertBeanUtil.java
@@ -0,0 +1,63 @@
+package com.lottery.utils;
+
+import org.springframework.beans.BeanInstantiationException;
+import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @program: lottery-system
+ * @ClassName ConvertBeanUtil
+ * @description: Bean转换工具
+ * @author: wwl
+ * @create: 2025-07-11 10:01
+ * @Version 1.0
+ **/
+public class ConvertBeanUtil {
+
+ /**
+ * 将一个对象转成目标对象
+ *
+ * @param source
+ * @param targetClass
+ * @param
+ * @return
+ */
+ public static T convert(Object source, Class targetClass) {
+ if (source == null) {
+ return null;
+ }
+ T t = newInstance(targetClass);
+ BeanUtils.copyProperties(source, t);
+ return t;
+ }
+
+
+ /**
+ * 将List对象转换成目标对象,注意实现是ArrayList
+ *
+ * @param targetClass
+ * @param
+ * @param
+ * @return
+ */
+ public static List convertList(List sourceList, Class targetClass) {
+ if (sourceList == null) {
+ return null;
+ }
+ List targetList = new ArrayList((int) (sourceList.size() / 0.75) + 1);
+ for (K source : sourceList) {
+ targetList.add(convert(source, targetClass));
+ }
+ return targetList;
+ }
+
+ private static T newInstance(Class targetClass) {
+ try {
+ return targetClass.newInstance();
+ } catch (Exception e) {
+ throw new BeanInstantiationException(targetClass, "instantiation error", e);
+ }
+ }
+}
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java
index 24cf833..ea0a26e 100644
--- a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java
@@ -8,6 +8,7 @@ package com.lottery.dto;
* @create: 2025−07-10 15:20
* @Version 1.0
**/
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/LotteryRound.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/LotteryRound.java
new file mode 100644
index 0000000..70ae841
--- /dev/null
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/LotteryRound.java
@@ -0,0 +1,52 @@
+package com.lottery.entity;
+
+/**
+ * @program: lottery-system
+ * @ClassName
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-11 10:01
+ * @Version 1.0
+ **/
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("lottery_round")
+public class LotteryRound {
+
+ @TableId(type = IdType.AUTO)
+ private Long id; // 主键ID(表中未显示但通常需要)
+
+
+ private String name; // 活动名称
+
+
+ private Date startTime; // 开始时间
+
+
+ private Date endTime; // 结束时间
+
+
+ private String description; // 描述
+
+
+ private Integer status; // 状态
+
+
+ private Date createTime; // 创建时间
+
+
+ private Date updateTime; // 更新时间
+
+}
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java
new file mode 100644
index 0000000..0be6e22
--- /dev/null
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java
@@ -0,0 +1,55 @@
+package com.lottery.entity;
+
+/**
+ * @program: lottery-system
+ * @ClassName Gift
+ * @description:
+ * @author:jihaipeng
+ * @create: 2025−07-10 15:20
+ * @Version 1.0
+ **/
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("prize")
+public class Prize {
+ // 主键ID
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ // 名称
+ private String name;
+
+ // 描述
+ private String description;
+
+ // 图片URL
+ private String imageUrl;
+
+ // 库存数量
+ private Integer stock;
+
+ // 中奖概率
+ private BigDecimal probability;
+
+ // 奖品类型
+ private Integer prizeType;
+
+ // 状态
+ private Integer status;
+
+ // 创建时间
+ private Date createTime;
+
+ // 更新时间
+ private Date updateTime;
+}
\ No newline at end of file
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/User.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/User.java
new file mode 100644
index 0000000..39e99ea
--- /dev/null
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/User.java
@@ -0,0 +1,45 @@
+package com.lottery.entity;
+
+/**
+ * @program: lottery-system
+ * @ClassName
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-11 10:01
+ * @Version 1.0
+ **/
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("user")
+public class User {
+
+ @TableId(type = IdType.AUTO)
+ private Long id; // 主键ID(表中未显示但建议添加)
+
+
+ private String username; // 用户名
+
+
+ private String phone; // 手机号
+
+
+ private Integer status; // 状态(tinyint对应Integer)
+
+
+ private Date createTime; // 创建时间
+
+
+ private Date updateTime; // 更新时间
+}
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/WinnerRecord.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/WinnerRecord.java
new file mode 100644
index 0000000..6e95e09
--- /dev/null
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/WinnerRecord.java
@@ -0,0 +1,40 @@
+package com.lottery.entity;
+
+/**
+ * @program: lottery-system
+ * @ClassName
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-11 10:01
+ * @Version 1.0
+ **/
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+@TableName("winner_record")
+public class WinnerRecord {
+
+ @TableId(type = IdType.AUTO)
+ private Long id; // 主键ID
+
+ private Long userId; // 用户ID
+
+ private Long prizeId; // 奖品ID
+
+ private Long roundId; // 轮次ID
+
+ private Date winTime; // 中奖时间
+
+ private Boolean isClaimed; // 是否已领取(tinyint映射为Boolean)
+
+ private Date claimTime; // 领取时间
+}
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/service/Impl/PrizeServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/service/Impl/PrizeServiceImpl.java
index 87dc597..912f15b 100644
--- a/lottery-system/lottery-service/src/main/java/com/lottery/service/Impl/PrizeServiceImpl.java
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/service/Impl/PrizeServiceImpl.java
@@ -32,6 +32,8 @@ public class PrizeServiceImpl implements IPrizeService {
prize.setProbability(new BigDecimal(0.1));
prize.setPrizeType(1);
prize.setStatus(1);
+ prize.setCreateTime(new Date());
+ prize.setUpdateTime(new Date());
return prizeMapper.add(prize);
diff --git a/lottery-system/lottery-service/src/main/resources/application.yml b/lottery-system/lottery-service/src/main/resources/application.yml
index 4ae1511..adcf8b6 100644
--- a/lottery-system/lottery-service/src/main/resources/application.yml
+++ b/lottery-system/lottery-service/src/main/resources/application.yml
@@ -6,7 +6,7 @@ spring:
datasource:
url: jdbc:mysql://localhost:3306/lottery_system?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
- password: root
+ password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
hikari:
pool-name: LotteryHikariCP
diff --git a/lottery-system/pom.xml b/lottery-system/pom.xml
index a22a12e..1bfd4b5 100644
--- a/lottery-system/pom.xml
+++ b/lottery-system/pom.xml
@@ -73,6 +73,12 @@
test
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.3
+
+
org.apache.commons