| | |
| | |
|
| | |
|
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
| | | import com.baomidou.mybatisplus.core.metadata.IPage;
|
| | | import com.baomidou.mybatisplus.extension.api.ApiController;
|
| | | import com.baomidou.mybatisplus.extension.api.R;
|
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
| | | import com.github.pagehelper.PageHelper;
|
| | | import com.github.pagehelper.PageInfo;
|
| | | import com.ycl.entity.NewsColumnInformation;
|
| | | import com.ycl.entity.NewsInformation;
|
| | | import com.ycl.service.NewsColumnInformationService;
|
| | | import com.ycl.service.NewsInformationService;
|
| | | import com.ycl.vo.depart.UmsDepartVO;
|
| | | import io.swagger.annotations.Api;
|
| | | import io.swagger.annotations.ApiOperation;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | |
| | | import javax.annotation.Resource;
|
| | | import java.io.Serializable;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Collections;
|
| | | import java.util.List;
|
| | | import java.util.stream.Collectors;
|
| | | import java.util.stream.Stream;
|
| | |
|
| | | /**
|
| | | * 栏目咨询中间表(NewsColumnInformation)表控制层
|
| | |
| | | * @return 资讯查询结果
|
| | | */
|
| | | @GetMapping("column/{id}")
|
| | | @ApiOperation(value = "按")
|
| | | public R selectInformationByColumnId(@PathVariable Serializable id) {
|
| | | @ApiOperation(value = "按栏目id查询讯息")
|
| | | public R selectInformationByColumnId(@PathVariable Serializable id ,@RequestParam(value = "pageNum", required = false,defaultValue = "1")Integer pageNum,@RequestParam(value = "pageSize", required = false,defaultValue = "10")Integer pageSize) {
|
| | | List<NewsColumnInformation> newsColumnInformationList = newsColumnInformationService.list(new QueryWrapper<NewsColumnInformation>().eq("column_id", id));
|
| | | List<NewsInformation> resultList=new ArrayList<>();
|
| | | IPage<NewsInformation> page = new Page<>(pageNum, pageSize);
|
| | | for (NewsColumnInformation newsColumnInformation:newsColumnInformationList){
|
| | | resultList.add(newsInformationService.selectInformationById(newsColumnInformation.getInformationId()));
|
| | | }
|
| | | return success(resultList);
|
| | | }}
|
| | | page.setTotal(resultList.size());
|
| | | if (pageSize>resultList.size()){
|
| | | page.setRecords(resultList);
|
| | | }
|
| | | else {
|
| | | List<List<NewsInformation>> lists = split8(resultList, pageSize);
|
| | | page.setRecords(lists.get(pageNum-1));
|
| | | }
|
| | | return success(page);
|
| | | }
|
| | |
|
| | | public static <T> List<List<T>> split8(List<T> list,int splitSize){
|
| | | // 每份个数 splitSize
|
| | | if( null == list || list.isEmpty() ){ return Collections.emptyList(); }
|
| | | // 列表元素数,总份数
|
| | | int size = list.size(), cnt = (size + splitSize - 1 ) / splitSize;
|
| | | return Stream
|
| | | .iterate(0,i -> i+1 )
|
| | | .limit(cnt)
|
| | | .parallel()
|
| | | .map(i -> list.parallelStream().skip( i * splitSize ).limit(splitSize).collect(Collectors.toList()))
|
| | | .filter(a -> !a.isEmpty())
|
| | | .collect(Collectors.toList());
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | |
|