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); + } }