yangfeng 1 éve
szülő
commit
a0c0a1c393

+ 161 - 0
web/src/main/java/com/ynfy/buss/article/controller/ArticleController.java

@@ -0,0 +1,161 @@
+package com.ynfy.buss.article.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ynfy.buss.article.entity.Article;
+import com.ynfy.buss.article.service.IArticleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+ * @Description: article
+ * @Author: jeecg-boot
+ * @Date: 2023-12-23
+ * @Version: V1.0
+ */
+@Api(tags = "article")
+@RestController
+@RequestMapping("/article")
+@Slf4j
+public class ArticleController extends JeecgController<Article, IArticleService> {
+    @Autowired
+    private IArticleService articleService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param article
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "article-分页列表查询")
+    @ApiOperation(value = "article-分页列表查询", notes = "article-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<Article>> queryPageList(Article article,
+                                                @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                HttpServletRequest req) {
+        QueryWrapper<Article> queryWrapper = QueryGenerator.initQueryWrapper(article, req.getParameterMap());
+        Page<Article> page = new Page<Article>(pageNo, pageSize);
+        IPage<Article> pageList = articleService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 添加
+     *
+     * @param article
+     * @return
+     */
+    @AutoLog(value = "article-添加")
+    @ApiOperation(value = "article-添加", notes = "article-添加")
+    //@RequiresPermissions("article:article:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody Article article) {
+        articleService.save(article);
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param article
+     * @return
+     */
+    @AutoLog(value = "article-编辑")
+    @ApiOperation(value = "article-编辑", notes = "article-编辑")
+    //@RequiresPermissions("article:article:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody Article article) {
+        articleService.updateById(article);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "article-通过id删除")
+    @ApiOperation(value = "article-通过id删除", notes = "article-通过id删除")
+    //@RequiresPermissions("article:article:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        articleService.removeById(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "article-批量删除")
+    @ApiOperation(value = "article-批量删除", notes = "article-批量删除")
+    //@RequiresPermissions("article:article:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.articleService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "article-通过id查询")
+    @ApiOperation(value = "article-通过id查询", notes = "article-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<Article> queryById(@RequestParam(name = "id", required = true) String id) {
+        Article article = articleService.getById(id);
+        if (article == null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.OK(article);
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param article
+     */
+    //@RequiresPermissions("article:article:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, Article article) {
+        return super.exportXls(request, article, Article.class, "article");
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    //@RequiresPermissions("article:article:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, Article.class);
+    }
+
+}

+ 112 - 0
web/src/main/java/com/ynfy/buss/article/entity/Article.java

@@ -0,0 +1,112 @@
+package com.ynfy.buss.article.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: article
+ * @Author: jeecg-boot
+ * @Date: 2023-12-23
+ * @Version: V1.0
+ */
+@Data
+@TableName("article")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "article对象", description = "article")
+public class Article implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+    /**
+     * 封面
+     */
+    @Excel(name = "封面", width = 15)
+    @ApiModelProperty(value = "封面")
+    private String coverImg;
+    /**
+     * 标题
+     */
+    @Excel(name = "标题", width = 15)
+    @ApiModelProperty(value = "标题")
+    private String title;
+    /**
+     * 摘要
+     */
+    @Excel(name = "摘要", width = 15)
+    @ApiModelProperty(value = "摘要")
+    private String remark;
+    /**
+     * 内容
+     */
+    @Excel(name = "内容", width = 15)
+    @ApiModelProperty(value = "内容")
+    private String content;
+    /**
+     * 是否推荐
+     */
+    @Excel(name = "是否推荐", width = 15)
+    @ApiModelProperty(value = "是否推荐")
+    private Boolean isHot;
+    /**
+     * 是否热门
+     */
+    @Excel(name = "是否热门", width = 15)
+    @ApiModelProperty(value = "是否热门")
+    private Boolean isRecommend;
+    /**
+     * 发布时间
+     */
+    @Excel(name = "发布时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "发布时间")
+    private Date publishTime;
+    /**
+     * 状态:1:已发布,0:草稿
+     */
+    @Excel(name = "状态:1:已发布,0:草稿", width = 15)
+    @ApiModelProperty(value = "状态:1:已发布,0:草稿")
+    private Integer status;
+    /**
+     * createBy
+     */
+    @ApiModelProperty(value = "createBy")
+    private String createBy;
+    /**
+     * createTime
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "createTime")
+    private Date createTime;
+    /**
+     * updateBy
+     */
+    @ApiModelProperty(value = "updateBy")
+    private String updateBy;
+    /**
+     * updateTime
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "updateTime")
+    private Date updateTime;
+}

+ 14 - 0
web/src/main/java/com/ynfy/buss/article/mapper/ArticleMapper.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.article.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ynfy.buss.article.entity.Article;
+
+/**
+ * @Description: article
+ * @Author: jeecg-boot
+ * @Date: 2023-12-23
+ * @Version: V1.0
+ */
+public interface ArticleMapper extends BaseMapper<Article> {
+
+}

+ 5 - 0
web/src/main/java/com/ynfy/buss/article/mapper/xml/ArticleMapper.xml

@@ -0,0 +1,5 @@
+<?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="com.ynfy.buss.article.mapper.ArticleMapper">
+
+</mapper>

+ 14 - 0
web/src/main/java/com/ynfy/buss/article/service/IArticleService.java

@@ -0,0 +1,14 @@
+package com.ynfy.buss.article.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ynfy.buss.article.entity.Article;
+
+/**
+ * @Description: article
+ * @Author: jeecg-boot
+ * @Date: 2023-12-23
+ * @Version: V1.0
+ */
+public interface IArticleService extends IService<Article> {
+
+}

+ 18 - 0
web/src/main/java/com/ynfy/buss/article/service/impl/ArticleServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ynfy.buss.article.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ynfy.buss.article.entity.Article;
+import com.ynfy.buss.article.mapper.ArticleMapper;
+import com.ynfy.buss.article.service.IArticleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: article
+ * @Author: jeecg-boot
+ * @Date: 2023-12-23
+ * @Version: V1.0
+ */
+@Service
+public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements IArticleService {
+
+}