diff --git a/src/main/java/com/zhiyun/zhiyun03/application/config/HospConfig.java b/src/main/java/com/zhiyun/zhiyun03/application/config/HospConfig.java new file mode 100644 index 0000000..021a85b --- /dev/null +++ b/src/main/java/com/zhiyun/zhiyun03/application/config/HospConfig.java @@ -0,0 +1,16 @@ +package com.zhiyun.zhiyun03.application.config; + +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class HospConfig { + /** + * 分页插件 + */ + @Bean + public PaginationInnerInterceptor paginationInnerInterceptor(){ + return new PaginationInnerInterceptor(); + } +} diff --git a/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java b/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java index 64519bf..366ad1f 100644 --- a/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java +++ b/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java @@ -1,11 +1,14 @@ package com.zhiyun.zhiyun03.application.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhiyun.zhiyun03.application.config.HospConfig; import com.zhiyun.zhiyun03.application.entity.Application; import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.application.service.ApplicationService; import com.zhiyun.zhiyun03.application.vo.ApplicationVo; import com.zhiyun.zhiyun03.utils.common.JsonResult; import com.zhiyun.zhiyun03.utils.common.ResultCode; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -22,8 +25,8 @@ public class ApplicationController { @RequestMapping("/queryApplication") - public JsonResult queryApplication(){ - List list = applicationService.queryApplication(); + public JsonResult queryApplication(@RequestBody Page page){ + Page list = applicationService.queryApplication(page); return JsonResult.success(list); } diff --git a/src/main/java/com/zhiyun/zhiyun03/application/service/ApplicationService.java b/src/main/java/com/zhiyun/zhiyun03/application/service/ApplicationService.java index 0aac4b4..bf7462d 100644 --- a/src/main/java/com/zhiyun/zhiyun03/application/service/ApplicationService.java +++ b/src/main/java/com/zhiyun/zhiyun03/application/service/ApplicationService.java @@ -1,5 +1,6 @@ package com.zhiyun.zhiyun03.application.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhiyun.zhiyun03.application.entity.Application; import com.zhiyun.zhiyun03.application.entity.Directory; @@ -8,7 +9,7 @@ import com.zhiyun.zhiyun03.application.vo.ApplicationVo; import java.util.List; public interface ApplicationService extends IService { - List queryApplication(); + Page queryApplication(Page page); int addApplication(ApplicationVo applicationVo); diff --git a/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java index acbae65..540a227 100644 --- a/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java +++ b/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java @@ -1,7 +1,9 @@ package com.zhiyun.zhiyun03.application.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fasterxml.jackson.databind.util.BeanUtil; import com.zhiyun.zhiyun03.application.entity.Application; import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.application.mapper.ApplicationMapper; @@ -9,6 +11,8 @@ import com.zhiyun.zhiyun03.application.mapper.DirectoryMapper; import com.zhiyun.zhiyun03.application.service.ApplicationService; import com.zhiyun.zhiyun03.utils.convert.ConvertUtil; import com.zhiyun.zhiyun03.application.vo.ApplicationVo; +import com.zhiyun.zhiyun03.utils.convert.Switch; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -26,33 +30,35 @@ public class ApplicationServiceImpl extends ServiceImpl queryApplication() { + public Page queryApplication(Page page) { //查询应用中心 QueryWrapper qwa=new QueryWrapper<>(); - List applications = applicationMapper.selectList(qwa); + Page applicationPage = applicationMapper.selectPage(page,qwa); //查询目录 QueryWrapper qwd=new QueryWrapper<>(); List directories = directoryMapper.selectList(qwd); ConvertUtil convertUtil=new ConvertUtil(); - //将实体类转换成vo类 - List applicationVos = convertUtil.entityToVoList(applications, ApplicationVo.class); - - for (int i = 0; i < applications.size(); i++) { +// 将实体类转换成vo类 + List applicationVos = convertUtil.entityToVoList(applicationPage.getRecords(), ApplicationVo.class); + for (int i = 0; i < applicationPage.getRecords().size(); i++) { for (int j = 0; j pageVo=new Page<>(); + //将List转成page并返回 + Switch aSwitch=new Switch(); + aSwitch.ListToPage(pageVo,applicationVos); + return pageVo; } /** diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/convert/Switch.java b/src/main/java/com/zhiyun/zhiyun03/utils/convert/Switch.java new file mode 100644 index 0000000..924335b --- /dev/null +++ b/src/main/java/com/zhiyun/zhiyun03/utils/convert/Switch.java @@ -0,0 +1,31 @@ +package com.zhiyun.zhiyun03.utils.convert; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; + +/** + * @Author tanzheng + * @Description 类型转换 + * @Date 2023/8/10 + * @Param [params] + **/ +public class Switch { + + /** + * List转Page + * @param + * @return + */ + public Page ListToPage(Page page,List list) { + int start=(int)((page.getCurrent()-1)*page.getSize()); + int end=(int)((start+page.getSize())>list.size()? list.size():(page.getSize()*page.getCurrent())); + page.setRecords(list); + page.setTotal(list.size()); + if(page.getSize()*(page.getCurrent()-1)<=page.getTotal()){ + page.setRecords(list.subList(start,end)); + } + return page; + } +}