소스 검색

fix 修改三级审核

tjf 3 년 전
부모
커밋
e7ef22e3cc
20개의 변경된 파일1417개의 추가작업 그리고 29개의 파일을 삭제
  1. 105 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ExamineConfigController.java
  2. 209 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ExamineScheduleController.java
  3. 11 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/QueryController.java
  4. 1 1
      ruoyi-admin/src/main/resources/application-druid.yml
  5. 1 1
      ruoyi-admin/src/main/resources/application.yml
  6. 87 16
      ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ColumnNews.java
  7. 96 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/ExamineConfig.java
  8. 159 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/ExamineSchedule.java
  9. 6 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/ColumnNewsMapper.java
  10. 70 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/ExamineConfigMapper.java
  11. 68 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/ExamineScheduleMapper.java
  12. 6 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IColumnNewsService.java
  13. 70 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IExamineConfigService.java
  14. 68 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/IExamineScheduleService.java
  15. 16 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ColumnNewsServiceImpl.java
  16. 102 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ExamineConfigServiceImpl.java
  17. 106 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ExamineScheduleServiceImpl.java
  18. 32 8
      ruoyi-system/src/main/resources/mapper/system/ColumnNewsMapper.xml
  19. 92 0
      ruoyi-system/src/main/resources/mapper/system/ExamineConfigMapper.xml
  20. 112 0
      ruoyi-system/src/main/resources/mapper/system/ExamineScheduleMapper.xml

+ 105 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ExamineConfigController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.domain.ExamineConfig;
+import com.ruoyi.system.service.IExamineConfigService;
+import org.springframework.security.access.prepost.PreAuthorize;
+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.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 审核角色配置Controller
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+@RestController
+@RequestMapping("/system/examine")
+public class ExamineConfigController extends BaseController
+{
+    @Autowired
+    private IExamineConfigService examineConfigService;
+
+    /**
+     * 查询审核角色配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:examine:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ExamineConfig examineConfig)
+    {
+        startPage();
+        List<ExamineConfig> list = examineConfigService.selectExamineConfigList(examineConfig);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出审核角色配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:examine:export')")
+    @Log(title = "审核角色配置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ExamineConfig examineConfig)
+    {
+        List<ExamineConfig> list = examineConfigService.selectExamineConfigList(examineConfig);
+        ExcelUtil<ExamineConfig> util = new ExcelUtil<ExamineConfig>(ExamineConfig.class);
+        util.exportExcel(response, list, "审核角色配置数据");
+    }
+
+    /**
+     * 获取审核角色配置详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:examine:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(examineConfigService.selectExamineConfigById(id));
+    }
+
+    /**
+     * 新增审核角色配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:examine:add')")
+    @Log(title = "审核角色配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ExamineConfig examineConfig)
+    {
+        return toAjax(examineConfigService.insertExamineConfig(examineConfig));
+    }
+
+    /**
+     * 修改审核角色配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:examine:edit')")
+    @Log(title = "审核角色配置", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ExamineConfig examineConfig)
+    {
+        return toAjax(examineConfigService.updateExamineConfig(examineConfig));
+    }
+
+    /**
+     * 删除审核角色配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:examine:remove')")
+    @Log(title = "审核角色配置", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(examineConfigService.deleteExamineConfigByIds(ids));
+    }
+}

+ 209 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ExamineScheduleController.java

@@ -0,0 +1,209 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.core.domain.entity.ColumnNews;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.ExamineConfig;
+import com.ruoyi.system.service.IColumnNewsService;
+import com.ruoyi.system.service.IExamineConfigService;
+import io.swagger.models.auth.In;
+import org.springframework.security.access.prepost.PreAuthorize;
+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.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.ExamineSchedule;
+import com.ruoyi.system.service.IExamineScheduleService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 审核进度Controller
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+@RestController
+@RequestMapping("/system/schedule")
+public class ExamineScheduleController extends BaseController
+{
+    @Autowired
+    private IExamineScheduleService examineScheduleService;
+    @Autowired
+    private IExamineConfigService examineConfigService;
+    @Autowired
+    private IColumnNewsService columnNewsService;
+
+    /**
+     * 查询审核进度列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ExamineSchedule examineSchedule)
+    {
+        startPage();
+        List<ExamineSchedule> list = examineScheduleService.selectExamineScheduleList(examineSchedule);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出审核进度列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:export')")
+    @Log(title = "审核进度", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ExamineSchedule examineSchedule)
+    {
+        List<ExamineSchedule> list = examineScheduleService.selectExamineScheduleList(examineSchedule);
+        ExcelUtil<ExamineSchedule> util = new ExcelUtil<ExamineSchedule>(ExamineSchedule.class);
+        util.exportExcel(response, list, "审核进度数据");
+    }
+
+    /**
+     * 获取审核进度详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(examineScheduleService.selectExamineScheduleById(id));
+    }
+
+    /**
+     * 新增审核进度
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:add')")
+    @Log(title = "审核进度", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ExamineSchedule examineSchedule)
+    {
+        return toAjax(examineScheduleService.insertExamineSchedule(examineSchedule));
+    }
+
+    /**
+     * 修改审核进度
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:edit')")
+    @Log(title = "审核进度", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ExamineSchedule examineSchedule)
+    {
+        //去查询这个角色有没有该等级的审批权限
+        String examineLevel = examineSchedule.getExamineLevel();
+        if (StringUtils.isNotBlank(examineLevel)){
+            int level = Integer.parseInt(examineLevel);
+            if (level > 2){
+                return AjaxResult.error("该文章已经审核完成");
+            }
+            List<ExamineConfig> examineConfigs = examineConfigService.selectExamineConfigByLevel(examineLevel);
+            if (examineConfigs.size() > 0){
+                List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+                for (ExamineConfig examineConfig : examineConfigs) {
+                    for (SysRole role : roles) {
+                        if (examineConfig.getRoleId().equals(role.getRoleId())){
+                            //有审核权限,判断有没有id
+                            Long id = examineSchedule.getId();
+                            ColumnNews columnNews = new ColumnNews();
+                            columnNews.setNewsId(examineSchedule.getNewsId());
+                            if (id == null){
+                                examineSchedule.setExamineNameOne(SecurityUtils.getUsername());
+                                examineSchedule.setExamineTimeOne(DateUtils.getNowDate());
+                                columnNews.setStatus(String.valueOf(level));
+                                columnNewsService.updateColumnNews(columnNews);
+                                return toAjax(examineScheduleService.insertExamineSchedule(examineSchedule));
+                            }
+                            level = level + 1;
+                            if (level==2){
+                                examineSchedule.setExamineNameTwo(SecurityUtils.getUsername());
+                                examineSchedule.setExamineTimeTwo(DateUtils.getNowDate());
+                            }
+                            if (level==3){
+                                examineSchedule.setExamineNameThr(SecurityUtils.getUsername());
+                                examineSchedule.setExamineTimeThr(DateUtils.getNowDate());
+                            }
+                            examineSchedule.setExamineLevel(String.valueOf(level));
+                            columnNews.setStatus(String.valueOf(level));
+                            columnNewsService.updateColumnNews(columnNews);
+                            return toAjax(examineScheduleService.updateExamineSchedule(examineSchedule));
+                        }
+                    }
+                }
+            }else {
+                return AjaxResult.error("没有设置该审批等级的角色");
+            }
+        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * 删除审核进度
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:remove')")
+    @Log(title = "审核进度", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(examineScheduleService.deleteExamineScheduleByIds(ids));
+    }
+
+    /**
+     * 获取审核进度详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:query')")
+    @GetMapping(value = "/newId/{id}")
+    public AjaxResult getInfoByNewId(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(examineScheduleService.selectExamineScheduleByNewId(id));
+    }
+
+    /**
+     * 撤销审核进度
+     */
+    @PreAuthorize("@ss.hasPermi('system:schedule:revoke')")
+    @Log(title = "撤销审核进度", businessType = BusinessType.UPDATE)
+    @PostMapping("/revoke")
+    public AjaxResult revoke(@RequestBody ExamineSchedule examineSchedule)
+    {
+        //去查询这个角色有没有该等级的审批权限
+        String examineLevel = examineSchedule.getExamineLevel();
+        if (StringUtils.isNotBlank(examineLevel)){
+            int level = Integer.parseInt(examineLevel);
+            if (level < 1){
+                return AjaxResult.error("该文章不能继续撤销");
+            }
+            List<ExamineConfig> examineConfigs = examineConfigService.selectExamineConfigByLevel(examineLevel);
+            if (examineConfigs.size() > 0){
+                List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+                for (ExamineConfig examineConfig : examineConfigs) {
+                    for (SysRole role : roles) {
+                        if (examineConfig.getRoleId().equals(role.getRoleId())){
+                            examineSchedule.setExamineLevel(String.valueOf(level-1));
+                            ColumnNews columnNews = new ColumnNews();
+                            columnNews.setNewsId(examineSchedule.getNewsId());
+                            columnNews.setStatus(String.valueOf(level-1));
+                            columnNewsService.updateColumnNews(columnNews);
+                            return toAjax(examineScheduleService.updateExamineSchedule(examineSchedule));
+                        }
+                    }
+                }
+            }
+        }else {
+            return AjaxResult.error("没有设置该审批等级的角色");
+        }
+        return AjaxResult.success();
+    }
+}

+ 11 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/QueryController.java

@@ -91,7 +91,7 @@ public class QueryController extends BaseController {
     }
 
     /**
-     * 获取首页轮播
+     * 获取首
      */
     @PostMapping("/getRotationChart")
     public AjaxResult getRotationChart(ImageDatas imageDatas)
@@ -100,6 +100,16 @@ public class QueryController extends BaseController {
         return AjaxResult.success(list);
     }
 
+    /**
+     * 获取首页轮播图
+     */
+    @PostMapping("/getRotation")
+    public AjaxResult getRotation()
+    {
+        List<ColumnNews> list = columnNewsService.getRotation();
+        return AjaxResult.success(list);
+    }
+
 
     /**
      * 提交送检信息

+ 1 - 1
ruoyi-admin/src/main/resources/application-druid.yml

@@ -110,7 +110,7 @@ ruoyi:
   # 验证码类型 math 数组计算 char 字符验证
   captchaType: math
   #线上地址
-  staticIp: http://192.168.101.11:8090
+  staticIp: http://192.168.101.11:5001/dev-pai
 
 # 开发环境配置
 server:

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -1,3 +1,3 @@
 spring:
   profiles:
-    active: prod
+    active: druid

+ 87 - 16
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ColumnNews.java

@@ -1,11 +1,12 @@
 package com.ruoyi.common.core.domain.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.xss.Xss;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.Date;
+
 /**
  * 新闻信息对象 column_news
  * 
@@ -43,6 +44,26 @@ public class ColumnNews extends BaseEntity
      */
     private String isTop;
 
+    /**
+     * 是否轮播图
+     */
+    private String isRotation;
+
+    /**
+     * 浏览数
+     */
+    private Integer viewsNum;
+
+    /**
+     * 外部链接
+     */
+    private String reprintUrl;
+
+    /**
+     * 作者
+     */
+    private String author;
+
     /** 新闻状态(0审核通过 1待审核 2驳回) */
     @Excel(name = "新闻状态", readConverterExp = "0=审核通过,1=待审核,2=驳回")
     private String status;
@@ -55,6 +76,45 @@ public class ColumnNews extends BaseEntity
     @Excel(name = "原因")
     private String reason;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date releaseTime;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public String getIsRotation() {
+        return isRotation;
+    }
+
+    public void setIsRotation(String isRotation) {
+        this.isRotation = isRotation;
+    }
+
+    public Integer getViewsNum() {
+        return viewsNum;
+    }
+
+    public void setViewsNum(Integer viewsNum) {
+        this.viewsNum = viewsNum;
+    }
+
+    public String getReprintUrl() {
+        return reprintUrl;
+    }
+
+    public void setReprintUrl(String reprintUrl) {
+        this.reprintUrl = reprintUrl;
+    }
+
+    public String getAuthor() {
+        return author;
+    }
+
+    public void setAuthor(String author) {
+        this.author = author;
+    }
+
     public String getNewsImage() {
         return newsImage;
     }
@@ -144,21 +204,32 @@ public class ColumnNews extends BaseEntity
         return reason;
     }
 
+    public Date getReleaseTime() {
+        return releaseTime;
+    }
+
+    public void setReleaseTime(Date releaseTime) {
+        this.releaseTime = releaseTime;
+    }
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("newsId", getNewsId())
-            .append("newsTitle", getNewsTitle())
-            .append("columnId", getColumnId())
-            .append("newsContent", getNewsContent())
-            .append("status", getStatus())
-            .append("isDel", getIsDel())
-            .append("reason", getReason())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
+        return "ColumnNews{" +
+                "newsId=" + newsId +
+                ", newsTitle='" + newsTitle + '\'' +
+                ", newsImage='" + newsImage + '\'' +
+                ", columnId=" + columnId +
+                ", columnName='" + columnName + '\'' +
+                ", newsContent='" + newsContent + '\'' +
+                ", isTop='" + isTop + '\'' +
+                ", isRotation='" + isRotation + '\'' +
+                ", viewsNum=" + viewsNum +
+                ", reprintUrl='" + reprintUrl + '\'' +
+                ", author='" + author + '\'' +
+                ", status='" + status + '\'' +
+                ", isDel='" + isDel + '\'' +
+                ", reason='" + reason + '\'' +
+                ", releaseTime=" + releaseTime +
+                '}';
     }
 }

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/ExamineConfig.java

@@ -0,0 +1,96 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 审核角色配置对象 examine_config
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+public class ExamineConfig extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 栏目id */
+    private Long columnId;
+
+    /** 角色ID */
+    @Excel(name = "角色ID")
+    private Long roleId;
+    /**
+     * 角色名称
+     */
+    private String roleName;
+
+    /** 审批等级 */
+    @Excel(name = "审批等级")
+    private String examineLevel;
+
+    public String getRoleName() {
+        return roleName;
+    }
+
+    public void setRoleName(String roleName) {
+        this.roleName = roleName;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setColumnId(Long columnId) 
+    {
+        this.columnId = columnId;
+    }
+
+    public Long getColumnId() 
+    {
+        return columnId;
+    }
+    public void setRoleId(Long roleId) 
+    {
+        this.roleId = roleId;
+    }
+
+    public Long getRoleId() 
+    {
+        return roleId;
+    }
+    public void setExamineLevel(String examineLevel) 
+    {
+        this.examineLevel = examineLevel;
+    }
+
+    public String getExamineLevel() 
+    {
+        return examineLevel;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("columnId", getColumnId())
+            .append("roleId", getRoleId())
+            .append("examineLevel", getExamineLevel())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .append("roleName", getRoleName())
+            .toString();
+    }
+}

+ 159 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/ExamineSchedule.java

@@ -0,0 +1,159 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 审核进度对象 examine_schedule
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+public class ExamineSchedule extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 新闻ID */
+    @Excel(name = "新闻ID")
+    private Integer newsId;
+
+    /** 一级审批人员 */
+    @Excel(name = "一级审批人员")
+    private String examineNameOne;
+
+    /** 一级审批时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "一级审批时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date examineTimeOne;
+
+    /** 二级审批人员 */
+    @Excel(name = "二级审批人员")
+    private String examineNameTwo;
+
+    /** 二级审批时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "二级审批时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date examineTimeTwo;
+
+    /** 三级审批人员 */
+    @Excel(name = "三级审批人员")
+    private String examineNameThr;
+
+    /** 三级审批时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "三级审批时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date examineTimeThr;
+
+    /** 审批进度 */
+    @Excel(name = "审批进度")
+    private String examineLevel;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+
+    public Integer getNewsId() {
+        return newsId;
+    }
+
+    public void setNewsId(Integer newsId) {
+        this.newsId = newsId;
+    }
+
+    public void setExamineNameOne(String examineNameOne)
+    {
+        this.examineNameOne = examineNameOne;
+    }
+
+    public String getExamineNameOne() 
+    {
+        return examineNameOne;
+    }
+    public void setExamineTimeOne(Date examineTimeOne) 
+    {
+        this.examineTimeOne = examineTimeOne;
+    }
+
+    public Date getExamineTimeOne() 
+    {
+        return examineTimeOne;
+    }
+    public void setExamineNameTwo(String examineNameTwo) 
+    {
+        this.examineNameTwo = examineNameTwo;
+    }
+
+    public String getExamineNameTwo() 
+    {
+        return examineNameTwo;
+    }
+    public void setExamineTimeTwo(Date examineTimeTwo) 
+    {
+        this.examineTimeTwo = examineTimeTwo;
+    }
+
+    public Date getExamineTimeTwo() 
+    {
+        return examineTimeTwo;
+    }
+    public void setExamineNameThr(String examineNameThr) 
+    {
+        this.examineNameThr = examineNameThr;
+    }
+
+    public String getExamineNameThr() 
+    {
+        return examineNameThr;
+    }
+    public void setExamineTimeThr(Date examineTimeThr) 
+    {
+        this.examineTimeThr = examineTimeThr;
+    }
+
+    public Date getExamineTimeThr() 
+    {
+        return examineTimeThr;
+    }
+    public void setExamineLevel(String examineLevel) 
+    {
+        this.examineLevel = examineLevel;
+    }
+
+    public String getExamineLevel() 
+    {
+        return examineLevel;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("newsId", getNewsId())
+            .append("examineNameOne", getExamineNameOne())
+            .append("examineTimeOne", getExamineTimeOne())
+            .append("examineNameTwo", getExamineNameTwo())
+            .append("examineTimeTwo", getExamineTimeTwo())
+            .append("examineNameThr", getExamineNameThr())
+            .append("examineTimeThr", getExamineTimeThr())
+            .append("examineLevel", getExamineLevel())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/ColumnNewsMapper.java

@@ -95,4 +95,10 @@ public interface ColumnNewsMapper
      * @return
      */
     int selectColumnNewsCount(@Param("today") LocalDate today,@Param("startTime") LocalDate startTime, @Param("endTime") LocalDate endTime);
+
+    /**
+     * 获取首页轮播图
+     * @return
+     */
+    public List<ColumnNews> getRotation();
 }

+ 70 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/ExamineConfigMapper.java

@@ -0,0 +1,70 @@
+package com.ruoyi.system.mapper;
+
+
+import com.ruoyi.system.domain.ExamineConfig;
+
+import java.util.List;
+
+/**
+ * 审核角色配置Mapper接口
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+public interface ExamineConfigMapper 
+{
+    /**
+     * 查询审核角色配置
+     * 
+     * @param id 审核角色配置主键
+     * @return 审核角色配置
+     */
+    public ExamineConfig selectExamineConfigById(Long id);
+
+    /**
+     * 查询审核角色配置列表
+     * 
+     * @param examineConfig 审核角色配置
+     * @return 审核角色配置集合
+     */
+    public List<ExamineConfig> selectExamineConfigList(ExamineConfig examineConfig);
+
+    /**
+     * 新增审核角色配置
+     * 
+     * @param examineConfig 审核角色配置
+     * @return 结果
+     */
+    public int insertExamineConfig(ExamineConfig examineConfig);
+
+    /**
+     * 修改审核角色配置
+     * 
+     * @param examineConfig 审核角色配置
+     * @return 结果
+     */
+    public int updateExamineConfig(ExamineConfig examineConfig);
+
+    /**
+     * 删除审核角色配置
+     * 
+     * @param id 审核角色配置主键
+     * @return 结果
+     */
+    public int deleteExamineConfigById(Long id);
+
+    /**
+     * 批量删除审核角色配置
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteExamineConfigByIds(Long[] ids);
+
+    /**
+     * 根据审批等级查看角色列表
+     * @param level
+     * @return
+     */
+    public List<ExamineConfig> selectExamineConfigByLevel(String level);
+}

+ 68 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/ExamineScheduleMapper.java

@@ -0,0 +1,68 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.ExamineSchedule;
+
+/**
+ * 审核进度Mapper接口
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+public interface ExamineScheduleMapper 
+{
+    /**
+     * 查询审核进度
+     * 
+     * @param id 审核进度主键
+     * @return 审核进度
+     */
+    public ExamineSchedule selectExamineScheduleById(Long id);
+
+    /**
+     * 根据文章id去查询进度
+     * @param id
+     * @return
+     */
+    public ExamineSchedule selectExamineScheduleByNewId(Long id);
+
+    /**
+     * 查询审核进度列表
+     * 
+     * @param examineSchedule 审核进度
+     * @return 审核进度集合
+     */
+    public List<ExamineSchedule> selectExamineScheduleList(ExamineSchedule examineSchedule);
+
+    /**
+     * 新增审核进度
+     * 
+     * @param examineSchedule 审核进度
+     * @return 结果
+     */
+    public int insertExamineSchedule(ExamineSchedule examineSchedule);
+
+    /**
+     * 修改审核进度
+     * 
+     * @param examineSchedule 审核进度
+     * @return 结果
+     */
+    public int updateExamineSchedule(ExamineSchedule examineSchedule);
+
+    /**
+     * 删除审核进度
+     * 
+     * @param id 审核进度主键
+     * @return 结果
+     */
+    public int deleteExamineScheduleById(Long id);
+
+    /**
+     * 批量删除审核进度
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteExamineScheduleByIds(Long[] ids);
+}

+ 6 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IColumnNewsService.java

@@ -79,4 +79,10 @@ public interface IColumnNewsService
      * @return
      */
     public int examineColumnNews(Integer newsId);
+
+    /**
+     * 获取首页轮播图
+     * @return
+     */
+    public List<ColumnNews> getRotation();
 }

+ 70 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IExamineConfigService.java

@@ -0,0 +1,70 @@
+package com.ruoyi.system.service;
+
+
+import com.ruoyi.system.domain.ExamineConfig;
+
+import java.util.List;
+
+/**
+ * 审核角色配置Service接口
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+public interface IExamineConfigService 
+{
+    /**
+     * 查询审核角色配置
+     * 
+     * @param id 审核角色配置主键
+     * @return 审核角色配置
+     */
+    public ExamineConfig selectExamineConfigById(Long id);
+
+    /**
+     * 查询审核角色配置列表
+     * 
+     * @param examineConfig 审核角色配置
+     * @return 审核角色配置集合
+     */
+    public List<ExamineConfig> selectExamineConfigList(ExamineConfig examineConfig);
+
+    /**
+     * 新增审核角色配置
+     * 
+     * @param examineConfig 审核角色配置
+     * @return 结果
+     */
+    public int insertExamineConfig(ExamineConfig examineConfig);
+
+    /**
+     * 修改审核角色配置
+     * 
+     * @param examineConfig 审核角色配置
+     * @return 结果
+     */
+    public int updateExamineConfig(ExamineConfig examineConfig);
+
+    /**
+     * 批量删除审核角色配置
+     * 
+     * @param ids 需要删除的审核角色配置主键集合
+     * @return 结果
+     */
+    public int deleteExamineConfigByIds(Long[] ids);
+
+    /**
+     * 删除审核角色配置信息
+     * 
+     * @param id 审核角色配置主键
+     * @return 结果
+     */
+    public int deleteExamineConfigById(Long id);
+
+    /**
+     * 根据审批等级查看角色列表
+     * @param level
+     * @return
+     */
+    public List<ExamineConfig> selectExamineConfigByLevel(String level);
+}

+ 68 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IExamineScheduleService.java

@@ -0,0 +1,68 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.ExamineSchedule;
+
+/**
+ * 审核进度Service接口
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+public interface IExamineScheduleService 
+{
+    /**
+     * 查询审核进度
+     * 
+     * @param id 审核进度主键
+     * @return 审核进度
+     */
+    public ExamineSchedule selectExamineScheduleById(Long id);
+
+    /**
+     * 根据文章id查询进度
+     * @param id
+     * @return
+     */
+    public ExamineSchedule selectExamineScheduleByNewId(Long id);
+
+    /**
+     * 查询审核进度列表
+     * 
+     * @param examineSchedule 审核进度
+     * @return 审核进度集合
+     */
+    public List<ExamineSchedule> selectExamineScheduleList(ExamineSchedule examineSchedule);
+
+    /**
+     * 新增审核进度
+     * 
+     * @param examineSchedule 审核进度
+     * @return 结果
+     */
+    public int insertExamineSchedule(ExamineSchedule examineSchedule);
+
+    /**
+     * 修改审核进度
+     * 
+     * @param examineSchedule 审核进度
+     * @return 结果
+     */
+    public int updateExamineSchedule(ExamineSchedule examineSchedule);
+
+    /**
+     * 批量删除审核进度
+     * 
+     * @param ids 需要删除的审核进度主键集合
+     * @return 结果
+     */
+    public int deleteExamineScheduleByIds(Long[] ids);
+
+    /**
+     * 删除审核进度信息
+     * 
+     * @param id 审核进度主键
+     * @return 结果
+     */
+    public int deleteExamineScheduleById(Long id);
+}

+ 16 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ColumnNewsServiceImpl.java

@@ -39,7 +39,13 @@ public class ColumnNewsServiceImpl implements IColumnNewsService
      */
     @Override
     public ColumnNews selectColumnNewsDetailMenHu(Integer newsId) {
-        return  columnNewsMapper.selectColumnNewsDetailMenHu(newsId);
+        ColumnNews columnNews = columnNewsMapper.selectColumnNewsDetailMenHu(newsId);
+        Integer viewsNum = columnNews.getViewsNum();
+        if (viewsNum != null){
+            columnNews.setViewsNum(viewsNum + 1);
+        }
+        columnNewsMapper.updateColumnNews(columnNews);
+        return columnNews;
     }
 
     /**
@@ -125,5 +131,13 @@ public class ColumnNewsServiceImpl implements IColumnNewsService
         return columnNewsMapper.examineColumnNews(newsId);
     }
 
-
+    /**
+     * 获取首页轮播图
+     * @return
+     */
+    @Override
+    public List<ColumnNews> getRotation() {
+        List<ColumnNews> rotation = columnNewsMapper.getRotation();
+        return rotation;
+    }
 }

+ 102 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ExamineConfigServiceImpl.java

@@ -0,0 +1,102 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.domain.ExamineConfig;
+import com.ruoyi.system.mapper.ExamineConfigMapper;
+import com.ruoyi.system.service.IExamineConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 审核角色配置Service业务层处理
+ *
+ * @author boman
+ * @date 2022-01-24
+ */
+@Service
+public class ExamineConfigServiceImpl implements IExamineConfigService {
+    @Autowired
+    private ExamineConfigMapper examineConfigMapper;
+
+    /**
+     * 查询审核角色配置
+     *
+     * @param id 审核角色配置主键
+     * @return 审核角色配置
+     */
+    @Override
+    public ExamineConfig selectExamineConfigById(Long id) {
+        return examineConfigMapper.selectExamineConfigById(id);
+    }
+
+    /**
+     * 查询审核角色配置列表
+     *
+     * @param examineConfig 审核角色配置
+     * @return 审核角色配置
+     */
+    @Override
+    public List<ExamineConfig> selectExamineConfigList(ExamineConfig examineConfig) {
+        return examineConfigMapper.selectExamineConfigList(examineConfig);
+    }
+
+    /**
+     * 新增审核角色配置
+     *
+     * @param examineConfig 审核角色配置
+     * @return 结果
+     */
+    @Override
+    public int insertExamineConfig(ExamineConfig examineConfig) {
+        examineConfig.setCreateTime(DateUtils.getNowDate());
+        return examineConfigMapper.insertExamineConfig(examineConfig);
+    }
+
+    /**
+     * 修改审核角色配置
+     *
+     * @param examineConfig 审核角色配置
+     * @return 结果
+     */
+    @Override
+    public int updateExamineConfig(ExamineConfig examineConfig) {
+        examineConfig.setUpdateTime(DateUtils.getNowDate());
+        return examineConfigMapper.updateExamineConfig(examineConfig);
+    }
+
+    /**
+     * 批量删除审核角色配置
+     *
+     * @param ids 需要删除的审核角色配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExamineConfigByIds(Long[] ids) {
+        return examineConfigMapper.deleteExamineConfigByIds(ids);
+    }
+
+    /**
+     * 删除审核角色配置信息
+     *
+     * @param id 审核角色配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExamineConfigById(Long id) {
+        return examineConfigMapper.deleteExamineConfigById(id);
+    }
+
+    /**
+     * 根据审批等级查看角色列表
+     *
+     * @param level
+     * @return
+     */
+    @Override
+    public List<ExamineConfig> selectExamineConfigByLevel(String level) {
+        return examineConfigMapper.selectExamineConfigByLevel(level);
+    }
+}

+ 106 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ExamineScheduleServiceImpl.java

@@ -0,0 +1,106 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.ExamineScheduleMapper;
+import com.ruoyi.system.domain.ExamineSchedule;
+import com.ruoyi.system.service.IExamineScheduleService;
+
+/**
+ * 审核进度Service业务层处理
+ * 
+ * @author boman
+ * @date 2022-01-24
+ */
+@Service
+public class ExamineScheduleServiceImpl implements IExamineScheduleService 
+{
+    @Autowired
+    private ExamineScheduleMapper examineScheduleMapper;
+
+    /**
+     * 查询审核进度
+     * 
+     * @param id 审核进度主键
+     * @return 审核进度
+     */
+    @Override
+    public ExamineSchedule selectExamineScheduleById(Long id)
+    {
+        return examineScheduleMapper.selectExamineScheduleById(id);
+    }
+
+    /**
+     * 根据文章id去查询进度
+     * @param id
+     * @return
+     */
+    @Override
+    public ExamineSchedule selectExamineScheduleByNewId(Long id) {
+        return    examineScheduleMapper.selectExamineScheduleByNewId(id);
+    }
+
+    /**
+     * 查询审核进度列表
+     * 
+     * @param examineSchedule 审核进度
+     * @return 审核进度
+     */
+    @Override
+    public List<ExamineSchedule> selectExamineScheduleList(ExamineSchedule examineSchedule)
+    {
+        return examineScheduleMapper.selectExamineScheduleList(examineSchedule);
+    }
+
+    /**
+     * 新增审核进度
+     * 
+     * @param examineSchedule 审核进度
+     * @return 结果
+     */
+    @Override
+    public int insertExamineSchedule(ExamineSchedule examineSchedule)
+    {
+        examineSchedule.setCreateTime(DateUtils.getNowDate());
+        return examineScheduleMapper.insertExamineSchedule(examineSchedule);
+    }
+
+    /**
+     * 修改审核进度
+     * 
+     * @param examineSchedule 审核进度
+     * @return 结果
+     */
+    @Override
+    public int updateExamineSchedule(ExamineSchedule examineSchedule)
+    {
+        examineSchedule.setUpdateTime(DateUtils.getNowDate());
+        return examineScheduleMapper.updateExamineSchedule(examineSchedule);
+    }
+
+    /**
+     * 批量删除审核进度
+     * 
+     * @param ids 需要删除的审核进度主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExamineScheduleByIds(Long[] ids)
+    {
+        return examineScheduleMapper.deleteExamineScheduleByIds(ids);
+    }
+
+    /**
+     * 删除审核进度信息
+     * 
+     * @param id 审核进度主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExamineScheduleById(Long id)
+    {
+        return examineScheduleMapper.deleteExamineScheduleById(id);
+    }
+}

+ 32 - 8
ruoyi-system/src/main/resources/mapper/system/ColumnNewsMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.system.mapper.ColumnNewsMapper">
 
-    <resultMap type="ColumnNews" id="ColumnNewsResult">
+    <resultMap type="com.ruoyi.common.core.domain.entity.ColumnNews" id="ColumnNewsResult">
         <result property="newsId" column="news_id"/>
         <result property="newsTitle" column="news_title"/>
         <result property="newsImage" column="news_image"/>
@@ -12,9 +12,14 @@
         <result property="columnName" column="column_name"/>
         <result property="newsContent" column="news_content"/>
         <result property="isTop" column="is_top"/>
+        <result property="isRotation" column="is_rotation"/>
+        <result property="viewsNum" column="views_num"/>
+        <result property="reprintUrl" column="reprint_url"/>
+        <result property="author" column="author"/>
         <result property="status" column="status"/>
         <result property="isDel" column="is_del"/>
         <result property="reason" column="reason"/>
+        <result property="releaseTime" column="release_time"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
@@ -23,7 +28,7 @@
     </resultMap>
 
     <sql id="selectColumnNewsVo">
-        select n.news_id, n.news_title, n.column_id, n.news_content,n.is_top, n.status,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark, n.news_image,c.column_name from column_news n
+        select n.news_id, n.news_title, n.column_id, n.news_content,n.is_top,n.is_rotation,n.views_num,n.reprint_url,n.author, n.status,n.release_time,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark, n.news_image,c.column_name from column_news n
         left join column_navigation_bar c on n.column_id = c.column_id
     </sql>
 
@@ -44,9 +49,9 @@
     </select>
 
     <select id="selectColumnNewsListMenHu" parameterType="ColumnNews" resultMap="ColumnNewsResult">
-        select n.news_id, n.news_title,n.news_image,n.news_content, n.create_time from column_news n
+        select n.news_id, n.news_title,n.news_image,n.news_content,n.is_rotation,n.views_num,n.reprint_url,n.author,n.release_time, n.create_time from column_news n
         <where>
-            n.status = '0'
+            n.status = '3'
             and n.is_del = 'N'
             <if test="newsTitle != null  and newsTitle != ''">and (n.news_title like concat('%', #{newsTitle}, '%') or
                 n.news_content like concat('%', #{newsContent}, '%'))
@@ -58,9 +63,9 @@
     </select>
 
     <select id="selectColumnNewsListMenHuByColumnId" parameterType="Long" resultMap="ColumnNewsResult">
-        select n.news_id, n.news_title,n.news_image, n.create_time from column_news n
+        select n.news_id, n.news_title,n.news_image,n.is_rotation,n.views_num,n.reprint_url,n.author,n.release_time, n.create_time from column_news n
         <where>
-            n.status = '0'
+            n.status = '3'
             and n.is_del = 'N'
             <if test="columnId != null  and columnId != ''">and n.column_id = #{columnId}</if>
         </where>
@@ -73,7 +78,7 @@
     </select>
 
     <select id="selectColumnNewsDetailMenHu" parameterType="Integer" resultMap="ColumnNewsResult">
-        select n.news_id, n.news_title, n.column_id, n.news_content, n.status,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark,n.news_image from column_news n
+        select n.news_id, n.news_title, n.column_id, n.news_content,n.is_rotation,n.views_num,n.reprint_url,n.author, n.status,n.release_time,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark,n.news_image from column_news n
         where n.news_id = #{newsId}  order by n.create_time DESC,n.update_time DESC
     </select>
 
@@ -84,9 +89,14 @@
             <if test="newsImage != null and newsImage != ''">news_image,</if>
             <if test="columnId != null">column_id,</if>
             <if test="newsContent != null and newsContent != ''">news_content,</if>
+            <if test="isRotation != null and isRotation != ''">is_rotation,</if>
+            <if test="viewsNum != null">views_num,</if>
+            <if test="reprintUrl != null and reprintUrl != ''">reprint_url,</if>
+            <if test="author != null and author != ''">author,</if>
             <if test="isTop != null">is_top,</if>
             <if test="isDel != null">is_del,</if>
             <if test="reason != null">reason,</if>
+            <if test="releaseTime != null">release_time,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
@@ -98,9 +108,14 @@
             <if test="newsImage != null and newsImage != ''">#{newsImage},</if>
             <if test="columnId != null">#{columnId},</if>
             <if test="newsContent != null and newsContent != ''">#{newsContent},</if>
+            <if test="isRotation != null and isRotation != ''">#{isRotation},</if>
+            <if test="viewsNum != null">#{viewsNum},</if>
+            <if test="reprintUrl != null and reprintUrl != ''">#{reprintUrl},</if>
+            <if test="author != null and author != ''">#{author},</if>
             <if test="isTop != null">#{isTop},</if>
             <if test="isDel != null">#{isDel},</if>
             <if test="reason != null">#{reason},</if>
+            <if test="releaseTime != null">#{releaseTime},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
@@ -117,9 +132,14 @@
             <if test="columnId != null">column_id = #{columnId},</if>
             <if test="newsContent != null and newsContent != ''">news_content = #{newsContent},</if>
             <if test="status != null">status = #{status},</if>
+            <if test="isRotation != null and isRotation != ''">is_rotation = #{isRotation},</if>
+            <if test="viewsNum != null"> views_num = #{viewsNum},</if>
+            <if test="reprintUrl != null and reprintUrl != ''">reprint_url = #{reprintUrl},</if>
+            <if test="author != null and author != ''">author = #{author},</if>
             <if test="isTop != null">is_top = #{isTop},</if>
             <if test="isDel != null">is_del = #{isDel},</if>
             <if test="reason != null">reason = #{reason},</if>
+            <if test="releaseTime != null">release_time = #{releaseTime},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
@@ -141,7 +161,7 @@
     </update>
 
     <update id="examineColumnNews" parameterType="ColumnNews">
-        update column_news set  status = '0'
+        update column_news set  status = '3'
         where news_id = #{newsId}
     </update>
 
@@ -154,4 +174,8 @@
             <if test="endTime != null">and DATE_FORMAT(create_time,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d')</if>
         </where>
     </select>
+
+    <select id="getRotation"  resultMap="ColumnNewsResult">
+        select news_id,news_image from column_news where is_rotation = 'Y' and is_del = 'N' and status = '3' limit 5
+    </select>
 </mapper>

+ 92 - 0
ruoyi-system/src/main/resources/mapper/system/ExamineConfigMapper.xml

@@ -0,0 +1,92 @@
+<?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.ruoyi.system.mapper.ExamineConfigMapper">
+    
+    <resultMap type="ExamineConfig" id="ExamineConfigResult">
+        <result property="id"    column="id"    />
+        <result property="columnId"    column="column_id"    />
+        <result property="roleId"    column="role_id"    />
+        <result property="roleName"    column="role_name"    />
+        <result property="examineLevel"    column="examine_level"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectExamineConfigVo">
+        select c.id, c.column_id, c.role_id, c.examine_level, c.create_by, c.create_time, c.update_by, c.update_time, c.remark,r.role_name from examine_config c left join sys_role r
+        on c.role_id = r.role_id
+    </sql>
+
+    <select id="selectExamineConfigList" parameterType="ExamineConfig" resultMap="ExamineConfigResult">
+        <include refid="selectExamineConfigVo"/>
+        <where>  
+            <if test="roleId != null "> and c.role_id = #{roleId}</if>
+            <if test="examineLevel != null  and examineLevel != ''"> and c.examine_level = #{examineLevel}</if>
+        </where>
+    </select>
+    
+    <select id="selectExamineConfigById" parameterType="Long" resultMap="ExamineConfigResult">
+        <include refid="selectExamineConfigVo"/>
+        where c.id = #{id}
+    </select>
+        
+    <insert id="insertExamineConfig" parameterType="ExamineConfig" useGeneratedKeys="true" keyProperty="id">
+        insert into examine_config
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="columnId != null">column_id,</if>
+            <if test="roleId != null">role_id,</if>
+            <if test="examineLevel != null and examineLevel != ''">examine_level,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="columnId != null">#{columnId},</if>
+            <if test="roleId != null">#{roleId},</if>
+            <if test="examineLevel != null and examineLevel != ''">#{examineLevel},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateExamineConfig" parameterType="ExamineConfig">
+        update examine_config
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="columnId != null">column_id = #{columnId},</if>
+            <if test="roleId != null">role_id = #{roleId},</if>
+            <if test="examineLevel != null and examineLevel != ''">examine_level = #{examineLevel},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteExamineConfigById" parameterType="Long">
+        delete from examine_config where id = #{id}
+    </delete>
+
+    <delete id="deleteExamineConfigByIds" parameterType="String">
+        delete from examine_config where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="selectExamineConfigByLevel" parameterType="String" resultMap="ExamineConfigResult">
+        <include refid="selectExamineConfigVo"/>
+        where c.examine_level = #{level}
+    </select>
+</mapper>

+ 112 - 0
ruoyi-system/src/main/resources/mapper/system/ExamineScheduleMapper.xml

@@ -0,0 +1,112 @@
+<?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.ruoyi.system.mapper.ExamineScheduleMapper">
+    
+    <resultMap type="ExamineSchedule" id="ExamineScheduleResult">
+        <result property="id"    column="id"    />
+        <result property="newsId"    column="news_id"    />
+        <result property="examineNameOne"    column="examine_name_one"    />
+        <result property="examineTimeOne"    column="examine_time_one"    />
+        <result property="examineNameTwo"    column="examine_name_two"    />
+        <result property="examineTimeTwo"    column="examine_time_two"    />
+        <result property="examineNameThr"    column="examine_name_thr"    />
+        <result property="examineTimeThr"    column="examine_time_thr"    />
+        <result property="examineLevel"    column="examine_level"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectExamineScheduleVo">
+        select id, news_id, examine_name_one, examine_time_one, examine_name_two, examine_time_two, examine_name_thr, examine_time_thr, examine_level, create_by, create_time, update_by, update_time, remark from examine_schedule
+    </sql>
+
+    <select id="selectExamineScheduleList" parameterType="ExamineSchedule" resultMap="ExamineScheduleResult">
+        <include refid="selectExamineScheduleVo"/>
+        <where>  
+            <if test="examineNameOne != null  and examineNameOne != ''"> and examine_name_one = #{examineNameOne}</if>
+            <if test="examineNameTwo != null  and examineNameTwo != ''"> and examine_name_two = #{examineNameTwo}</if>
+            <if test="examineNameThr != null  and examineNameThr != ''"> and examine_name_thr = #{examineNameThr}</if>
+            <if test="examineLevel != null  and examineLevel != ''"> and examine_level = #{examineLevel}</if>
+        </where>
+    </select>
+    
+    <select id="selectExamineScheduleById" parameterType="Long" resultMap="ExamineScheduleResult">
+        <include refid="selectExamineScheduleVo"/>
+        where id = #{id}
+    </select>
+
+    <select id="selectExamineScheduleByNewId" parameterType="Long" resultMap="ExamineScheduleResult">
+        <include refid="selectExamineScheduleVo"/>
+        where news_id = #{id}
+    </select>
+        
+    <insert id="insertExamineSchedule" parameterType="ExamineSchedule" useGeneratedKeys="true" keyProperty="id">
+        insert into examine_schedule
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="newsId != null">news_id,</if>
+            <if test="examineNameOne != null">examine_name_one,</if>
+            <if test="examineTimeOne != null">examine_time_one,</if>
+            <if test="examineNameTwo != null">examine_name_two,</if>
+            <if test="examineTimeTwo != null">examine_time_two,</if>
+            <if test="examineNameThr != null">examine_name_thr,</if>
+            <if test="examineTimeThr != null">examine_time_thr,</if>
+            <if test="examineLevel != null">examine_level,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="newsId != null">#{newsId},</if>
+            <if test="examineNameOne != null">#{examineNameOne},</if>
+            <if test="examineTimeOne != null">#{examineTimeOne},</if>
+            <if test="examineNameTwo != null">#{examineNameTwo},</if>
+            <if test="examineTimeTwo != null">#{examineTimeTwo},</if>
+            <if test="examineNameThr != null">#{examineNameThr},</if>
+            <if test="examineTimeThr != null">#{examineTimeThr},</if>
+            <if test="examineLevel != null">#{examineLevel},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateExamineSchedule" parameterType="ExamineSchedule">
+        update examine_schedule
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="newsId != null">news_id = #{newsId},</if>
+            <if test="examineNameOne != null">examine_name_one = #{examineNameOne},</if>
+            <if test="examineTimeOne != null">examine_time_one = #{examineTimeOne},</if>
+            <if test="examineNameTwo != null">examine_name_two = #{examineNameTwo},</if>
+            <if test="examineTimeTwo != null">examine_time_two = #{examineTimeTwo},</if>
+            <if test="examineNameThr != null">examine_name_thr = #{examineNameThr},</if>
+            <if test="examineTimeThr != null">examine_time_thr = #{examineTimeThr},</if>
+            <if test="examineLevel != null">examine_level = #{examineLevel},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteExamineScheduleById" parameterType="Long">
+        delete from examine_schedule where id = #{id}
+    </delete>
+
+    <delete id="deleteExamineScheduleByIds" parameterType="String">
+        delete from examine_schedule where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>