mirror of
https://github.com/201206030/novel-cloud.git
synced 2025-06-24 14:06:39 +00:00
新闻微服务开发完成,首页微服务开发中
This commit is contained in:
@ -0,0 +1,56 @@
|
||||
package com.java2nb.novel.news.controller;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.java2nb.novel.common.bean.ResultBean;
|
||||
import com.java2nb.novel.news.entity.News;
|
||||
import com.java2nb.novel.news.service.NewsService;
|
||||
import com.java2nb.novel.news.vo.NewsVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 11797
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("news")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@Api(tags = "新闻相关接口")
|
||||
public class NewsController {
|
||||
|
||||
private final NewsService newsService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询新闻列表接口
|
||||
* */
|
||||
@ApiOperation("分页查询新闻列表接口")
|
||||
@GetMapping("listByPage")
|
||||
public ResultBean<List<NewsVO>> listByPage(@ApiParam("当前页码") @RequestParam(value = "curr", defaultValue = "1") int page, @ApiParam("每页大小") @RequestParam(value = "limit", defaultValue = "5") int pageSize){
|
||||
return ResultBean.ok(new PageInfo<>(newsService.listByPage(page,pageSize)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新闻内容查询接口
|
||||
* */
|
||||
@ApiOperation("新闻内容查询接口")
|
||||
@GetMapping("{newsId}")
|
||||
public ResultBean<NewsVO> newsInfo(@ApiParam("新闻ID") @PathVariable("newsId") Long newsId) {
|
||||
News news = newsService.queryNewsInfo(newsId);
|
||||
NewsVO newsVO = new NewsVO();
|
||||
BeanUtils.copyProperties(news,newsVO);
|
||||
return ResultBean.ok(newsVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.java2nb.novel.news.controller.api;
|
||||
|
||||
import com.java2nb.novel.news.entity.News;
|
||||
import com.java2nb.novel.news.service.NewsService;
|
||||
import com.java2nb.novel.news.vo.NewsVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新闻微服务API接口(内部调用)
|
||||
* @author xiongxiaoyang
|
||||
* @version 1.0
|
||||
* @since 2020/5/27
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(("api/news"))
|
||||
@ApiIgnore
|
||||
@RequiredArgsConstructor
|
||||
public class NewsApi {
|
||||
|
||||
private final NewsService newsService;
|
||||
|
||||
/**
|
||||
* 查询最新新闻集合
|
||||
* @param limit 查询条数
|
||||
* @return 新闻集合
|
||||
* */
|
||||
@GetMapping("listLastIndexNews")
|
||||
List<News> listLastIndexNews(@RequestParam("limit") int limit){
|
||||
|
||||
return newsService.listLastIndexNews(limit);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package com.java2nb.novel.news.service;
|
||||
|
||||
|
||||
import com.java2nb.novel.news.entity.News;
|
||||
import com.java2nb.novel.news.vo.NewsVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新闻服务接口
|
||||
* @author xiongxiaoyang
|
||||
* @version 1.0
|
||||
* @since 2020/5/28
|
||||
*/
|
||||
public interface NewsService {
|
||||
|
||||
/**
|
||||
* 分页查询新闻列表接口
|
||||
* @param page 查询页码
|
||||
* @param pageSize 分页大小
|
||||
* @return 新闻列表集合
|
||||
* */
|
||||
List<NewsVO> listByPage(int page, int pageSize);
|
||||
|
||||
/**
|
||||
* 查询最新新闻集合
|
||||
* @param limit 查询条数
|
||||
* @return 新闻集合
|
||||
* */
|
||||
List<News> listLastIndexNews(int limit);
|
||||
|
||||
/**
|
||||
* 查询新闻
|
||||
* @param newsId 新闻id
|
||||
* @return 新闻
|
||||
* */
|
||||
News queryNewsInfo(Long newsId);
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.java2nb.novel.news.service.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.java2nb.novel.common.utils.BeanUtil;
|
||||
import com.java2nb.novel.news.entity.News;
|
||||
import com.java2nb.novel.news.mapper.NewsDynamicSqlSupport;
|
||||
import com.java2nb.novel.news.mapper.NewsMapper;
|
||||
import com.java2nb.novel.news.service.NewsService;
|
||||
import com.java2nb.novel.news.vo.NewsVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.mybatis.dynamic.sql.render.RenderingStrategies;
|
||||
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
|
||||
import static org.mybatis.dynamic.sql.select.SelectDSL.select;
|
||||
|
||||
/**
|
||||
* 新闻服务接口实现
|
||||
* @author xiongxiaoyang
|
||||
* @version 1.0
|
||||
* @since 2020/5/28
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class NewsServiceImpl implements NewsService {
|
||||
|
||||
private final NewsMapper newsMapper;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<NewsVO> listByPage(int page, int pageSize) {
|
||||
PageHelper.startPage(page,pageSize);
|
||||
SelectStatementProvider selectStatement =
|
||||
select(NewsDynamicSqlSupport.id, NewsDynamicSqlSupport.catName,
|
||||
NewsDynamicSqlSupport.catId, NewsDynamicSqlSupport.title,NewsDynamicSqlSupport.createTime)
|
||||
.from(NewsDynamicSqlSupport.news)
|
||||
.orderBy(NewsDynamicSqlSupport.createTime.descending())
|
||||
.build()
|
||||
.render(RenderingStrategies.MYBATIS3);
|
||||
|
||||
return BeanUtil.copyList(newsMapper.selectMany(selectStatement), NewsVO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<News> listLastIndexNews(int limit) {
|
||||
SelectStatementProvider selectStatement =
|
||||
select(NewsDynamicSqlSupport.id, NewsDynamicSqlSupport.catName,
|
||||
NewsDynamicSqlSupport.catId, NewsDynamicSqlSupport.title)
|
||||
.from(NewsDynamicSqlSupport.news)
|
||||
.orderBy(NewsDynamicSqlSupport.createTime.descending())
|
||||
.limit(limit)
|
||||
.build()
|
||||
.render(RenderingStrategies.MYBATIS3);
|
||||
return newsMapper.selectMany(selectStatement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public News queryNewsInfo(Long newsId) {
|
||||
SelectStatementProvider selectStatement = select(NewsDynamicSqlSupport.news.allColumns())
|
||||
.from(NewsDynamicSqlSupport.news)
|
||||
.where(NewsDynamicSqlSupport.id,isEqualTo(newsId))
|
||||
.build()
|
||||
.render(RenderingStrategies.MYBATIS3);
|
||||
return newsMapper.selectMany(selectStatement).get(0);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user