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