From f2ccd0a888d09b15bfa3c87e567c35e3432dc285 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Fri, 29 Nov 2019 20:05:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E8=AF=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/service/impl/GroupServiceImpl.java | 9 -- .../epdc-events/epdc-events-client/pom.xml | 5 -- .../esua/epdc/dto/WorkWxMaSubscribeData.java | 21 +++++ .../epdc/dto/WorkWxMaSubscribeMessage.java | 3 +- .../epdc/dto/events/EventsCategoryDTO.java | 33 +++++++ .../events/form/EpdcEventSubmitFormDTO.java | 39 ++++----- .../epdc-events/epdc-events-server/pom.xml | 5 ++ .../async/WorkWxSubscribeMessageTask.java | 7 +- .../service/impl/EpdcEventsServiceImpl.java | 85 ++++++++++++------- .../dto/group/form/GroupCreateFormDTO.java | 10 +-- .../dto/topic/form/TopicSubmitFormDTO.java | 2 - .../group/controller/AppGroupController.java | 2 - .../modules/group/entity/GroupEntity.java | 45 ++++------ .../modules/topic/entity/TopicEntity.java | 45 ++++------ .../topic/service/impl/TopicServiceImpl.java | 1 + .../main/resources/mapper/topic/TopicDao.xml | 22 +++-- 16 files changed, 177 insertions(+), 157 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeData.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventsCategoryDTO.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java index f070040dd..f4ad892b2 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java @@ -42,15 +42,6 @@ public class GroupServiceImpl implements GroupService { if (null == userDetail) { return new Result().error("获取用户信息失败"); } - // 获取该网格所有上级机构 -// Result deptDTOResult = adminFeignClient.getCompleteDept(userDetail.getGridId()); -// CompleteDeptDTO deptDTO = deptDTOResult.getData(); -// formDto.setArea(deptDTO.getDistrict()); -// formDto.setAreaId(deptDTO.getDistrictId()); -// formDto.setStreet(deptDTO.getStreet()); -// formDto.setStreetId(deptDTO.getStreetId()); -// formDto.setCommunity(deptDTO.getCommunity()); -// formDto.setCommunityId(deptDTO.getCommunityId()); //获取所有上级机构名称和ID拼接 Result dtoResult = adminFeignClient.getParentAndAllDept(userDetail.getGridId()); ParentAndAllDeptDTO deptDTO = dtoResult.getData(); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml index e79dd8136..0fee0b718 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml @@ -33,11 +33,6 @@ epdc-websocket-client 1.0.0 - - com.esua.epdc - epdc-commons-tools-wx-ma - ${project.version} - diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeData.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeData.java new file mode 100644 index 000000000..a9f73b7f5 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeData.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * + * 订阅消息数据 + * + * @Author:liuchuang + * @Date:2019/11/29 18:56 + */ +@Data +public class WorkWxMaSubscribeData implements Serializable { + private static final long serialVersionUID = 1321779871459769246L; + + private String name; + private String value; + private String color; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java index 9b1955889..d6aea0ee9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/WorkWxMaSubscribeMessage.java @@ -1,6 +1,5 @@ package com.elink.esua.epdc.dto; -import cn.binarywang.wx.miniapp.bean.WxMaSubscribeData; import lombok.Data; import java.io.Serializable; @@ -25,5 +24,5 @@ public class WorkWxMaSubscribeMessage implements Serializable { /** * 消息数据 */ - private List data; + private List data; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventsCategoryDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventsCategoryDTO.java new file mode 100644 index 000000000..cb52890e1 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EventsCategoryDTO.java @@ -0,0 +1,33 @@ +package com.elink.esua.epdc.dto.events; + +import lombok.Data; + +import java.io.Serializable; + +/** + * + * 事件分类信息 + * + * @Author:liuchuang + * @Date:2019/11/29 13:40 + */ +@Data +public class EventsCategoryDTO implements Serializable { + private static final long serialVersionUID = 6840230339149351580L; + + /** + * 分类编码 + */ + private String categoryCode; + + /** + * 一级分类编码 + */ + private String firstCategoryCode; + + /** + * 分类全称 + */ + private String categoryFullName; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java index f25440e52..61c2dc8f9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventSubmitFormDTO.java @@ -39,30 +39,6 @@ public class EpdcEventSubmitFormDTO implements Serializable { * 图片 */ private List images; -// /** -// * 区 -// */ -// private String area; -// /** -// * 区ID -// */ -// private Long areaId; -// /** -// * 街道 -// */ -// private String street; -// /** -// * 街道ID -// */ -// private Long streetId; -// /** -// * 社区 -// */ -// private String community; -// /** -// * 社区ID -// */ -// private Long communityId; /** * 网格 @@ -151,4 +127,19 @@ public class EpdcEventSubmitFormDTO implements Serializable { * 处理意见 */ private String advice; + + /** + * 评论数 + */ + private Integer commentNum; + + /** + * 浏览数 + */ + private Integer browseNum; + + /** + * 分类ID + */ + private String categoryId; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml index b6e89db26..be2da0cbf 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml @@ -51,6 +51,11 @@ feign-httpclient 10.3.0 + + com.esua.epdc + epdc-commons-tools-wx-ma + ${project.version} + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java index 8141d985a..aaddf4df1 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/WorkWxSubscribeMessageTask.java @@ -1,7 +1,9 @@ package com.elink.esua.epdc.modules.async; import cn.binarywang.wx.miniapp.api.WxMaMsgService; +import cn.binarywang.wx.miniapp.bean.WxMaSubscribeData; import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.constant.WorkWxMaSubscribeMessageConstant; import com.elink.esua.epdc.dto.WorkWxMaSubscribeMessage; import com.elink.esua.epdc.utils.WxMaServiceUtils; @@ -10,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; +import java.util.List; + /** * @@ -34,7 +38,8 @@ public class WorkWxSubscribeMessageTask { message.setPage(WorkWxMaSubscribeMessageConstant.WORK_SUBSCRIBE_MESSAGE_PAGE); message.setTemplateId(WorkWxMaSubscribeMessageConstant.WORK_SUBSCRIBE_MESSAGE_TEMPLATE_ID); message.setToUser(toUser); - message.setData(messages.getData()); + List data = ConvertUtils.sourceToTarget(messages.getData(), WxMaSubscribeData.class); + message.setData(data); wxMaMsgService.sendSubscribeMsg(message); } } catch (WxErrorException e) { diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index ea1f9c472..2acfda22a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -185,34 +185,12 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl cateList = categoryService.getPidListById(Long.parseLong(dto.getCategoryId())); - //所选分类标签为多级 - if(cateList != null && cateList.size() > 0) { - // list第一个为一级分类标签 - entity.setFirstCategoryCode(cateList.get(0).getCategoryCode()); - //分类标签全称拼接:-分割 - String name = ""; - for (int i = 0; i < cateList.size(); i++){ - if (i == cateList.size() -1){ - name = name + cateList.get(i).getCategoryName(); - }else { - name = name + cateList.get(i).getCategoryName() + "-"; - } - } - name = name + "-" + cateDto.getCategoryName(); - entity.setCategoryFullName(name); - // 所选分类标签为一级 - } else { - //当前标签作为一级标签 - entity.setFirstCategoryCode(cateDto.getCategoryCode()); - entity.setCategoryFullName(cateDto.getCategoryName()); - } + EventsCategoryDTO categoryInfo = this.initCategoryInfo(dto.getCategoryId()); + entity.setCategoryCode(categoryInfo.getCategoryCode()); + entity.setFirstCategoryCode(categoryInfo.getCategoryCode()); + entity.setCategoryFullName(categoryInfo.getCategoryFullName()); } entity.setAdvice(dto.getAdvice()); @@ -374,12 +352,6 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl topicToIssue(EpdcEventSubmitFormDTO dto) { dto.setEventState(EventIssueItemState.EVENT_REVIEW_PASS); + // 初始化分类信息 + EventsCategoryDTO categoryInfo = this.initCategoryInfo(dto.getCategoryId()); + dto.setCategoryCode(categoryInfo.getCategoryCode()); + dto.setFirstCategoryCode(categoryInfo.getCategoryCode()); + dto.setCategoryFullName(categoryInfo.getCategoryFullName()); + // 保存事件 EpdcEventsEntity eventsEntity = this.saveEvent(dto); // 保存议题 @@ -492,4 +470,45 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl().ok(issueDTO); } + + /** + * + * 初始化分类信息 + * + * @params [categoryId] + * @return com.elink.esua.epdc.dto.events.EventsCategoryDTO + * @author liuchuang + * @since 2019/11/29 13:51 + */ + private EventsCategoryDTO initCategoryInfo(String categoryId) { + Long category = Long.parseLong(categoryId); + EventsCategoryDTO resultDto = new EventsCategoryDTO(); + CategoryDTO cateDto =categoryService.get(category); + resultDto.setCategoryCode(cateDto.getCategoryCode()); + //获取所有父类分类标签 + List cateList = categoryService.getPidListById(category); + //所选分类标签为多级 + if(cateList != null && cateList.size() > 0) { + // list第一个为一级分类标签 + resultDto.setFirstCategoryCode(cateList.get(0).getCategoryCode()); + //分类标签全称拼接:-分割 + String name = ""; + for (int i = 0; i < cateList.size(); i++){ + if (i == cateList.size() -1){ + name = name + cateList.get(i).getCategoryName(); + }else { + name = name + cateList.get(i).getCategoryName() + "-"; + } + } + name = name + "-" + cateDto.getCategoryName(); + resultDto.setCategoryFullName(name); + // 所选分类标签为一级 + } else { + //当前标签作为一级标签 + resultDto.setFirstCategoryCode(cateDto.getCategoryCode()); + resultDto.setCategoryFullName(cateDto.getCategoryName()); + } + + return resultDto; + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupCreateFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupCreateFormDTO.java index f206ccf68..322480580 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupCreateFormDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupCreateFormDTO.java @@ -39,15 +39,7 @@ public class GroupCreateFormDTO implements Serializable { * 社群类别 0:党员群,1:自建群 */ private String groupCategory; -// /** -// * 区 -// */ -// private String area; -// /** -// * 区ID -// */ -// @NotNull(message = "用户区ID不能为空") -// private Long areaId; + // /** // * 街道 // */ diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java index 2b5d87d04..9de72516a 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java @@ -61,7 +61,6 @@ public class TopicSubmitFormDTO implements Serializable { /** * 父所有部门ID */ - @NotNull(message = "父所有部门ID不能为空") private String parentDeptIds; /** * 父所有部门 @@ -70,7 +69,6 @@ public class TopicSubmitFormDTO implements Serializable { /** * 所有部门ID */ - @NotNull(message = "所有部门ID不能为空") private String allDeptIds; /** * 所有部门 diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java index 920006848..ea00c2839 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java @@ -60,8 +60,6 @@ public class AppGroupController { @PostMapping("createParty") public Result createPartyGroup(@RequestBody CompleteDeptDTO formDto) { GroupCreateFormDTO groupCreateFormDto = ConvertUtils.sourceToTarget(formDto, GroupCreateFormDTO.class); -// groupCreateFormDto.setArea(formDto.getDistrict()); -// groupCreateFormDto.setAreaId(formDto.getDistrictId()); groupCreateFormDto.setGroupName(formDto.getCommunity().concat(formDto.getGrid()).concat(GroupConstant.PARTY_GROUP_NAME_SUFFIX)); groupCreateFormDto.setGroupAvatar(GroupConstant.PARTY_GROUP_AVATAR); groupCreateFormDto.setGroupIntroduction(formDto.getStreet().concat(formDto.getCommunity()).concat(formDto.getGrid())); diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/entity/GroupEntity.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/entity/GroupEntity.java index df1af241e..f47c99836 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/entity/GroupEntity.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/entity/GroupEntity.java @@ -58,35 +58,22 @@ public class GroupEntity extends BaseEpdcEntity { */ private String groupCategory; -// /** -// * 区 -// */ -// private String area; -// -// /** -// * 区ID -// */ -// private Long areaId; -// -// /** -// * 街道 -// */ -// private String street; -// -// /** -// * 街道ID -// */ -// private Long streetId; -// -// /** -// * 社区 -// */ -// private String community; -// -// /** -// * 社区ID -// */ -// private Long communityId; + /** + * 父所有部门ID + */ + private String parentDeptIds; + /** + * 父所有部门 + */ + private String parentDeptNames; + /** + * 所有部门ID + */ + private String allDeptIds; + /** + * 所有部门 + */ + private String allDeptNames; /** * 网格 diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java index e3d2064bc..d6fb159d8 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/entity/TopicEntity.java @@ -79,35 +79,22 @@ public class TopicEntity extends BaseEpdcEntity { */ private String itemId; -// /** -// * 区 -// */ -// private String area; -// -// /** -// * 区ID -// */ -// private Long areaId; -// -// /** -// * 街道 -// */ -// private String street; -// -// /** -// * 街道ID -// */ -// private Long streetId; -// -// /** -// * 社区 -// */ -// private String community; -// -// /** -// * 社区ID -// */ -// private Long communityId; + /** + * 父所有部门ID + */ + private String parentDeptIds; + /** + * 父所有部门 + */ + private String parentDeptNames; + /** + * 所有部门ID + */ + private String allDeptIds; + /** + * 所有部门 + */ + private String allDeptNames; /** * 网格 diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java index 6a47e3c4d..d64462b40 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java @@ -263,6 +263,7 @@ public class TopicServiceImpl extends BaseServiceImpl imp // 插入事件表、议题表 EpdcEventSubmitFormDTO eventSubmitFormDto = baseDao.selectOneOfTopicForChangeToIssue(formDto.getId()); + eventSubmitFormDto.setCategoryId(formDto.getCategoryId()); eventSubmitFormDto.setAdvice(formDto.getAdvice()); Result eventResult = eventFeignClient.submitEvent(eventSubmitFormDto); if (!eventResult.success()) { diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml index f5270850d..3a62f3282 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml @@ -68,12 +68,10 @@ - - - - - - + + + + @@ -83,6 +81,8 @@ + + @@ -93,12 +93,6 @@ tp.TOPIC_ADDRESS, tp.TOPIC_LATITUDE, tp.TOPIC_LONGITUDE, - tp.AREA, - tp.AREA_ID, - tp.STREET, - tp.STREET_ID, - tp.COMMUNITY, - tp.COMMUNITY_ID, tp.GRID, tp.GRID_ID, tp.USER_ID, @@ -108,6 +102,10 @@ tp.MOBILE, tp.GROUP_ID, tp.GROUP_NAME, + tp.ALL_DEPT_IDS, + tp.ALL_DEPT_NAMES, + tp.PARENT_DEPT_IDS, + tp.PARENT_DEPT_NAMES, img.IMG_URL FROM epdc_topic tp