diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftAttrFromDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftAttrFromDTO.java
new file mode 100644
index 0000000000..a2640f520c
--- /dev/null
+++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftAttrFromDTO.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 文章属性form
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-06-02
+ */
+@Data
+public class DraftAttrFromDTO implements Serializable {
+
+
+ private static final long serialVersionUID = 6463906402283515172L;
+ /**
+ * 草稿ID
+ */
+ private String draftId;
+
+ /**
+ * 封面图片地址
+ */
+ private String coverImg;
+
+ /**
+ * 标签名称数组
+ */
+ private List tagNameList;
+
+ /**
+ * 是否置顶
+ */
+ private Integer isTop;
+
+ /**
+ * 网格Id数组
+ */
+ private List gridIdList;
+
+ /**
+ * 发布单位Id 类型不同 id含义不同
+ */
+ private String publisher;
+
+ /**
+ * 发布日期
+ */
+ private String publishDate;
+
+ /**
+ * 发布者类型 机关:agency;发布类型 部门:department;网格:grid
+ */
+ private String publisherType;
+}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
index 881c065acd..98d1a0411c 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
@@ -120,7 +120,7 @@ public class ArticleController {
}
/**
- * desc:保存或修改文章内容
+ * desc:保存或修改草稿内容
* @param fromDTO
* @throws Exception
*/
@@ -216,4 +216,15 @@ public class ArticleController {
return new Result();
}
+ /**
+ * desc:保存草稿属性
+ * @param fromDTO
+ * @throws Exception
+ */
+ @GetMapping("saveattr")
+ public Result saveOrUpdateAttr(@LoginUser TokenDto tokenDto,@RequestBody DraftAttrFromDTO fromDTO) throws Exception {
+ Boolean isSuccess = articleService.saveOrUpdateAttr(tokenDto, fromDTO);
+ return new Result().ok(isSuccess);
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
index 795ad80e6a..e4c6ea9451 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
@@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ArticleDTO;
+import com.epmet.dto.form.DraftAttrFromDTO;
import com.epmet.dto.form.DraftContentFromDTO;
import com.epmet.dto.form.OffLineArticleFormDTO;
import com.epmet.dto.result.ArticleGridResultDTO;
@@ -141,4 +142,12 @@ public interface ArticleService extends BaseService {
* @Description 党建声音-政府端-下线文章
**/
void offLineArticle(OffLineArticleFormDTO formDTO);
+
+ /**
+ * desc:保存或修改文章属性
+ * @param tokenDto
+ * @param fromDTO
+ * @return
+ */
+ Boolean saveOrUpdateAttr(TokenDto tokenDto, DraftAttrFromDTO fromDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
index 49edce1a78..0fd775e6e0 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
@@ -27,34 +27,30 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.constant.ArticleConstant;
-import com.epmet.dao.ArticleDao;
-import com.epmet.dao.ArticlePublishRangeDao;
-import com.epmet.dao.DraftContentDao;
-import com.epmet.dao.DraftDao;
+import com.epmet.constant.DraftConstant;
+import com.epmet.dao.*;
import com.epmet.dto.ArticleDTO;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.feign.GovOrgSelfFeignClient;
+import com.epmet.dto.form.DraftAttrFromDTO;
import com.epmet.dto.form.DraftContentFromDTO;
import com.epmet.dto.form.OffLineArticleFormDTO;
-import com.epmet.dto.result.ArticleGridResultDTO;
-import com.epmet.dto.result.GovArticleContentDTO;
-import com.epmet.dto.result.GovArticleDetailResultDTO;
-import com.epmet.dto.result.PublishAgencyListResultDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.feign.EpmetUserSelfFeignClient;
import com.epmet.redis.ArticleRedis;
import com.epmet.service.ArticleOperateRecordService;
import com.epmet.service.ArticlePublishRangeService;
import com.epmet.service.ArticleService;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -62,6 +58,7 @@ import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
/**
* 文章表
@@ -69,9 +66,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-02
*/
+@Slf4j
@Service
public class ArticleServiceImpl extends BaseServiceImpl implements ArticleService {
- private final Log logger = LogFactory.getLog(getClass());
@Autowired
private ArticleRedis articleRedis;
@Autowired
@@ -88,6 +85,10 @@ public class ArticleServiceImpl extends BaseServiceImpl page(Map params) {
@@ -168,7 +169,7 @@ public class ArticleServiceImpl extends BaseServiceImpl articleContentList = baseDao.queryGovArticleContent(articleId);
- articleDetail.setArticleContentList(articleContentList);
- }
- return articleDetail;
- }
+ public GovArticleDetailResultDTO queryGovArticleDetail(String articleId) {
+ GovArticleDetailResultDTO articleDetail = baseDao.queryGovArticleDetail(articleId);
+ if (null != articleDetail) {
+ List articleContentList = baseDao.queryGovArticleContent(articleId);
+ articleDetail.setArticleContentList(articleContentList);
+ }
+ return articleDetail;
+ }
+
+ @Override
+ public Boolean saveOrUpdateAttr(TokenDto tokenDto, DraftAttrFromDTO fromDTO) {
+ DraftEntity draftEntity = draftDao.selectById(fromDTO.getDraftId());
+ if (draftEntity == null) {
+ log.warn("saveOrUpdateAttr draftId is not exist in db");
+ throw new RenException("参数错误");
+ }
+
+ //构建标签
+ if (!CollectionUtils.isEmpty(fromDTO.getTagNameList())) {
+ List tagNameList = fromDTO.getTagNameList();
+ tagNameList = tagNameList.stream().distinct().collect(Collectors.toList());
+ String tagNamesStr = StringUtils.join(tagNameList, "、");
+ draftEntity.setTags(tagNamesStr);
+ }
+ draftEntity.setIsTop(fromDTO.getIsTop());
+
+
+
+ //发布单位
+ String publisher = fromDTO.getPublisher();
+ String publisherType = fromDTO.getPublisherType();
+ //TODO 根据分布类型 获取对应的名称
+
+
+ draftEntity.setPublishDate(DateUtils.stringToDate(fromDTO.getPublishDate(),DateUtils.DATE_PATTERN));
+
+ //封面
+ DraftCoverEntity coverEntity = buildCoverEntity(tokenDto, fromDTO);
+ //发布范围
+ List publishRangeEntityList = buildDraftPublishRange(draftEntity,tokenDto, fromDTO);
+
+
+ executeSaveDraftAttr(draftEntity, coverEntity, publishRangeEntityList);
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void executeSaveDraftAttr(DraftEntity draftEntity, DraftCoverEntity coverEntity, List publishRangeEntityList) {
+ Map draftIdMap = new HashMap<>();
+ draftIdMap.put("DRAFT_ID", draftEntity.getId());
+ draftCoverDao.deleteByMap(draftIdMap);
+ draftCoverDao.insert(coverEntity);
+
+ draftPublishRangeDao.deleteByMap(draftIdMap);
+ if (CollectionUtils.isEmpty(publishRangeEntityList)){
+ log.warn("saveOrUpdateAttr publishRangeEntityList is empty");
+ throw new RenException("参数错误");
+ }
+ publishRangeEntityList.forEach(publishRange->draftPublishRangeDao.insert(publishRange));
+ draftDao.updateById(draftEntity);
+ }
+
+ private List buildDraftPublishRange(DraftEntity draftEntity, TokenDto tokenDto, DraftAttrFromDTO fromDTO) {
+ List publishRangeEntityList = new ArrayList<>();
+ List agencyGridNameList = new ArrayList<>();
+
+ ArticleGridResultDTO articleGridResultDTO = agencyGridList(tokenDto);
+ if (articleGridResultDTO == null) {
+ log.warn("saveOrUpdateAttr userId:{} have not right access publishRange", tokenDto.getUserId());
+ throw new RenException("参数错误");
+ }
+ buildName(tokenDto,agencyGridNameList,publishRangeEntityList, fromDTO, articleGridResultDTO);
+ buildAgencyGridNames(tokenDto,agencyGridNameList,publishRangeEntityList, fromDTO, articleGridResultDTO);
+ draftEntity.setPublishRangeDesc(StringUtils.join(agencyGridNameList,"|"));
+ return publishRangeEntityList;
+ }
+
+ private DraftCoverEntity buildCoverEntity(TokenDto tokenDto, DraftAttrFromDTO fromDTO) {
+ String coverImg = fromDTO.getCoverImg();
+ DraftCoverEntity coverEntity = new DraftCoverEntity();
+ coverEntity.setCustomerId(tokenDto.getCustomerId());
+ coverEntity.setDraftId(fromDTO.getDraftId());
+ coverEntity.setImgUrl(coverImg);
+ coverEntity.setAuditStatus("");
+ coverEntity.setAuditReason("");
+ coverEntity.setRevision(0);
+ coverEntity.setDelFlag(NumConstant.ZERO_STR);
+ return coverEntity;
+ }
+
+ private void buildAgencyGridNames(TokenDto tokenDto, List agencyGridNameList, List publishRangeEntityList, DraftAttrFromDTO fromDTO, ArticleGridResultDTO articleGridResultDTO) {
+ articleGridResultDTO.getSubAgencyGridList().forEach(subAgencyGrid -> {
+ buildName(tokenDto,agencyGridNameList, publishRangeEntityList,fromDTO, subAgencyGrid);
+ });
+ if (!CollectionUtils.isEmpty(articleGridResultDTO.getSubAgencyGridList())) {
+ articleGridResultDTO.getSubAgencyGridList().forEach(subAgencyGrid -> {
+ buildAgencyGridNames(tokenDto, agencyGridNameList, publishRangeEntityList, fromDTO, subAgencyGrid);
+ });
+ }
+ }
+
+ public static void main(String[] args) {
+ String str = "{\"agencyId\":\"1041fe5e8499dbd8add314291d2f6da4\",\"agencyName\":\"省委宣传部\",\"gridList\":[{\"gridId\":\"1\",\"gridName\":\"第一\"},{\"gridId\":\"2\",\"gridName\":\"第二\"}],\"subAgencyGridList\":[{\"agencyId\":\"8f9d9990f9502be0f5158b59fbcba7f9\",\"agencyName\":\"枣庄市\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4\"},{\"agencyId\":\"a03b85699795bf9bd192a1b08ee579b7\",\"agencyName\":\"淄博市\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4\"},{\"agencyId\":\"ae2b16245d52e79bffc81da18882bd52\",\"agencyName\":\"青岛市市委宣传办\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"355c9b2ca286dfc4a12e8ceb0e701cd2\",\"agencyName\":\"莱西市委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"f3bc7390a1ce4770ab315e35bf486d26\",\"agencyName\":\"李沧区委\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"3a7a375ebce1ec29a1f4c09598ae4a93\",\"agencyName\":\"大大大街道\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"af65cfe91297f7128553d65be08604b8\",\"agencyName\":\"小小小社区\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52:f3bc7390a1ce4770ab315e35bf486d26:3a7a375ebce1ec29a1f4c09598ae4a93\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52:f3bc7390a1ce4770ab315e35bf486d26\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"9a072413f6de9ab2468132716e3c4023\",\"agencyName\":\"平度区委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"81ea088d5415b39d87488a45c294881e\",\"agencyName\":\"jiaozhoushiwe胶州市委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"f89f1ed4b6b178fe6b1af5acbca751c4\",\"agencyName\":\"崂山区委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"c27644b0d4e0b03821df55efae7e8f0e\",\"agencyName\":\"市北市委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"1432bbed56c9ba1c8a7ceea04ecd0695\",\"agencyName\":\"市南市委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"},{\"agencyId\":\"e07464abe1d2b86c6bd55ac0f8ed8b96\",\"agencyName\":\"黄岛区委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:ae2b16245d52e79bffc81da18882bd52\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4\"},{\"agencyId\":\"8644222c22ee9e989eff748104785083\",\"agencyName\":\"济南市市委宣传办\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"6980c7edd43f3ebed4770d28c9acd7f5\",\"agencyName\":\"飞飞飞\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"03c965e0e5c89e5bf275b53d2a149bf9\",\"agencyName\":\"哈哈哈\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"e6bb0092805119fca932f126b58fcb4a\",\"agencyName\":\"1111\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:03c965e0e5c89e5bf275b53d2a149bf9\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"e2b0cc9f9f30cfeaab6645dcdb75992f\",\"agencyName\":\"快快快\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"4ba9eb65a791932cdaae3ff1fb45a7e3\",\"agencyName\":\"三四十\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:e2b0cc9f9f30cfeaab6645dcdb75992f\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"afb5790c997478df4086bccbb6a1583f\",\"agencyName\":\"市中市委\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"b9e295f8c1906a0d1c5e0b313afcda3f\",\"agencyName\":\"啦啦啦啦\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"3a376fd514af0219c3023905faaac5ac\",\"agencyName\":\"lo咯啦啦啦\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:afb5790c997478df4086bccbb6a1583f:b9e295f8c1906a0d1c5e0b313afcda3f\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:afb5790c997478df4086bccbb6a1583f\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"f6336c5a9f34b793c1a9aec083261a43\",\"agencyName\":\"济阳市市委\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"3930282aa029a4446f8a3ca25274ed2a\",\"agencyName\":\"啦啦啦啦\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:f6336c5a9f34b793c1a9aec083261a43\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"043d2ecc5ae1766014fdf59743836ce8\",\"agencyName\":\"商河县县委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"8b7d82b8be943adaf82816f4336b87c8\",\"agencyName\":\"平阴区区委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"580701ffcc58e7f867b89727a422adce\",\"agencyName\":\"长青区委\",\"gridList\":[],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"9a1fefeff0d891209a583c2c62be237c\",\"agencyName\":\"天桥区区委\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"4d562a1dc673e1ea2aa0d76d2799b133\",\"agencyName\":\"泺口街道党委\",\"gridList\":[{\"gridId\":\"9cf7b9ad21c488a4884effb2b342c23d\",\"gridName\":\"第二网格\"},{\"gridId\":\"d5e746de405cb38479fccea3228b0fa4\",\"gridName\":\"黄河公园第一网格\"}],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:9a1fefeff0d891209a583c2c62be237c\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"},{\"agencyId\":\"5a40658e540b0701eb04666930db9f73\",\"agencyName\":\"槐荫区区委\",\"gridList\":[],\"subAgencyGridList\":[{\"agencyId\":\"c2e4d28be976e6f66828e213daa0f965\",\"agencyName\":\"省立医院西院党委\",\"gridList\":[{\"gridId\":\"b3f5c5464ad3634982116c174b22ee35\",\"gridName\":\"省立西院第一网格\"}],\"subAgencyGridList\":[],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083:5a40658e540b0701eb04666930db9f73\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4:8644222c22ee9e989eff748104785083\"}],\"pids\":\"0:1041fe5e8499dbd8add314291d2f6da4\"}],\"pids\":\"\"}";
+ ArticleGridResultDTO articleGridResultDTOS = JSON.parseObject(str, ArticleGridResultDTO.class);
+ System.out.println(JSON.toJSONString(articleGridResultDTOS));
+ List gridIdList = Arrays.asList("1","2","d5e746de405cb38479fccea3228b0fa4");
+ List agencyGridNameList = new ArrayList<>();
+ List publishRangeEntityList = new ArrayList<>();
+ TokenDto tokenDto = new TokenDto();
+ tokenDto.setCustomerId("1");
+
+ DraftAttrFromDTO fromDTO = new DraftAttrFromDTO();
+ fromDTO.setGridIdList(gridIdList);
+ //buildName(tokenDto,agencyGridNameList, publishRangeEntityList,fromDTO, articleGridResultDTOS);
+ //buildAgencyGridNames(tokenDto,agencyGridNameList,publishRangeEntityList,fromDTO,articleGridResultDTOS);
+ System.out.println("组织-网格名称:"+JSON.toJSONString(agencyGridNameList));
+ System.out.println("publishRangeEntityList:"+JSON.toJSONString(publishRangeEntityList));
+
+ }
+
+ private void buildName(TokenDto tokenDto, List agencyGridNameList, List publishRangeEntityList, DraftAttrFromDTO fromDTO, ArticleGridResultDTO articleGridResultDTO) {
+ List gridIdList = fromDTO.getGridIdList();
+ List gridList = articleGridResultDTO.getGridList();
+ if (!CollectionUtils.isEmpty(gridList)&&!CollectionUtils.isEmpty(gridIdList)) {
+ gridList.forEach(grid -> {
+ if (gridIdList.contains(grid.getGridId())) {
+ String agencyGridName = articleGridResultDTO.getAgencyName().concat("_").concat(grid.getGridName());
+ agencyGridNameList.add(agencyGridName);
+ DraftPublishRangeEntity draftPublishRangeEntity = new DraftPublishRangeEntity();
+ draftPublishRangeEntity.setCustomerId(tokenDto.getCustomerId());
+ draftPublishRangeEntity.setDraftId(fromDTO.getDraftId());
+ draftPublishRangeEntity.setGridId(grid.getGridId());
+ draftPublishRangeEntity.setAgencyGridName(agencyGridName);
+ draftPublishRangeEntity.setOffLineTime(null);
+ draftPublishRangeEntity.setPublishStatus(DraftConstant.UNPUBLISH);
+ draftPublishRangeEntity.setRevision(0);
+ draftPublishRangeEntity.setDelFlag(NumConstant.ZERO_STR);
+
+ publishRangeEntityList.add(draftPublishRangeEntity);
+ }
+ });
+ }
+ }
/**
* desc:构建 内容对象
diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/migration/epmet_gov_voice.sql b/epmet-module/gov-voice/gov-voice-server/src/main/resources/migration/epmet_gov_voice.sql
index 3a38eaa980..a648a84f99 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/migration/epmet_gov_voice.sql
+++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/migration/epmet_gov_voice.sql
@@ -1,4 +1,11 @@
-DROP TABLE tag_default;/*SkipError*/
+/*
+ Date: 2/06/2020 16:13:38
+*/
+
+-- SET NAMES utf8mb4;
+-- #SET FOREIGN_KEY_CHECKS = 0;
+
+CREATE DATABASE `epmet_gov_access` DEFAULT CHARACTER SET utf8mb4;
CREATE TABLE tag_default(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
TAG_NAME VARCHAR(32) NOT NULL COMMENT '标签名称' ,
@@ -12,7 +19,6 @@ CREATE TABLE tag_default(
) COMMENT = '默认标签表 默认标签表';
ALTER TABLE tag_default COMMENT '默认标签表';
-DROP TABLE tag_customer;/*SkipError*/
CREATE TABLE tag_customer(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -29,7 +35,6 @@ CREATE TABLE tag_customer(
ALTER TABLE tag_customer ADD INDEX INX_TAG_NAME(TAG_NAME);
ALTER TABLE tag_customer COMMENT '客户标签表';
-DROP TABLE tag_grid;/*SkipError*/
CREATE TABLE tag_grid(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -47,7 +52,6 @@ CREATE TABLE tag_grid(
) COMMENT = '网格标签表 网格标签表';
ALTER TABLE tag_grid COMMENT '网格标签表';
-DROP TABLE article_tags;/*SkipError*/
CREATE TABLE article_tags(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -65,14 +69,13 @@ CREATE TABLE article_tags(
ALTER TABLE article_tags ADD INDEX IDX_ARTICLE_ID(ARTICLE_ID);
ALTER TABLE article_tags COMMENT '文章标签表';
-DROP TABLE draft;/*SkipError*/
CREATE TABLE draft(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
TITLE VARCHAR(128) NOT NULL COMMENT '文章标题' ,
PREVIEW_CONTENT VARCHAR(512) NOT NULL COMMENT '文章内容 精简内容' ,
IS_TOP INT NOT NULL COMMENT '是否置顶 1是;0否;' ,
- PUBLISH_RANGE_DESC VARCHAR(512) NOT NULL COMMENT '发布范围描述 所有发布范围集合' ,
+ PUBLISH_RANGE_DESC VARCHAR(512) NOT NULL COMMENT '发布范围描述 所有发布范围集合,顿号隔开' ,
PUBLISHER_ID VARCHAR(64) NOT NULL COMMENT '发布单位ID' ,
PUBLISHER_NAME VARCHAR(128) NOT NULL COMMENT '发布单位名称' ,
PUBLISHER_TYPE VARCHAR(32) NOT NULL COMMENT '发布单位类型 机关:agency;部门:department;网格:grid' ,
@@ -93,7 +96,6 @@ CREATE TABLE draft(
) COMMENT = '草稿表 草稿表';
ALTER TABLE draft COMMENT '草稿表';
-DROP TABLE draft_content;/*SkipError*/
CREATE TABLE draft_content(
ID VARCHAR(64) NOT NULL COMMENT '主键ID 主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -113,7 +115,6 @@ CREATE TABLE draft_content(
) COMMENT = '草稿内容表 草稿内容表';
ALTER TABLE draft_content COMMENT '草稿内容表';
-DROP TABLE draft_publish_range;/*SkipError*/
CREATE TABLE draft_publish_range(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -132,7 +133,6 @@ CREATE TABLE draft_publish_range(
) COMMENT = '草稿发布范围表 草稿发布范围表';
ALTER TABLE draft_publish_range COMMENT '草稿发布范围表';
-DROP TABLE draft_cover;/*SkipError*/
CREATE TABLE draft_cover(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -150,7 +150,6 @@ CREATE TABLE draft_cover(
) COMMENT = '草稿封面表 草稿封面表';
ALTER TABLE draft_cover COMMENT '草稿封面表';
-DROP TABLE article;/*SkipError*/
CREATE TABLE article(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -180,7 +179,6 @@ CREATE TABLE article(
) COMMENT = '文章表 正式文章表';
ALTER TABLE article COMMENT '文章表';
-DROP TABLE article_content;/*SkipError*/
CREATE TABLE article_content(
ID VARCHAR(64) NOT NULL COMMENT '主键ID 主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -200,7 +198,6 @@ CREATE TABLE article_content(
) COMMENT = '文章内容表 文章内容表';
ALTER TABLE article_content COMMENT '文章内容表';
-DROP TABLE article_cover;/*SkipError*/
CREATE TABLE article_cover(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -218,7 +215,6 @@ CREATE TABLE article_cover(
) COMMENT = '文章封面表 文章封面表';
ALTER TABLE article_cover COMMENT '文章封面表';
-DROP TABLE article_publish_range;/*SkipError*/
CREATE TABLE article_publish_range(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -226,7 +222,7 @@ CREATE TABLE article_publish_range(
GRID_ID VARCHAR(64) NOT NULL COMMENT '网格ID' ,
AGENCY_GRID_NAME VARCHAR(64) NOT NULL COMMENT '组织-网格名称' ,
OFF_LINE_TIME DATETIME COMMENT '下线时间' ,
- PUBLISH_STATUS VARCHAR(32) NOT NULL COMMENT '发布状态 未发布:unpublish ;已发布:published' ,
+ PUBLISH_STATUS VARCHAR(32) NOT NULL COMMENT '发布状态 已发布:published;已下线:offline' ,
DEL_FLAG INT NOT NULL DEFAULT 0 COMMENT '删除标识 0.未删除 1.已删除' ,
REVISION INT NOT NULL COMMENT '乐观锁' ,
CREATED_BY VARCHAR(32) NOT NULL COMMENT '创建人' ,
@@ -238,7 +234,6 @@ CREATE TABLE article_publish_range(
ALTER TABLE article_publish_range ADD INDEX IDX_ARTICLE_ID(ARTICLE_ID);
ALTER TABLE article_publish_range COMMENT '文章发布范围表';
-DROP TABLE article_operate_record;/*SkipError*/
CREATE TABLE article_operate_record(
ID VARCHAR(64) NOT NULL COMMENT '主键ID 主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
@@ -257,7 +252,6 @@ CREATE TABLE article_operate_record(
) COMMENT = '文章操作记录表 文章操作记录表';
ALTER TABLE article_operate_record COMMENT '文章操作记录表';
-DROP TABLE article_visit_record;/*SkipError*/
CREATE TABLE article_visit_record(
ID VARCHAR(64) NOT NULL COMMENT '主键ID' ,
CUSTOMER_ID VARCHAR(64) NOT NULL COMMENT '客户ID' ,
diff --git a/epmet-module/gov-voice/gov-voice-server/src/test/java/com/epmet/ArticleServiceTest.java b/epmet-module/gov-voice/gov-voice-server/src/test/java/com/epmet/ArticleServiceTest.java
index 6d0903be34..63cdd2b905 100644
--- a/epmet-module/gov-voice/gov-voice-server/src/test/java/com/epmet/ArticleServiceTest.java
+++ b/epmet-module/gov-voice/gov-voice-server/src/test/java/com/epmet/ArticleServiceTest.java
@@ -1,6 +1,6 @@
package com.epmet;
-
import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.dto.form.DraftAttrFromDTO;
import com.epmet.dto.form.DraftContentFromDTO;
import com.epmet.service.ArticleService;
import org.junit.Test;
@@ -10,6 +10,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
@RunWith(SpringRunner.class)
@@ -22,7 +23,7 @@ public class ArticleServiceTest {
private ArticleService articleService;
@Test
- public void genToken() {
+ public void saveOrUpdateContent() {
TokenDto tokenDto = new TokenDto();
tokenDto.setCustomerId("1");
tokenDto.setUserId("1");
@@ -42,4 +43,23 @@ public class ArticleServiceTest {
String s = articleService.saveOrUpdateContent(tokenDto, draftContentFromDTO);
System.out.println(s);
}
+
+ @Test
+ public void saveOrUpdateAttr() {
+ TokenDto tokenDto = new TokenDto();
+ tokenDto.setCustomerId("1");
+ tokenDto.setUserId("1");
+ DraftAttrFromDTO draftAttrFromDTO = new DraftAttrFromDTO();
+ draftAttrFromDTO.setDraftId("f93b9fa4e78eadc97164fb5203aa580a");
+ draftAttrFromDTO.setCoverImg("http://www.baidu.com");
+ draftAttrFromDTO.setTagNameList(Arrays.asList("标签1","标签2"));
+ draftAttrFromDTO.setIsTop(0);
+ draftAttrFromDTO.setGridIdList(Arrays.asList("b3f5c5464ad3634982116c174b22ee35"));
+ draftAttrFromDTO.setPublisher("1");
+ draftAttrFromDTO.setPublishDate("2020-06-03");
+ draftAttrFromDTO.setPublisherType("agency");
+
+ Boolean aBoolean = articleService.saveOrUpdateAttr(tokenDto, draftAttrFromDTO);
+ System.out.println(aBoolean);
+ }
}