feat(文章/疯言疯语): 添加状态管理功能
实现文章和疯言疯语内容的状态管理,支持按状态查询和更新 允许公开访问文章查看接口 完善相关文档和日志记录
This commit is contained in:
@@ -13,6 +13,8 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@@ -25,63 +27,91 @@ public class NonsenseController {
|
||||
private INonsenseService nonsenseService;
|
||||
|
||||
/**
|
||||
* 获取所有随机内容
|
||||
* @return 随机内容列表
|
||||
* 获取所有疯言疯语内容
|
||||
* @return 疯言疯语内容列表
|
||||
*/
|
||||
@GetMapping("")
|
||||
@GetMapping
|
||||
public ResponseMessage<List<Nonsense>> getAllNonsense() {
|
||||
logger.info("请求获取所有随机内容");
|
||||
logger.info("请求获取所有疯言疯语内容");
|
||||
return nonsenseService.getAllNonsense();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取随机内容
|
||||
* @param id 随机内容ID
|
||||
* @return 随机内容
|
||||
* 根据状态获取疯言疯语内容
|
||||
* @param status 状态:0未发表 1已发表 2已删除
|
||||
* @return 疯言疯语内容列表
|
||||
*/
|
||||
@GetMapping("/status/{status}")
|
||||
public ResponseMessage<List<Nonsense>> getNonsenseByStatus(
|
||||
@PathVariable("status") Integer status) {
|
||||
logger.info("请求获取状态为{}的疯言疯语内容", status);
|
||||
return nonsenseService.getNonsenseByStatus(status);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取疯言疯语内容
|
||||
* @param id 疯言疯语内容ID
|
||||
* @return 疯言疯语内容
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public ResponseMessage<Nonsense> getNonsenseById(@PathVariable("id") Integer id) {
|
||||
logger.info("请求获取ID为{}的随机内容", id);
|
||||
logger.info("请求获取ID为{}的疯言疯语内容", id);
|
||||
return nonsenseService.getNonsenseById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建随机内容
|
||||
* 创建疯言疯语内容
|
||||
* 需要管理员权限
|
||||
* @param nonsenseDto 随机内容数据
|
||||
* @param nonsenseDto 疯言疯语内容数据
|
||||
* @return 创建结果
|
||||
*/
|
||||
@PostMapping("")
|
||||
@PostMapping
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ResponseMessage<Nonsense> saveNonsense(@Valid @RequestBody NonsenseDto nonsenseDto) {
|
||||
logger.info("请求保存随机内容");
|
||||
logger.info("请求保存疯言疯语内容");
|
||||
return nonsenseService.saveNonsense(nonsenseDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新随机内容
|
||||
* 更新疯言疯语内容
|
||||
* 需要管理员权限
|
||||
* @param id 随机内容ID
|
||||
* @param nonsenseDto 随机内容数据
|
||||
* @param id 疯言疯语内容ID
|
||||
* @param nonsenseDto 疯言疯语内容数据
|
||||
* @return 更新结果
|
||||
*/
|
||||
@PutMapping("/{id}")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ResponseMessage<Nonsense> updateNonsense(@PathVariable("id") Integer id, @Valid @RequestBody NonsenseDto nonsenseDto) {
|
||||
logger.info("请求更新ID为{}的随机内容", id);
|
||||
logger.info("请求更新ID为{}的疯言疯语内容", id);
|
||||
return nonsenseService.updateNonsense(id, nonsenseDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除随机内容
|
||||
* 删除疯言疯语内容
|
||||
* 需要管理员权限
|
||||
* @param id 随机内容ID
|
||||
* @param id 疯言疯语内容ID
|
||||
* @return 删除结果
|
||||
*/
|
||||
@DeleteMapping("/{id}")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ResponseMessage<Boolean> deleteNonsense(@PathVariable("id") Integer id) {
|
||||
logger.info("请求删除ID为{}的随机内容", id);
|
||||
logger.info("请求删除ID为{}的疯言疯语内容", id);
|
||||
return nonsenseService.deleteNonsense(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新疯言疯语内容状态
|
||||
* 需要管理员权限
|
||||
* @param id 疯言疯语内容ID
|
||||
* @param status 新状态:0未发表 1已发表 2已删除
|
||||
* @return 更新结果
|
||||
*/
|
||||
@PutMapping("/{id}/status/{status}")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ResponseMessage<Nonsense> updateNonsenseStatus(
|
||||
@PathVariable("id") Integer id,
|
||||
@PathVariable("status") @Min(0) @Max(2) Integer status) {
|
||||
logger.info("请求更新ID为{}的疯言疯语内容状态为{}", id, status);
|
||||
return nonsenseService.updateNonsenseStatus(id, status);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user