dengsixing пре 3 година
родитељ
комит
0624089704

+ 1 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/ManageApplication.java

@@ -17,13 +17,13 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
  * @author dengsixing
  * @since 2022/5/27
  **/
+@SpringBootApplication
 @EnableTransactionManagement//开启事务
 @EnableDiscoveryClient
 @EnableScheduling
 @ComponentScan(basePackages = {"com.fdkankan.*"})
 @MapperScan("com.fdkankan.**.mapper")
 @ForestScan(basePackages = "com.fdkankan.manage.httpclient")
-@SpringBootApplication
 public class ManageApplication {
 
     public static void main(String[] args) {

+ 55 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/controller/NewsController.java

@@ -0,0 +1,55 @@
+package com.fdkankan.manage.controller;
+
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dtflys.forest.annotation.Post;
+import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.News;
+import com.fdkankan.manage.service.INewsService;
+import com.fdkankan.manage.vo.NewsDisplayParamVO;
+import com.fdkankan.manage.vo.NewsVO;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.sql.Blob;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@RestController
+@RequestMapping("/service/manage/news")
+public class NewsController extends BaseController {
+
+    @Autowired
+    private INewsService newsService;
+
+    @PostMapping("/pageNews")
+    public Page<PageNewsVO> pageNews(@RequestBody PageNewsParamVO param){
+        return newsService.pageNews(param);
+    }
+
+    @PostMapping("/display")
+    public ResultData display(@RequestBody NewsDisplayParamVO param){
+        return newsService.display(param);
+    }
+
+}
+

+ 85 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/entity/News.java

@@ -0,0 +1,85 @@
+package com.fdkankan.manage.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.fdkankan.db.base.BaseEntity;
+import java.io.Serializable;
+import java.sql.Blob;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Getter
+@Setter
+@TableName("t_news")
+public class News extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 来源
+     */
+    @TableField("source")
+    private String source;
+
+    /**
+     * 新闻类型(1-链接,2-图文)
+     */
+    @TableField("new_type")
+    private Integer newType;
+
+    /**
+     * 是否显示(0-否,1-是)
+     */
+    @TableField("display")
+    private Integer display;
+
+    /**
+     * 是否置顶(0-否,1-是)
+     */
+    @TableField("is_top")
+    private Integer isTop;
+
+    /**
+     * 标题
+     */
+    @TableField("title")
+    private String title;
+
+    /**
+     * 新闻内容
+     */
+    @TableField("content")
+    private String content;
+
+    /**
+     * 封面图url
+     */
+    @TableField("cover_image_url")
+    private String coverImageUrl;
+
+    /**
+     * 发布时间
+     */
+    @TableField("public_time")
+    private Date publicTime;
+
+    /**
+     * 置顶时间
+     */
+    @TableField("top_time")
+    private Date topTime;
+}

+ 1 - 1
4dkankan-center-manage/src/main/java/com/fdkankan/manage/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") + "\\4dkankan-center-manage";
 
         generate(path,"manage", getTables(new String[]{
-                "t_invoice_register",
+                "t_news",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 23 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/mapper/INewsMapper.java

@@ -0,0 +1,23 @@
+package com.fdkankan.manage.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.entity.News;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Mapper
+public interface INewsMapper extends BaseMapper<News> {
+
+    Page<PageNewsVO> pageNews(Page<PageNewsVO> page, PageNewsParamVO param);
+
+}

+ 26 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/INewsService.java

@@ -0,0 +1,26 @@
+package com.fdkankan.manage.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.News;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.vo.NewsDisplayParamVO;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+public interface INewsService extends IService<News> {
+
+    Page<PageNewsVO> pageNews(PageNewsParamVO param);
+
+    ResultData display(NewsDisplayParamVO param);
+
+}

+ 40 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/service/impl/NewsServiceImpl.java

@@ -0,0 +1,40 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.manage.entity.News;
+import com.fdkankan.manage.mapper.INewsMapper;
+import com.fdkankan.manage.service.INewsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.vo.NewsDisplayParamVO;
+import com.fdkankan.manage.vo.PageNewsParamVO;
+import com.fdkankan.manage.vo.PageNewsVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Service
+public class NewsServiceImpl extends ServiceImpl<INewsMapper, News> implements INewsService {
+
+    @Override
+    public Page<PageNewsVO> pageNews(PageNewsParamVO param) {
+        Page<PageNewsVO> pageNewsVOPage =
+            this.baseMapper.pageNews(new Page<>(param.getPageNum(), param.getPageSize()), param);
+        return pageNewsVOPage;
+    }
+
+    @Override
+    public ResultData display(NewsDisplayParamVO param) {
+        this.update(new LambdaUpdateWrapper<News>()
+            .set(News::getDisplay, param.getDisplay())
+            .eq(News::getId, param.getId()));
+        return ResultData.ok();
+    }
+}

+ 30 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsDisplayParamVO.java

@@ -0,0 +1,30 @@
+package com.fdkankan.manage.vo;
+
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Data
+public class NewsDisplayParamVO {
+
+    /**
+     * 新闻id
+     */
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+    /**
+     * 显示状态(0-否,1-是)
+     */
+    @NotNull(message = "display不能为空")
+    private Integer display;
+    
+
+}

+ 80 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/NewsVO.java

@@ -0,0 +1,80 @@
+package com.fdkankan.manage.vo;
+
+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.fdkankan.db.base.BaseEntity;
+import java.sql.Blob;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Getter
+@Setter
+@TableName("t_news")
+public class NewsVO extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 来源
+     */
+    @TableField("source")
+    private String source;
+
+    /**
+     * 新闻类型(1-链接,2-图文)
+     */
+    @TableField("new_type")
+    private Integer newType;
+
+    /**
+     * 是否显示(0-否,1-是)
+     */
+    @TableField("display")
+    private Integer display;
+
+    /**
+     * 是否置顶(0-否,1-是)
+     */
+    @TableField("is_top")
+    private Integer isTop;
+
+    /**
+     * 标题
+     */
+    @TableField("title")
+    private String title;
+
+    /**
+     * 新闻内容
+     */
+    @TableField("content")
+    private Blob content;
+
+    /**
+     * 封面图url
+     */
+    @TableField("cover_image_url")
+    private String coverImageUrl;
+
+    /**
+     * 发布时间
+     */
+    @TableField("public_time")
+    private Date publicTime;
+
+    private String contentStr;
+}

+ 31 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageNewsParamVO.java

@@ -0,0 +1,31 @@
+package com.fdkankan.manage.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fdkankan.common.request.RequestBase;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/6/6
+ **/
+@Data
+public class PageNewsParamVO extends RequestBase {
+
+    @JsonFormat(
+        pattern = "yyyy-MM-dd HH:mm"
+    )
+    private Date publicTimeStart;
+
+    @JsonFormat(
+        pattern = "yyyy-MM-dd HH:mm"
+    )
+    private Date publicTimeEnd;
+
+    private String title;
+
+}

+ 66 - 0
4dkankan-center-manage/src/main/java/com/fdkankan/manage/vo/PageNewsVO.java

@@ -0,0 +1,66 @@
+package com.fdkankan.manage.vo;
+
+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.fdkankan.db.base.BaseEntity;
+import java.sql.Blob;
+import java.util.Date;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-06-06
+ */
+@Data
+public class PageNewsVO{
+
+    private Integer id;
+
+    /**
+     * 来源
+     */
+    private String source;
+
+    /**
+     * 新闻类型(1-链接,2-图文)
+     */
+    private Integer newType;
+
+    /**
+     * 是否显示(0-否,1-是)
+     */
+    private Integer display;
+
+    /**
+     * 是否置顶(0-否,1-是)
+     */
+    private Integer isTop;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 发布时间
+     */
+    private Date publicTime;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String creater;
+}

+ 31 - 0
4dkankan-center-manage/src/main/resources/mapper/manage/NewsMapper.xml

@@ -0,0 +1,31 @@
+<?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.fdkankan.manage.mapper.INewsMapper">
+
+  <select id="pageNews" resultType="com.fdkankan.manage.vo.PageNewsVO">
+    SELECT
+    n.`title`,
+    n.`source`,
+    n.`new_type` AS newsType,
+    m.`nickname` AS creater,
+    n.`create_time` AS createTime,
+    n.`public_time` AS publicTime,
+    n.`display`,
+    n.`is_top`
+    FROM t_news n
+    LEFT JOIN t_manager m ON n.`creater_id` = m.id AND m.`rec_status` = 'A'
+    WHERE n.`tb_status` = 0
+    <if test="param.publicTimeStart != null">
+      AND n.`public_time` > #{param.publicTimeStart}
+    </if>
+    <if test="param.publicTimeEnd">
+      AND n.`public_time` <![CDATA[ < ]]>  #{param.publicTimeEnd}
+    </if>
+    <if test="param.title != null and param.title != ''">
+      AND n.`title` LIKE concat('%', param.title, '%')
+    </if>
+    order by n.top_time desc, n.public_time desc
+  </select>
+
+
+</mapper>

+ 5 - 0
4dkankan-common/pom.xml

@@ -103,6 +103,11 @@
 
         <dependency>
             <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
             <exclusions>