Browse Source

实现一些接口

feature/0725lihuilin
willy 1 month ago
parent
commit
52771015a5
  1. 8
      .idea/.gitignore
  2. 22
      .idea/compiler.xml
  3. 10
      .idea/encodings.xml
  4. 20
      .idea/jarRepositories.xml
  5. 9
      .idea/lottery.iml
  6. 14
      .idea/misc.xml
  7. 8
      .idea/modules.xml
  8. 6
      .idea/vcs.xml
  9. 37
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PageInfo.java
  10. 13
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java
  11. 10
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java
  12. 39
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java
  13. 10
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java
  14. 18
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminPrizeService.java
  15. 26
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
  16. 50
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java
  17. 4
      lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
  18. 39
      lottery-system/lottery-service/src/main/java/com/lottery/config/MybatisPageConfig.java
  19. 2
      lottery-system/lottery-service/src/main/resources/application.yml
  20. 7
      lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml
  21. 5
      lottery-system/pom.xml

8
.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

22
.idea/compiler.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="lottery-service" />
<module name="lottery-common" />
<module name="lottery-pojo" />
</profile>
</annotationProcessing>
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="lottery-common" options="-parameters" />
<module name="lottery-pojo" options="-parameters" />
<module name="lottery-service" options="-parameters" />
</option>
</component>
</project>

10
.idea/encodings.xml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/lottery-system/lottery-common/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/lottery-system/lottery-pojo/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/lottery-system/lottery-service/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/lottery-system/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/lottery-system/src/main/resources" charset="UTF-8" />
</component>
</project>

20
.idea/jarRepositories.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
</component>
</project>

9
.idea/lottery.iml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

14
.idea/misc.xml

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/lottery-system/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/lottery.iml" filepath="$PROJECT_DIR$/.idea/lottery.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

37
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<T> implements Serializable {
private static final long serialVersionUID = 1L;
private List<T> list; // 当前页数据
private long total; // 总记录数
private int pageNum; // 当前页码
private int pageSize; // 每页数量
private int pages; // 总页数
// 可以从Page对象构造
public static <T> PageInfo<T> of(Page<?> page, List<T> list) {
PageInfo<T> 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;
}
}

13
lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java

@ -2,6 +2,9 @@ package com.lottery.vo;
import lombok.Data; import lombok.Data;
import java.security.PrivateKey;
import java.util.Date;
/** /**
* @program: lottery-system * @program: lottery-system
* @ClassName PrizeVo * @ClassName PrizeVo
@ -13,10 +16,18 @@ import lombok.Data;
@Data @Data
public class PrizeVo { public class PrizeVo {
private String name;
private Long prizeId;
private String PrizeName;
private String imageUrl; private String imageUrl;
private String gradeName;
private Date createTime;
private Date updateTime;
// private int amount; // private int amount;
// //
// private int grade; // private int grade;

10
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.result.Result;
import com.lottery.utils.ConvertBeanUtil; import com.lottery.utils.ConvertBeanUtil;
import com.lottery.vo.GradeVo; import com.lottery.vo.GradeVo;
import com.lottery.vo.PageInfo;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -39,9 +40,12 @@ public class AdminGradeController {
@GetMapping("/list") @GetMapping("/list")
public Result<List<GradeVo>> selectGrade(){
LOGGER.info("查询所有等级");
return Result.success(ConvertBeanUtil.convertList(adminGradeService.list(), GradeVo.class));
public Result<PageInfo<GradeVo>> selectGrade( @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize){
LOGGER.info("列分页查询等级表, 页码: {}, 每页大小: {}", pageNum, pageSize);
PageInfo<GradeVo> pageSelectGrade = adminGradeService.pageSelectGrade(pageNum, pageSize);
return Result.success(pageSelectGrade);
} }
@GetMapping("/details") @GetMapping("/details")

39
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<PageInfo<PrizeVo>> listPrize(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) {
LOGGER.info("列分页查询l礼品表, 页码: {}, 每页大小: {}", pageNum, pageSize);
PageInfo<PrizeVo> pageInfo = adminPrizeService.pageListPrize(pageNum, pageSize);
return Result.success(pageInfo);
}
}

10
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java

@ -1,10 +1,18 @@
package com.lottery.admin.service; 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.baomidou.mybatisplus.extension.service.IService;
import com.lottery.dto.GradeDto; import com.lottery.dto.GradeDto;
import com.lottery.entity.Grade; import com.lottery.entity.Grade;
import com.lottery.vo.GradeVo;
import com.lottery.vo.PageInfo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.persistence.criteria.CriteriaBuilder;
/** /**
* @program: lottery-system * @program: lottery-system
* @ClassName IGradeService * @ClassName IGradeService
@ -16,6 +24,8 @@ import org.springframework.stereotype.Service;
public interface AdminGradeService extends IService<Grade> { public interface AdminGradeService extends IService<Grade> {
PageInfo<GradeVo> pageSelectGrade(Integer pageNum, Integer pageSize);
// boolean updateGrade(GradeDto gradeDto); // boolean updateGrade(GradeDto gradeDto);
} }

18
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<Prize> {
PageInfo<PrizeVo> pageListPrize(int pageNum, int pageSize);
}

26
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java

@ -1,6 +1,9 @@
package com.lottery.admin.service.Impl; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lottery.LotteryApplication;
import com.lottery.admin.mapper.AdminGradeMapper; import com.lottery.admin.mapper.AdminGradeMapper;
import com.lottery.admin.service.AdminGradeService; import com.lottery.admin.service.AdminGradeService;
import com.lottery.dto.GradeDto; import com.lottery.dto.GradeDto;
@ -8,10 +11,14 @@ import com.lottery.entity.Grade;
import com.lottery.exception.SomeException; import com.lottery.exception.SomeException;
import com.lottery.result.Result; import com.lottery.result.Result;
import com.lottery.utils.ConvertBeanUtil; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @program: lottery-system * @program: lottery-system
@ -25,6 +32,25 @@ import java.util.Date;
@Service @Service
public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> implements AdminGradeService { public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> implements AdminGradeService {
/**
* |分页查询
* @param pageNum
* @param pageSize
* @return
*/
@Override
public PageInfo<GradeVo> pageSelectGrade(Integer pageNum, Integer pageSize) {
Page<Grade> page = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<Grade> gradeLambdaQueryWrapper = new LambdaQueryWrapper<>();
gradeLambdaQueryWrapper.orderByDesc(Grade::getSort);
Page<Grade> gradePage = this.page(page, gradeLambdaQueryWrapper);
List<GradeVo> gradeVos = ConvertBeanUtil.convertList(gradePage.getRecords(), GradeVo.class);
return PageInfo.of(gradePage, gradeVos);
}
// @Autowired // @Autowired
// private AdminGradeMapper adminGradeMapper; // private AdminGradeMapper adminGradeMapper;

50
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<IPrizeMapper, Prize> implements AdminPrizeService {
@Autowired
private IGradeMapper gradeMapper;
@Autowired
private IPrizeMapper prizeMapper;
@Override
public PageInfo<PrizeVo> pageListPrize(int pageNum, int pageSize) {
Page<Prize> page = new Page<>(pageNum, pageSize);
//关联grade查询sortprize表也按照g.sort排序
LambdaQueryWrapper<Prize> prizeLambdaQueryWrapper = new LambdaQueryWrapper<>();
Page<Prize> pagePrize = prizeMapper.pageListPrize(page, prizeLambdaQueryWrapper);
List<PrizeVo> prizeVos = ConvertBeanUtil.convertList(pagePrize.getRecords(), PrizeVo.class);
return PageInfo.of(pagePrize, prizeVos);
}
}

4
lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java

@ -1,6 +1,8 @@
package com.lottery.api.mapper; package com.lottery.api.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lottery.entity.Prize; import com.lottery.entity.Prize;
import com.lottery.vo.PrizeAndGradeVo; import com.lottery.vo.PrizeAndGradeVo;
import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Insert;
@ -21,4 +23,6 @@ import java.util.List;
public interface IPrizeMapper extends BaseMapper<Prize> { public interface IPrizeMapper extends BaseMapper<Prize> {
List<PrizeAndGradeVo> selectPrizeAndGrade(); List<PrizeAndGradeVo> selectPrizeAndGrade();
Page<Prize> pageListPrize(Page<Prize> page, LambdaQueryWrapper<Prize> prizeLambdaQueryWrapper);
} }

39
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;
}
}

2
lottery-system/lottery-service/src/main/resources/application.yml

@ -6,7 +6,7 @@ spring:
datasource: datasource:
url: jdbc:mysql://localhost:3306/lottery_system?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai url: jdbc:mysql://localhost:3306/lottery_system?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root username: root
password: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
hikari: hikari:
pool-name: LotteryHikariCP pool-name: LotteryHikariCP

7
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 left join grade g on p.grade_id = g.id
order by g.sort desc order by g.sort desc
</select> </select>
<select id="pageListPrize" resultType="com.lottery.entity.Prize">
select p.prize_name, p.image_url, g.grade_name
from prize p
left join grade g on p.grade_id = g.id
order by g.sort desc
</select>
</mapper> </mapper>

5
lottery-system/pom.xml

@ -103,10 +103,7 @@
<version>0.11.5</version> <version>0.11.5</version>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>
Loading…
Cancel
Save