Browse Source

修改新闻接口

DESKTOP-USV654P\pc 1 year ago
parent
commit
8fd1a6ae9f

+ 2 - 2
src/main/java/com/xjrsoft/module/oa/dto/UpdateNewsDto.java

@@ -179,7 +179,7 @@ public class UpdateNewsDto {
     @ApiModelProperty("附件子表")
     @TableField(exist = false)
     @EntityMapping(thisField = "id", joinField = "newsId")
-    private List<AddNewsAppendixDto> newsAppendixList;
+    private List<AddNewsAppendixDto> appendixList;
 
     /**
      * 关系子表
@@ -187,5 +187,5 @@ public class UpdateNewsDto {
     @ApiModelProperty("关系子表")
     @TableField(exist = false)
     @EntityMapping(thisField = "id", joinField = "newsId")
-    private List<AddNewsRelationDto> newsRelationList;
+    private List<AddNewsRelationDto> relationList;
 }

+ 8 - 0
src/main/java/com/xjrsoft/module/oa/service/INewsService.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.oa.service;
 
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.oa.dto.AddNewsDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsDto;
 import com.xjrsoft.module.oa.entity.News;
 
 import java.util.List;
@@ -22,6 +23,13 @@ public interface INewsService extends MPJBaseService<News> {
      * @return
      */
     boolean add(AddNewsDto addNewsDto);
+    /**
+     * 修改新闻
+     *
+     * @param updateNewsDto
+     * @return
+     */
+    boolean update(UpdateNewsDto updateNewsDto);
     /**
      * 删除新闻 以及 消息推送
      *

+ 33 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -1,10 +1,13 @@
 package com.xjrsoft.module.oa.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.authority.entity.DataAuthConfig;
 import com.xjrsoft.module.oa.dto.AddNewsAppendixDto;
 import com.xjrsoft.module.oa.dto.AddNewsDto;
 import com.xjrsoft.module.oa.dto.AddNewsRelationDto;
+import com.xjrsoft.module.oa.dto.UpdateNewsDto;
 import com.xjrsoft.module.oa.entity.News;
 import com.xjrsoft.module.oa.entity.NewsAppendix;
 import com.xjrsoft.module.oa.entity.NewsRelation;
@@ -66,6 +69,36 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
         return true;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean update(UpdateNewsDto updateNewsDto) {
+        News news = BeanUtil.toBean(updateNewsDto, News.class);
+        newsMapper.insert(news);
+
+
+        newsAppendixMapper.delete(Wrappers.lambdaQuery(NewsAppendix.class).eq(NewsAppendix::getNewsId,news.getId()));
+        for (AddNewsAppendixDto appendixDto : updateNewsDto.getAppendixList()) {
+            NewsAppendix newsAppendix =BeanUtil.toBean(appendixDto, NewsAppendix.class);
+            newsAppendix.setNewsId(news.getId());
+            newsAppendixMapper.insert(newsAppendix);
+        }
+
+        newsRelationMapper.delete(Wrappers.lambdaQuery(NewsRelation.class).eq(NewsRelation::getNewsId,news.getId()));
+        for (AddNewsRelationDto relationDto : updateNewsDto.getRelationList()) {
+            NewsRelation newsRelation = new NewsRelation();
+            newsRelation.setNewsId(news.getId());
+            newsRelation.setReadMark(0);
+            if (relationDto.getRelationType() == 1) {
+                // 获取部门下的人员添加
+            } else {
+                newsRelation.setUserId(relationDto.getRelationId());
+                newsRelationMapper.insert(newsRelation);
+            }
+        }
+
+        return true;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean delete(List<Long> ids) {