From b4058b53fff9477aae417d4d5d10c0f1882fa15f Mon Sep 17 00:00:00 2001 From: gupeng Date: Fri, 29 Nov 2019 14:58:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E9=97=BB=E7=AE=A1=E7=90=86bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/elink/esua/epdc/dto/BannerDTO.java | 30 ----------- .../java/com/elink/esua/epdc/dto/NewsDTO.java | 36 +++++-------- .../epdc-news/epdc-news-server/pom.xml | 5 ++ .../elink/esua/epdc/entity/BannerEntity.java | 30 ----------- .../elink/esua/epdc/entity/NewsEntity.java | 34 +++++------- .../esua/epdc/feign/AdminFeignClient.java | 14 ++++- .../fallback/AdminFeignClientFallback.java | 6 +++ .../epdc/service/impl/NewsServiceImpl.java | 54 +++++++++++-------- .../src/main/resources/application.yml | 2 + .../src/main/resources/mapper/NewsDao.xml | 17 +++--- 10 files changed, 88 insertions(+), 140 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java index 69d8f149f..30e093db9 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java @@ -74,11 +74,6 @@ public class BannerDTO implements Serializable { */ private Integer revision; - /** - * 部门ID - */ - private Long gridId; - /** * 创建人 */ @@ -114,31 +109,6 @@ public class BannerDTO implements Serializable { */ private Long deptId; - /** - * 通知所属街道 - */ - private String street; - - /** - * 通知所属街道ID - */ - private Long streetId; - - /** - * 通知所属社区 - */ - private String community; - - /** - * 通知所属社区ID - */ - private Long communityId; - - /** - * 通知所属网格 - */ - private String grid; - /** * 创建人姓名 */ diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java index c2c22df99..ac9d32a15 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java @@ -19,6 +19,7 @@ package com.elink.esua.epdc.dto; import java.io.Serializable; import java.util.Date; +import java.util.List; import lombok.Data; @@ -141,43 +142,32 @@ public class NewsDTO implements Serializable { private Date updatedTime; /** - * 通知所属街道 - */ - private String street; - - /** - * 通知所属街道ID - */ - private Long streetId; - - /** - * 通知所属社区 + * 创建人姓名 */ - private String community; + private String creatorName; /** - * 通知所属社区ID + * 是否已上banner */ - private Long communityId; + private String bannerFlag; /** - * 通知所属网格 + * 父所有部门 */ - private String grid; + private String parentDeptIds; /** - * 通知所属网格ID + * 父所有部门名称 */ - private Long gridId; + private String parentDeptNames; /** - * 创建人姓名 + * 所有部门 */ - private String creatorName; + private List allDeptIds; /** - * 是否已上banner + * 所有部门名称 */ - private String bannerFlag; - + private String allDeptNames; } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml index e64a0c1d3..eb8afd839 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml @@ -40,6 +40,11 @@ spring-boot-admin-starter-client ${spring.boot.admin.version} + + com.esua.epdc + epdc-admin-client + 1.0.0 + diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java index d2490bb0e..4fd6392d6 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java @@ -68,11 +68,6 @@ public class BannerEntity extends BaseEpdcEntity { */ private Date stateTime; - /** - * 部门ID - */ - private Long gridId; - /** * 发布人的部门 */ @@ -83,31 +78,6 @@ public class BannerEntity extends BaseEpdcEntity { */ private Long deptId; - /** - * 通知所属街道 - */ - private String street; - - /** - * 通知所属街道ID - */ - private Long streetId; - - /** - * 通知所属社区 - */ - private String community; - - /** - * 通知所属社区ID - */ - private Long communityId; - - /** - * 通知所属网格 - */ - private String grid; - /** * 创建人姓名 */ diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java index a12be27b2..a7347a054 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java @@ -111,43 +111,33 @@ public class NewsEntity extends BaseEpdcEntity { private Integer unLikeNumber; /** - * 通知所属街道 - */ - private String street; - - /** - * 通知所属街道ID - */ - private Long streetId; - - /** - * 通知所属社区 + * 创建人姓名 */ - private String community; + private String creatorName; /** - * 通知所属社区ID + * 是否已上banner */ - private Long communityId; + private String bannerFlag; /** - * 通知所属网格 + * 父所有部门 */ - private String grid; + private String parentDeptIds; /** - * 通知所属网格ID + * 父所有部门名称 */ - private Long gridId; + private String parentDeptNames; /** - * 创建人姓名 + * 所有部门 */ - private String creatorName; + private String allDeptIds; /** - * 是否已上banner + * 所有部门名称 */ - private String bannerFlag; + private String allDeptNames; } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java index 6f24d0f5c..9e73e0066 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -14,7 +15,7 @@ import java.util.List; * @email yujintao@elink-cn.com * @date 2019/9/5 14:44 */ -@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class, url = "http://127.0.0.1:9092") public interface AdminFeignClient { /** @@ -27,4 +28,15 @@ public interface AdminFeignClient { */ @GetMapping("/sys/dept/listGridId/{pid}") Result> listGridIdByDeptPid(@PathVariable("pid") Long pid); + + /** + * 根据部门ID获取上级所有部门信息 + * + * @param deptId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author gp + * @date 2019-11-29 + */ + @GetMapping("/sys/dept/getParentAndAllDept/{deptId}") + Result getParentAndAllDept(@PathVariable("deptId") String deptId); } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java index 4ae6943df..7ec1c523a 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.feign.AdminFeignClient; import org.springframework.stereotype.Component; @@ -20,4 +21,9 @@ public class AdminFeignClientFallback implements AdminFeignClient { public Result> listGridIdByDeptPid(Long pid) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid); } + + @Override + public Result getParentAndAllDept(String depId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId); + } } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java index d8c9711f9..0ac7d475b 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java @@ -34,6 +34,7 @@ import com.elink.esua.epdc.dao.NewsDao; import com.elink.esua.epdc.dto.BannerDTO; import com.elink.esua.epdc.dto.NewsDTO; import com.elink.esua.epdc.dto.NewsUserAttitudeDTO; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNewsDetailFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO; import com.elink.esua.epdc.entity.NewsUserAttitudeEntity; @@ -95,23 +96,26 @@ public class NewsServiceImpl extends BaseServiceImpl implem private QueryWrapper getWrapper(Map params) { UserDetail user = SecurityUser.getUser(); String draft = (String) params.get("draft"); - String streetId = (String) params.get(FieldConstant.STREET_ID_HUMP); - String communityId = (String) params.get(FieldConstant.COMMUNITY_ID_HUMP); + /*String streetId = (String) params.get(FieldConstant.STREET_ID_HUMP); + String communityId = (String) params.get(FieldConstant.COMMUNITY_ID_HUMP);*/ String gridId = (String) params.get(FieldConstant.GRID_ID_HUMP); String startTime = (String) params.get("startTime"); String endTime = (String) params.get("endTime"); String category = (String) params.get("category"); String keyword = ((String) params.get("keyword")); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(streetId), FieldConstant.STREET_ID, streetId); + /*wrapper.eq(StringUtils.isNotBlank(streetId), FieldConstant.STREET_ID, streetId); wrapper.eq(StringUtils.isNotBlank(communityId), "COMMUNITY_ID", communityId); - wrapper.eq(StringUtils.isNotBlank(gridId), FieldConstant.GRID_ID, gridId); + wrapper.eq(StringUtils.isNotBlank(gridId), FieldConstant.GRID_ID, gridId);*/ wrapper.ge(StringUtils.isNotBlank(startTime), FieldConstant.CREATED_TIME, startTime); wrapper.lt(StringUtils.isNotBlank(endTime), FieldConstant.CREATED_TIME, endTime); wrapper.eq(StringUtils.isNotBlank(category), "NEWS_CATERORY_ID", category); if (StringUtils.isNotBlank(keyword)) { wrapper.like("NEWS_TITLE", keyword.trim()); } + if (StringUtils.isNotBlank(gridId)) { + wrapper.like("ALL_DEPT_IDS", gridId.trim()); + } wrapper.eq(FieldConstant.CREATED_BY, user.getId()); //draft 前端传上来的一个标志 有则代表是存草稿箱的 1 if (StringUtils.isNotEmpty(draft)) { @@ -222,31 +226,35 @@ public class NewsServiceImpl extends BaseServiceImpl implem } else { isSave = false; } - Long streetId = entity.getStreetId(); - // 区党委,新增新闻时选择全部街道 - if (NumConstant.ONE_L == streetId && "district_party".equals(user.getTypeKey())) { - streetId = user.getDeptId(); - entity.setStreet(user.getDeptName()); - } + List allDeptIds = newsDto.getAllDeptIds(); // 新闻所属部门id - Long newsDeptId = streetId; - // 能接收通知的所有网格的ID - List newsGridList = Lists.newArrayList(); - if (null != entity.getCommunityId()) { - newsDeptId = entity.getCommunityId(); - } - if (null != entity.getGridId()) { - newsDeptId = entity.getGridId(); - newsGridList.add(newsDeptId); + Long newsDeptId = 0L; + if(allDeptIds != null && allDeptIds.size() != 0){ + // 塞入全部部门ids,names + newsDeptId = Long.valueOf(allDeptIds.get(allDeptIds.size() - 1)); + Result parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(newsDeptId)); + if (!parentResult.success() || parentResult.getData() == null) { + throw new RenException("获取部门信息失败"); + }else { + ParentAndAllDeptDTO deptDTO = parentResult.getData(); + entity.setAllDeptIds(deptDTO.getAllDeptIds()); + entity.setAllDeptNames(deptDTO.getAllDeptNames()); + entity.setParentDeptIds(deptDTO.getParentDeptIds()); + entity.setParentDeptNames(deptDTO.getParentDeptNames()); + } + }else { + throw new RenException("所属部门不能为空"); } // 新闻发布方不是区党委,也没有该部门数据权限 if (!"district_party".equals(user.getTypeKey()) && !user.getDeptIdList().contains(newsDeptId)) { throw new RenException("您没有操作此部门的数据权限"); } + // 能接收通知的所有网格的ID + List newsGridList = Lists.newArrayList(); //草稿箱操作 if (YesOrNoEnum.YES.value().equals(newsReleaseState)) { if (isSave) { - setNull(newsDto, entity); + // setNull(newsDto, entity); insert(entity); } else { entity.setUpdatedBy(user.getRealName()); @@ -262,7 +270,7 @@ public class NewsServiceImpl extends BaseServiceImpl implem newsGridList = adminResult.getData(); } if (isSave) { - setNull(newsDto, entity); + // setNull(newsDto, entity); insert(entity); } else { entity.setUpdatedBy(user.getRealName()); @@ -278,14 +286,14 @@ public class NewsServiceImpl extends BaseServiceImpl implem } private void setNull(NewsDTO newsDto, NewsEntity entity) { - if (newsDto.getCommunityId() == null || StringUtils.isBlank(newsDto.getCommunity()) || newsDto.getCommunityId() == 0) { + /*if (newsDto.getCommunityId() == null || StringUtils.isBlank(newsDto.getCommunity()) || newsDto.getCommunityId() == 0) { entity.setCommunity(null); entity.setCommunityId(null); } if (newsDto.getGridId() == null || newsDto.getGridId() == 0 || StringUtils.isBlank(newsDto.getGrid())) { entity.setGridId(null); entity.setGrid(null); - } + }*/ } @Override diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml index 12ceb21f3..5e6f0761b 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml @@ -4,6 +4,8 @@ server: context-path: /news spring: + main: + allow-bean-definition-overriding: true application: name: epdc-news-server # 环境 dev|test|prod diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml index ccea0e4db..8d3e1e572 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml @@ -17,10 +17,7 @@ en.ID AS id, en.NEWS_TITLE AS newsTitle, en.NEWS_RELEASE_START_TIME AS newsStartTime, - IFNULL( - IFNULL(en.GRID, en.COMMUNITY), - en.STREET - ) AS deptName, + SUBSTRING_INDEX(en.ALL_DEPT_NAMES,'-',-1) AS deptName, nc.CATEGORY_NAME AS newsCategoryName, en.NEWS_IMAGE_URL AS newsImageUrl FROM @@ -46,7 +43,7 @@ en.ID AS id, en.NEWS_TITLE AS newsTitle, en.NEWS_RELEASE_START_TIME AS newsStartTime, - IFNULL( IFNULL(en.GRID, en.COMMUNITY), en.STREET ) AS deptName, + SUBSTRING_INDEX(en.ALL_DEPT_NAMES,'-',-1) AS deptName, en.NEWS_CONTENT AS newsContent, en.READING_AMOUNT AS readingAmount, en.UN_LIKE_NUMBER AS unlikeNumber, @@ -73,12 +70,10 @@ news_up_down_state = #{newsUpDownState}, news_release_start_time = #{newsReleaseStartTime}, news_release_end_time = #{newsReleaseEndTime}, - street = #{street}, - street_id = #{streetId}, - community = #{community}, - community_id = #{communityId}, - grid = #{grid}, - grid_id = #{gridId}, + all_dept_ids = #{allDeptIds}, + all_dept_names = #{allDeptNames}, + parent_dept_ids = #{parentDeptIds}, + parent_dept_names = #{parentDeptNames}, updated_by = #{updatedBy}, updated_time = #{updatedTime}, news_release_state = #{newsReleaseState},