From 8dc640e0e4abdb2623d90cbf2a0ae91fcb35081a Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 08 Jun 2021 20:53:24 +0800
Subject: [PATCH] 新增资讯类,curd接口新增
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/impl/ArticleServiceImpl.java | 27 +++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.java | 23 ++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.xml | 9 +
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/ArticleService.java | 20 ++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/controller/ArticleController.java | 106 +++++++++++++++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/entity/Article.java | 75 +++++++++++++++
6 files changed, 260 insertions(+), 0 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/controller/ArticleController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/controller/ArticleController.java
new file mode 100644
index 0000000..c02e00e
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/controller/ArticleController.java
@@ -0,0 +1,106 @@
+package org.springblade.jfpt.article.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.jfpt.article.entity.Article;
+import org.springblade.jfpt.article.service.ArticleService;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+
+/**
+ * @author zhongrj
+ * @title 资讯控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/article/article")
+public class ArticleController {
+
+ private final ArticleService articleService;
+
+
+ /**
+ *
+ * 查询资讯分页信息
+ * @param response
+ * @param article 资讯对象
+ * @param query 查询参数
+ * @return
+ */
+ @GetMapping("/page")
+ public R<IPage<Article>> page(HttpServletResponse response, Article article, Query query){
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+ response.setHeader("Access-Control-Allow-Credentials","true");
+ return R.data(articleService.selectArticlePage(Condition.getPage(query),article));
+ }
+
+ /**
+ * 资讯详情
+ * @param article 资讯查询对象
+ * @param response
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入articleoy")
+ public R<Article> detail(Article article, HttpServletResponse response) {
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+ response.setHeader("Access-Control-Allow-Credentials","true");
+ Article detail = articleService.getOne(Condition.getQueryWrapper(article));
+ return R.data(detail);
+ }
+
+ /**
+ * 新增资讯信息
+ * @param article 资讯对象
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入article")
+ public R save(@Valid Article article) {
+ return R.status(articleService.save(article));
+ }
+
+ /**
+ * 修改资讯信息
+ * @param article 资讯对象
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入article")
+ public R update(@Valid @RequestBody Article article) {
+ return R.status(articleService.updateById(article));
+ }
+
+ /**
+ * 新增或修改资讯信息
+ * @param article 资讯对象信息
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入article")
+ public R submit(@Valid @RequestBody Article article) {
+ return R.status(articleService.saveOrUpdate(article));
+ }
+
+
+ /**
+ * 删除资讯信息
+ * @param ids 资讯主键id,id集合
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 8)
+ @ApiOperation(value = "删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(articleService.removeByIds(Func.toLongList(ids)));
+ }
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/entity/Article.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/entity/Article.java
new file mode 100644
index 0000000..f8531e0
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/entity/Article.java
@@ -0,0 +1,75 @@
+package org.springblade.jfpt.article.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author zhongrj
+ * @time 2021-06-07
+ *
+ */
+@Data
+@TableName("sys_article")
+public class Article implements Serializable {
+
+ /**
+ * 主键id,自增
+ */
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 标题
+ */
+ @NotNull(message = "标题不能为空")
+ private String title;
+
+ /**
+ * 内容
+ */
+ private String content;
+
+ /**
+ * logo 图片url
+ */
+ private String url;
+
+ /**
+ * logo 图片url
+ */
+ @TableField("video_url")
+ private String videoUrl;
+
+ /**
+ * 创建时间
+ */
+ @TableField("create_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ private LocalDateTime createTime;
+
+ /**
+ * 更新时间
+ */
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ /**
+ * 发布来源id
+ */
+ @TableField("source_id")
+ private String sourceId;
+
+ /**
+ * 发布来源名称
+ */
+ @TableField("source_name")
+ private String sourceName;
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.java
new file mode 100644
index 0000000..bb9a7cb
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.java
@@ -0,0 +1,23 @@
+package org.springblade.jfpt.article.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.jfpt.article.entity.Article;
+
+import java.util.List;
+
+
+/**
+ * @author zhongrj
+ * mapper 映射层
+ */
+public interface ArticleMapper extends BaseMapper<Article> {
+
+ /**
+ * 查询资讯分页信息
+ * @param page
+ * @param article 资讯对象
+ * @return
+ */
+ List<Article> selectArticlePage(IPage<Article> page, Article article);
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.xml
new file mode 100644
index 0000000..6afb5da
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/mapper/ArticleMapper.xml
@@ -0,0 +1,9 @@
+<?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="org.springblade.jfpt.article.mapper.ArticleMapper">
+
+ <!--查询资讯分页列表信息-->
+ <select id="selectArticlePage" resultType="org.springblade.jfpt.article.entity.Article">
+ select * from sys_article
+ </select>
+</mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/ArticleService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/ArticleService.java
new file mode 100644
index 0000000..b03ca09
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/ArticleService.java
@@ -0,0 +1,20 @@
+package org.springblade.jfpt.article.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.jfpt.article.entity.Article;
+
+/**
+ * @author zhongrj
+ * 资讯服务接口层
+ */
+public interface ArticleService extends IService<Article> {
+
+ /**
+ * 查询资讯分页信息
+ * @param page
+ * @param article 资讯对象
+ * @return
+ */
+ IPage<Article> selectArticlePage(IPage<Article> page,Article article);
+}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/impl/ArticleServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/impl/ArticleServiceImpl.java
new file mode 100644
index 0000000..63c8159
--- /dev/null
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/article/service/impl/ArticleServiceImpl.java
@@ -0,0 +1,27 @@
+package org.springblade.jfpt.article.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.jfpt.article.entity.Article;
+import org.springblade.jfpt.article.mapper.ArticleMapper;
+import org.springblade.jfpt.article.service.ArticleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author zhongrj
+ * @title 资讯服务实现层
+ */
+@Service
+public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements ArticleService {
+
+ /**
+ * 查询资讯分页信息
+ * @param page
+ * @param article 资讯对象
+ * @return
+ */
+ @Override
+ public IPage<Article> selectArticlePage(IPage<Article> page, Article article) {
+ return page.setRecords(baseMapper.selectArticlePage(page,article));
+ }
+}
--
Gitblit v1.9.3