新增新闻接口

This commit is contained in:
20932067@zju.edu.cn 2021-04-12 14:08:54 +08:00
parent e487ede8c2
commit 072c104f24
8 changed files with 319 additions and 1 deletions

View File

@ -0,0 +1,100 @@
package live.tomey.api.express.controller;
import live.tomey.api.express.aop.PassToken;
import live.tomey.api.express.dto.Result;
import live.tomey.api.express.dto.ServerResult;
import live.tomey.api.express.entity.News;
import live.tomey.api.express.service.NewsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author 18209
* @Date 2021/4/11 16:15
* @Version 1.0
*/
@RestController
@RequestMapping("/news")
public class NewsServiceController {
@Autowired
private NewsService newsService;
@PassToken
@PostMapping
private Result<List<News>> getList(@RequestBody News news) {
try {
ServerResult<List<News>> serverResult = newsService.getNewsList(news);
if (serverResult.isStart()) {
return new Result<>(true, serverResult.getData());
} else {
return new Result<>(false, -1, serverResult.getMsg());
}
} catch (RuntimeException e) {
return new Result<>(false, -1, e.getMessage());
}
}
@PassToken
@GetMapping(value = "/{id}")
private Result<News> getNews(@PathVariable("id") Long id) {
try {
ServerResult<News> serverResult = newsService.getNewsById(id);
if (serverResult.isStart()) {
return new Result<>(true, serverResult.getData());
} else {
return new Result<>(false, -1, serverResult.getMsg());
}
} catch (RuntimeException e) {
return new Result<>(false, -1, e.getMessage());
}
}
@PassToken
@PostMapping("/add")
private Result<String> addNews(@RequestBody News news){
try {
ServerResult<Integer> serverResult = newsService.addNews(news);
if (serverResult.isStart()) {
return new Result<>(true, "操作成功");
} else {
return new Result<>(false, -1, serverResult.getMsg());
}
} catch (RuntimeException e) {
return new Result<>(false, -1, e.getMessage());
}
}
@PassToken
@PostMapping("/edit")
private Result<String> editNews(@RequestBody News news){
try {
ServerResult<Integer> serverResult = newsService.editNewsById(news);
if (serverResult.isStart()) {
return new Result<>(true, "操作成功");
} else {
return new Result<>(false, -1, serverResult.getMsg());
}
} catch (RuntimeException e) {
return new Result<>(false, -1, e.getMessage());
}
}
@PassToken
@GetMapping("/remove/{id}")
private Result<String> removeNews(@PathVariable("id") Long id){
try {
ServerResult<Integer> serverResult = newsService.removeNewsById(id);
if (serverResult.isStart()) {
return new Result<>(true, "操作成功");
} else {
return new Result<>(false, -1, serverResult.getMsg());
}
} catch (RuntimeException e) {
return new Result<>(false, -1, e.getMessage());
}
}
}

View File

@ -0,0 +1,24 @@
package live.tomey.api.express.dao;
import live.tomey.api.express.entity.News;
import java.util.List;
/**
* @Author 18209
* @Date 2021/4/11 15:50
* @Version 1.0
*/
public interface NewsDao {
List<News> queryNewsList(News news);
News queryNewsById(Long id);
Integer insertNews(News news);
Integer updateNewsById(News news);
Integer deleteNewsById(Long id);
}

View File

@ -33,6 +33,11 @@ public class ServerResult<T> {
this.msg = msg;
}
public ServerResult(boolean start) {
this.start = start;
this.msg = "操作失败";
}
public T getData() {
return data;
}

View File

@ -0,0 +1,47 @@
package live.tomey.api.express.entity;
public class News {
private long id;
private String title;
private String imgUrl;
private String content;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getImgUrl() {
return imgUrl;
}
public void setImgUrl(String imgUrl) {
this.imgUrl = imgUrl;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}

View File

@ -0,0 +1,23 @@
package live.tomey.api.express.service;
import live.tomey.api.express.dto.ServerResult;
import live.tomey.api.express.entity.News;
import java.util.List;
/**
* @Author 18209
* @Date 2021/4/11 16:08
* @Version 1.0
*/
public interface NewsService {
ServerResult<List<News>> getNewsList(News news);
ServerResult<News> getNewsById(Long id);
ServerResult<Integer> addNews(News news);
ServerResult<Integer> editNewsById(News news);
ServerResult<Integer> removeNewsById(Long id);
}

View File

@ -0,0 +1,82 @@
package live.tomey.api.express.service.impl;
import live.tomey.api.express.dao.NewsDao;
import live.tomey.api.express.dto.ServerResult;
import live.tomey.api.express.entity.News;
import live.tomey.api.express.service.NewsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author 18209
* @Date 2021/4/11 16:09
* @Version 1.0
*/
@Service
public class NewsServiceImpl implements NewsService {
@Autowired
private NewsDao newsDao;
@Override
public ServerResult<List<News>> getNewsList(News news) {
try {
List<News> newsList = newsDao.queryNewsList(news);
return new ServerResult<>(true,newsList);
}catch (RuntimeException e){
return new ServerResult<>(false);
}
}
@Override
public ServerResult<News> getNewsById(Long id) {
try {
News news = newsDao.queryNewsById(id);
return new ServerResult<>(true,news);
}catch (RuntimeException e){
return new ServerResult<>(false);
}
}
@Override
public ServerResult<Integer> addNews(News news) {
try {
Integer num = newsDao.insertNews(news);
if (num>0){
return new ServerResult<>(true);
}else {
return new ServerResult<>(false);
}
}catch (RuntimeException e){
return new ServerResult<>(false);
}
}
@Override
public ServerResult<Integer> editNewsById(News news) {
try {
Integer num = newsDao.updateNewsById(news);
if (num>0){
return new ServerResult<>(true);
}else {
return new ServerResult<>(false);
}
}catch (RuntimeException e){
return new ServerResult<>(false);
}
}
@Override
public ServerResult<Integer> removeNewsById(Long id) {
try {
Integer num = newsDao.deleteNewsById(id);
if (num>0){
return new ServerResult<>(true);
}else {
return new ServerResult<>(false);
}
}catch (RuntimeException e){
return new ServerResult<>(false);
}
}
}

View File

@ -10,7 +10,7 @@ alibaba.cloud.secret-key=****
# 应用服务 WEB 访问端口
server.port=8083
server.servlet.context-path=/api
logging.level.root=error
logging.level.root=debug
# Actuator Web 访问端口
management.server.port=8081

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="live.tomey.api.express.dao.NewsDao">
<insert id="insertNews" parameterType="live.tomey.api.express.entity.News">
INSERT INTO news (title, img_url, content)
values (#{title},#{imgUrl},#{content})
</insert>
<select id="queryNewsList" parameterType="live.tomey.api.express.entity.News"
resultType="live.tomey.api.express.entity.News">
SELECT *
from news
<where>
<if test="title != null and title != ''">and title like concat('%', #{title}, '%')</if>
<if test="imgUrl != null and imgUrl != ''">and img_url like concat('%', #{imgUrl}, '%')</if>
<if test="content != null and content != ''">and content like concat('%', #{content}, '%')</if>
</where>
</select>
<select id="queryNewsById" resultType="live.tomey.api.express.entity.News">
SELECT *
FROM news
WHERE news.id = #{id}
</select>
<update id="updateNewsById" parameterType="live.tomey.api.express.entity.News">
update news
<trim prefix="SET" suffixOverrides=",">
<if test="title != null and title != ''">title = #{title},</if>
<if test="imgUrl != null and imgUrl != ''">img_url = #{imgUrl},</if>
<if test="content != null and content != ''">content = #{content},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteNewsById">
DELETE FROM news WHERE id = #{id}
</delete>
</mapper>