parent
1122944839
commit
bc3b900575
@ -0,0 +1,81 @@
|
|||||||
|
package com.luoo.music.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import annotation.GlobalInterceptor;
|
||||||
|
import api.PageResult;
|
||||||
|
import api.Result;
|
||||||
|
import com.luoo.music.pojo.Essay;
|
||||||
|
import com.luoo.music.service.EssayService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专栏文章后台管理Controller
|
||||||
|
* author: wangqing
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@CrossOrigin
|
||||||
|
@Api(tags = "雀乐专栏文章后台管理")
|
||||||
|
@RequestMapping("/cms/essay")
|
||||||
|
public class CMSEssayController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EssayService essayService;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取专栏文章列表",notes = "获取专栏文章列表,category=0代表全部文章, 1代表荐碟,2代表专访,3代表言之,4代表她说")
|
||||||
|
@GetMapping("/search/{category}/{page}/{size}")
|
||||||
|
public Result search(@PathVariable Integer category, @PathVariable int page, @PathVariable int size){
|
||||||
|
Page<Essay> pageData = null;
|
||||||
|
if(category == 0){
|
||||||
|
pageData = essayService.search(page, size);
|
||||||
|
}else{
|
||||||
|
pageData = essayService.getByCategory(category, page, size);
|
||||||
|
}
|
||||||
|
return Result.success(new PageResult<Essay>(pageData.getTotalElements(),pageData.getContent()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("添加专栏文章")
|
||||||
|
@PostMapping
|
||||||
|
public Result add(@RequestBody Essay essay) {
|
||||||
|
essayService.add(essay);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("修改专栏文章")
|
||||||
|
@PutMapping("/{id}")
|
||||||
|
public Result update(@PathVariable String id, @RequestBody Essay essay) {
|
||||||
|
essay.setId(id);
|
||||||
|
essayService.update(essay);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除专栏文章")
|
||||||
|
@DeleteMapping("/{id}")
|
||||||
|
public Result delete(@PathVariable String id) {
|
||||||
|
essayService.delete(id);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
// @ApiOperation("批量删除专栏文章")
|
||||||
|
// @DeleteMapping
|
||||||
|
// public Result deleteBatch(@RequestBody String[] ids) {
|
||||||
|
// essayService.deleteBatch(ids);
|
||||||
|
// return Result.success();
|
||||||
|
// }
|
||||||
|
|
||||||
|
@ApiOperation("根据ID获取专栏文章")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public Result getById(@PathVariable String id) {
|
||||||
|
Essay essay = essayService.getById(id);
|
||||||
|
return Result.success(essay);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.luoo.music.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import api.PageResult;
|
||||||
|
import api.Result;
|
||||||
|
import com.luoo.music.pojo.Essay;
|
||||||
|
import com.luoo.music.service.EssayService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专栏文章前台功能
|
||||||
|
* author: wangqing
|
||||||
|
*/
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@CrossOrigin
|
||||||
|
@Api(tags = "雀乐专栏文章前台功能")
|
||||||
|
@RequestMapping("/essay")
|
||||||
|
public class EssayController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EssayService essayService;
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取专栏文章列表",notes = "获取专栏文章列表,category=0代表全部文章, 1代表荐碟,2代表专访,3代表言之,4代表她说")
|
||||||
|
@GetMapping("/search/{category}/{page}/{size}")
|
||||||
|
public Result search(@PathVariable Integer category, @PathVariable int page, @PathVariable int size){
|
||||||
|
Page<Essay> pageData = null;
|
||||||
|
if(category == 0){
|
||||||
|
pageData = essayService.search(page, size);
|
||||||
|
}else{
|
||||||
|
pageData = essayService.getByCategory(category, page, size);
|
||||||
|
}
|
||||||
|
return Result.success(new PageResult<Essay>(pageData.getTotalElements(),pageData.getContent()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.luoo.music.dao;
|
||||||
|
|
||||||
|
import com.luoo.music.pojo.Essay;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
|
|
||||||
|
public interface EssayDao extends JpaRepository<Essay, String> , JpaSpecificationExecutor<Essay> {
|
||||||
|
|
||||||
|
public Page<Essay> findAllByOrderByCreateTimeDesc(Pageable pageable);
|
||||||
|
|
||||||
|
Page<Essay> findAllByCategoryOrderByCreateTimeDesc(int category, Pageable pageable);
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package com.luoo.music.pojo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
import org.springframework.data.annotation.CreatedDate;
|
||||||
|
import org.springframework.data.annotation.LastModifiedDate;
|
||||||
|
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.EntityListeners;
|
||||||
|
import javax.persistence.Id;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专栏 文章实体类
|
||||||
|
* @author wangqing
|
||||||
|
* @date 2024/07/24
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Entity
|
||||||
|
@DynamicInsert
|
||||||
|
@DynamicUpdate
|
||||||
|
@Table(name="tb_essay")
|
||||||
|
@EntityListeners(AuditingEntityListener.class)
|
||||||
|
public class Essay {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
private String id;
|
||||||
|
// 标题
|
||||||
|
private String title;
|
||||||
|
// 简介
|
||||||
|
private String summary;
|
||||||
|
// 阅读数
|
||||||
|
private Integer readCount;
|
||||||
|
// 内容
|
||||||
|
private String content;
|
||||||
|
// 作者
|
||||||
|
private String authorId;
|
||||||
|
private String authorName;
|
||||||
|
private String authorAvatar;
|
||||||
|
// 分类
|
||||||
|
private Integer category;
|
||||||
|
// 封面路径
|
||||||
|
private String cover;
|
||||||
|
|
||||||
|
@CreatedDate
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@LastModifiedDate
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
package com.luoo.music.service;
|
||||||
|
|
||||||
|
import com.luoo.music.dao.EssayDao;
|
||||||
|
import com.luoo.music.pojo.Essay;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.PageRequest;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import util.IdWorker;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional
|
||||||
|
public class EssayService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EssayDao essayDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IdWorker idWorker;
|
||||||
|
|
||||||
|
public Page<Essay> search(int page, int size) {
|
||||||
|
// TODO: implement search logic
|
||||||
|
Pageable pageable = PageRequest.of(page-1, size);
|
||||||
|
return essayDao.findAllByOrderByCreateTimeDesc(pageable);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(Essay essay) {
|
||||||
|
essay.setId(idWorker.nextId()+"");
|
||||||
|
essayDao.save(essay);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update(Essay essay) {
|
||||||
|
essayDao.save(essay);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(String id) {
|
||||||
|
essayDao.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Essay getById(String id) {
|
||||||
|
|
||||||
|
return essayDao.findById(id).get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Page<Essay> getByCategory(int category, int page, int size) {
|
||||||
|
Pageable pageable = PageRequest.of(page-1, size);
|
||||||
|
return essayDao.findAllByCategoryOrderByCreateTimeDesc(category, pageable);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue