forked from RyanGoodwill/backend
createNews已完成
This commit is contained in:
parent
b4bdd2fc83
commit
65f15eb9a9
@ -1,17 +1,17 @@
|
|||||||
package org.cmh.backend.NewsManagement.controller;
|
package org.cmh.backend.NewsManagement.controller;
|
||||||
|
|
||||||
import org.cmh.backend.NewsManagement.dto.GetNewsByPageRequest;
|
import org.cmh.backend.NewsManagement.dto.GetNewsByPageRequest;
|
||||||
|
import org.cmh.backend.NewsManagement.dto.MessageResponse;
|
||||||
|
import org.cmh.backend.NewsManagement.dto.NewsRequest;
|
||||||
import org.cmh.backend.NewsManagement.model.News;
|
import org.cmh.backend.NewsManagement.model.News;
|
||||||
import org.cmh.backend.NewsManagement.service.NewsService;
|
import org.cmh.backend.NewsManagement.service.NewsService;
|
||||||
import org.cmh.backend.Utils.JwtVerify;
|
import org.cmh.backend.Utils.JwtVerify;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.dao.DataIntegrityViolationException;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/news")
|
@RequestMapping("/news")
|
||||||
@ -25,12 +25,19 @@ public class NewsController {
|
|||||||
return new ResponseEntity<>(newsService.getNewsByPage(request), HttpStatus.OK);
|
return new ResponseEntity<>(newsService.getNewsByPage(request), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @PostMapping
|
@PostMapping
|
||||||
// public ResponseEntity<String> createNews(@RequestBody NewsRequest request) {
|
@JwtVerify
|
||||||
// // TODO: 实现创建资讯的逻辑
|
public ResponseEntity<MessageResponse> createNews(@RequestBody NewsRequest request) {
|
||||||
// return new ResponseEntity<>("创建成功", HttpStatus.OK);
|
try {
|
||||||
// }
|
newsService.createNews(request);
|
||||||
//
|
} catch (DataIntegrityViolationException e) {
|
||||||
|
return new ResponseEntity<>(new MessageResponse("创建失败,文章已存在或缺少字段"), HttpStatus.BAD_REQUEST);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return new ResponseEntity<>(new MessageResponse("创建失败:" + e.getMessage()), HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
return new ResponseEntity<>(new MessageResponse("创建成功"), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
// @PutMapping("/{id}")
|
// @PutMapping("/{id}")
|
||||||
// public ResponseEntity<String> updateNews(@PathVariable Long id, @RequestBody NewsRequest request) {
|
// public ResponseEntity<String> updateNews(@PathVariable Long id, @RequestBody NewsRequest request) {
|
||||||
// // TODO: 实现修改资讯的逻辑
|
// // TODO: 实现修改资讯的逻辑
|
||||||
|
|||||||
@ -0,0 +1,12 @@
|
|||||||
|
package org.cmh.backend.NewsManagement.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class MessageResponse {
|
||||||
|
String message;
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package org.cmh.backend.NewsManagement.dto;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import org.cmh.backend.Utils.JwtRequest;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class NewsRequest extends JwtRequest {
|
||||||
|
private String title;
|
||||||
|
private String summary;
|
||||||
|
private String content;
|
||||||
|
private String imagePath;
|
||||||
|
private String author;
|
||||||
|
}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
package org.cmh.backend.NewsManagement.service;
|
package org.cmh.backend.NewsManagement.service;
|
||||||
|
|
||||||
import org.cmh.backend.NewsManagement.dto.GetNewsByPageRequest;
|
import org.cmh.backend.NewsManagement.dto.GetNewsByPageRequest;
|
||||||
|
import org.cmh.backend.NewsManagement.dto.NewsRequest;
|
||||||
import org.cmh.backend.NewsManagement.model.News;
|
import org.cmh.backend.NewsManagement.model.News;
|
||||||
import org.cmh.backend.NewsManagement.repository.NewsRepository;
|
import org.cmh.backend.NewsManagement.repository.NewsRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -26,4 +27,14 @@ public class NewsService {
|
|||||||
Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
|
Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
|
||||||
return newsRepository.findAllByOrderByIdDesc(pageable);
|
return newsRepository.findAllByOrderByIdDesc(pageable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void createNews(NewsRequest request) {
|
||||||
|
News news = new News();
|
||||||
|
news.setTitle(request.getTitle());
|
||||||
|
news.setSummary(request.getSummary());
|
||||||
|
news.setContent(request.getContent());
|
||||||
|
news.setAuthor(request.getAuthor());
|
||||||
|
news.setImagePath(request.getImagePath());
|
||||||
|
newsRepository.save(news);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user