From 52771015a502e09ddae72de202874cd0d995c8fc Mon Sep 17 00:00:00 2001
From: willy <2462310981@qq.com>
Date: Tue, 15 Jul 2025 11:39:49 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=B8=80=E4=BA=9B=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/.gitignore | 8 ++++
.idea/compiler.xml | 22 ++++++++++
.idea/encodings.xml | 10 +++++
.idea/jarRepositories.xml | 20 +++++++++
.idea/lottery.iml | 9 ++++
.idea/misc.xml | 14 ++++++
.idea/modules.xml | 8 ++++
.idea/vcs.xml | 6 +++
.../src/main/java/com/lottery/vo/PageInfo.java | 37 ++++++++++++++++
.../src/main/java/com/lottery/vo/PrizeVo.java | 13 +++++-
.../admin/controller/AdminGradeController.java | 10 +++--
.../admin/controller/AdminPrizeController.java | 39 +++++++++++++++++
.../lottery/admin/service/AdminGradeService.java | 10 +++++
.../lottery/admin/service/AdminPrizeService.java | 18 ++++++++
.../admin/service/Impl/AdminGradeServiceImpl.java | 26 +++++++++++
.../admin/service/Impl/AdminPrizeServiceImpl.java | 50 ++++++++++++++++++++++
.../java/com/lottery/api/mapper/IPrizeMapper.java | 4 ++
.../java/com/lottery/config/MybatisPageConfig.java | 39 +++++++++++++++++
.../src/main/resources/application.yml | 2 +-
.../src/main/resources/mapper/api/prizeMapper.xml | 7 +++
lottery-system/pom.xml | 5 +--
21 files changed, 348 insertions(+), 9 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/lottery.iml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PageInfo.java
create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java
create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminPrizeService.java
create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java
create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/config/MybatisPageConfig.java
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..b89bc14
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..8d952cd
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..abb532a
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/lottery.iml b/.idea/lottery.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/lottery.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..8544af1
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..ab684d5
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PageInfo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PageInfo.java
new file mode 100644
index 0000000..4f45221
--- /dev/null
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PageInfo.java
@@ -0,0 +1,37 @@
+package com.lottery.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @program: lottery
+ * @ClassName PageInfo
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-15 10:20
+ * @Version 1.0
+ **/
+@Data
+public class PageInfo implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private List list; // 当前页数据
+ private long total; // 总记录数
+ private int pageNum; // 当前页码
+ private int pageSize; // 每页数量
+ private int pages; // 总页数
+
+ // 可以从Page对象构造
+ public static PageInfo of(Page> page, List list) {
+ PageInfo pageInfo = new PageInfo<>();
+ pageInfo.setList(list);
+ pageInfo.setTotal(page.getTotal());
+ pageInfo.setPageNum((int) page.getCurrent());
+ pageInfo.setPageSize((int) page.getSize());
+ pageInfo.setPages((int) page.getPages());
+ return pageInfo;
+ }
+}
\ No newline at end of file
diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java
index 4b76a3c..e8cc434 100644
--- a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java
+++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java
@@ -2,6 +2,9 @@ package com.lottery.vo;
import lombok.Data;
+import java.security.PrivateKey;
+import java.util.Date;
+
/**
* @program: lottery-system
* @ClassName PrizeVo
@@ -13,10 +16,18 @@ import lombok.Data;
@Data
public class PrizeVo {
- private String name;
+ private Long prizeId;
+
+ private String PrizeName;
private String imageUrl;
+ private String gradeName;
+
+ private Date createTime;
+
+ private Date updateTime;
+
// private int amount;
//
// private int grade;
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java
index f5efe7c..686afbc 100644
--- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java
@@ -8,6 +8,7 @@ import com.lottery.exception.SomeException;
import com.lottery.result.Result;
import com.lottery.utils.ConvertBeanUtil;
import com.lottery.vo.GradeVo;
+import com.lottery.vo.PageInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,9 +40,12 @@ public class AdminGradeController {
@GetMapping("/list")
- public Result> selectGrade(){
- LOGGER.info("查询所有等级");
- return Result.success(ConvertBeanUtil.convertList(adminGradeService.list(), GradeVo.class));
+ public Result> selectGrade( @RequestParam(defaultValue = "1") Integer pageNum,
+ @RequestParam(defaultValue = "10") Integer pageSize){
+ LOGGER.info("列分页查询等级表, 页码: {}, 每页大小: {}", pageNum, pageSize);
+
+ PageInfo pageSelectGrade = adminGradeService.pageSelectGrade(pageNum, pageSize);
+ return Result.success(pageSelectGrade);
}
@GetMapping("/details")
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java
new file mode 100644
index 0000000..ec77096
--- /dev/null
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java
@@ -0,0 +1,39 @@
+package com.lottery.admin.controller;
+
+import com.lottery.admin.service.AdminPrizeService;
+import com.lottery.result.Result;
+import com.lottery.vo.PageInfo;
+import com.lottery.vo.PrizeVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @program: lottery
+ * @ClassName AdminPrizeController
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-15 10:06
+ * @Version 1.0
+ **/
+@RestController
+@RequestMapping("/admin/prize")
+public class AdminPrizeController {
+
+ @Autowired
+ private AdminPrizeService adminPrizeService;
+
+ private final static Logger LOGGER = LoggerFactory.getLogger(AdminPrizeController.class);
+
+ @GetMapping("list")
+ public Result> listPrize(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) {
+ LOGGER.info("列分页查询l礼品表, 页码: {}, 每页大小: {}", pageNum, pageSize);
+
+ PageInfo pageInfo = adminPrizeService.pageListPrize(pageNum, pageSize);
+ return Result.success(pageInfo);
+ }
+}
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java
index 1b9b61a..20181c4 100644
--- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java
@@ -1,10 +1,18 @@
package com.lottery.admin.service;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lottery.dto.GradeDto;
import com.lottery.entity.Grade;
+import com.lottery.vo.GradeVo;
+import com.lottery.vo.PageInfo;
import org.springframework.stereotype.Service;
+import javax.persistence.criteria.CriteriaBuilder;
+
/**
* @program: lottery-system
* @ClassName IGradeService
@@ -16,6 +24,8 @@ import org.springframework.stereotype.Service;
public interface AdminGradeService extends IService {
+ PageInfo pageSelectGrade(Integer pageNum, Integer pageSize);
+
// boolean updateGrade(GradeDto gradeDto);
}
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminPrizeService.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminPrizeService.java
new file mode 100644
index 0000000..1b9744c
--- /dev/null
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminPrizeService.java
@@ -0,0 +1,18 @@
+package com.lottery.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lottery.entity.Prize;
+import com.lottery.vo.PageInfo;
+import com.lottery.vo.PrizeVo;
+
+/**
+ * @program: lottery
+ * @ClassName AdminPrizeService
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-15 10:07
+ * @Version 1.0
+ **/
+public interface AdminPrizeService extends IService {
+ PageInfo pageListPrize(int pageNum, int pageSize);
+}
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
index a5a3d72..f7c30a0 100644
--- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
@@ -1,6 +1,9 @@
package com.lottery.admin.service.Impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lottery.LotteryApplication;
import com.lottery.admin.mapper.AdminGradeMapper;
import com.lottery.admin.service.AdminGradeService;
import com.lottery.dto.GradeDto;
@@ -8,10 +11,14 @@ import com.lottery.entity.Grade;
import com.lottery.exception.SomeException;
import com.lottery.result.Result;
import com.lottery.utils.ConvertBeanUtil;
+import com.lottery.vo.GradeVo;
+import com.lottery.vo.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
+
import org.springframework.stereotype.Service;
import java.util.Date;
+import java.util.List;
/**
* @program: lottery-system
@@ -25,6 +32,25 @@ import java.util.Date;
@Service
public class AdminGradeServiceImpl extends ServiceImpl implements AdminGradeService {
+ /**
+ * |分页查询
+ * @param pageNum
+ * @param pageSize
+ * @return
+ */
+ @Override
+ public PageInfo pageSelectGrade(Integer pageNum, Integer pageSize) {
+
+ Page page = new Page<>(pageNum, pageSize);
+
+ LambdaQueryWrapper gradeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ gradeLambdaQueryWrapper.orderByDesc(Grade::getSort);
+ Page gradePage = this.page(page, gradeLambdaQueryWrapper);
+
+ List gradeVos = ConvertBeanUtil.convertList(gradePage.getRecords(), GradeVo.class);
+ return PageInfo.of(gradePage, gradeVos);
+ }
+
// @Autowired
// private AdminGradeMapper adminGradeMapper;
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java
new file mode 100644
index 0000000..5aa87f2
--- /dev/null
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java
@@ -0,0 +1,50 @@
+package com.lottery.admin.service.Impl;
+
+import ch.qos.logback.classic.spi.EventArgUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lottery.admin.service.AdminPrizeService;
+import com.lottery.api.mapper.IGradeMapper;
+import com.lottery.api.mapper.IPrizeMapper;
+import com.lottery.entity.Prize;
+import com.lottery.utils.ConvertBeanUtil;
+import com.lottery.vo.PageInfo;
+import com.lottery.vo.PrizeVo;
+import net.bytebuddy.implementation.auxiliary.AuxiliaryType;
+import org.hibernate.engine.jdbc.connections.internal.ConnectionValidator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.lang.module.Configuration;
+import java.util.List;
+
+/**
+ * @program: lottery
+ * @ClassName AdminPrizeServiceImpl
+ * @description:
+ * @author: wwl
+ * @create: 2025-07-15 10:07
+ * @Version 1.0
+ **/
+@Service
+public class AdminPrizeServiceImpl extends ServiceImpl implements AdminPrizeService {
+
+ @Autowired
+ private IGradeMapper gradeMapper;
+
+ @Autowired
+ private IPrizeMapper prizeMapper;
+
+ @Override
+ public PageInfo pageListPrize(int pageNum, int pageSize) {
+ Page page = new Page<>(pageNum, pageSize);
+
+ //关联grade查询sort,prize表也按照g.sort排序
+ LambdaQueryWrapper prizeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ Page pagePrize = prizeMapper.pageListPrize(page, prizeLambdaQueryWrapper);
+
+ List prizeVos = ConvertBeanUtil.convertList(pagePrize.getRecords(), PrizeVo.class);
+ return PageInfo.of(pagePrize, prizeVos);
+ }
+}
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
index e83886d..8db8eae 100644
--- a/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
@@ -1,6 +1,8 @@
package com.lottery.api.mapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lottery.entity.Prize;
import com.lottery.vo.PrizeAndGradeVo;
import org.apache.ibatis.annotations.Insert;
@@ -21,4 +23,6 @@ import java.util.List;
public interface IPrizeMapper extends BaseMapper {
List selectPrizeAndGrade();
+
+ Page pageListPrize(Page page, LambdaQueryWrapper prizeLambdaQueryWrapper);
}
diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/config/MybatisPageConfig.java b/lottery-system/lottery-service/src/main/java/com/lottery/config/MybatisPageConfig.java
new file mode 100644
index 0000000..58e7da9
--- /dev/null
+++ b/lottery-system/lottery-service/src/main/java/com/lottery/config/MybatisPageConfig.java
@@ -0,0 +1,39 @@
+package com.lottery.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Collections;
+
+/**
+ * @Author idea
+ * @Date: Created in 18:56 2023/7/23
+ * @Description
+ */
+@Configuration
+public class MybatisPageConfig {
+
+ /**
+ * 分页插件 3.5.X
+ */
+ @Bean
+ public PaginationInnerInterceptor paginationInnerInterceptor() {
+ PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor();
+ // 设置最大单页限制数量,默认 500 条,-1 不受限制
+ paginationInterceptor.setMaxLimit(1000L);
+ paginationInterceptor.setDbType(DbType.MYSQL);
+ // 开启 count 的 join 优化,只针对部分 left join
+ paginationInterceptor.setOptimizeJoin(true);
+ return paginationInterceptor;
+ }
+
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor(){
+ MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
+ mybatisPlusInterceptor.setInterceptors(Collections.singletonList(paginationInnerInterceptor()));
+ return mybatisPlusInterceptor;
+ }
+}
diff --git a/lottery-system/lottery-service/src/main/resources/application.yml b/lottery-system/lottery-service/src/main/resources/application.yml
index 7cc8330..c1cf29a 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/lottery-service/src/main/resources/mapper/api/prizeMapper.xml b/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml
index dd72444..4cbc009 100644
--- a/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml
+++ b/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml
@@ -8,4 +8,11 @@
left join grade g on p.grade_id = g.id
order by g.sort desc
+
+
\ No newline at end of file
diff --git a/lottery-system/pom.xml b/lottery-system/pom.xml
index 8de5a64..95166ac 100644
--- a/lottery-system/pom.xml
+++ b/lottery-system/pom.xml
@@ -103,10 +103,7 @@
0.11.5
runtime
-
-
-
-
+