Browse Source

新闻管理bug修改

dev
gupeng 6 years ago
parent
commit
b4058b53ff
  1. 30
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/BannerDTO.java
  2. 36
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsDTO.java
  3. 5
      esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml
  4. 30
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/BannerEntity.java
  5. 34
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsEntity.java
  6. 14
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  7. 6
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  8. 54
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
  9. 2
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml
  10. 17
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml

30
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; private Integer revision;
/**
* 部门ID
*/
private Long gridId;
/** /**
* 创建人 * 创建人
*/ */
@ -114,31 +109,6 @@ public class BannerDTO implements Serializable {
*/ */
private Long deptId; private Long deptId;
/**
* 通知所属街道
*/
private String street;
/**
* 通知所属街道ID
*/
private Long streetId;
/**
* 通知所属社区
*/
private String community;
/**
* 通知所属社区ID
*/
private Long communityId;
/**
* 通知所属网格
*/
private String grid;
/** /**
* 创建人姓名 * 创建人姓名
*/ */

36
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.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
import lombok.Data; import lombok.Data;
@ -141,43 +142,32 @@ public class NewsDTO implements Serializable {
private Date updatedTime; 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<String> allDeptIds;
/** /**
* 是否已上banner * 所有部门名称
*/ */
private String bannerFlag; private String allDeptNames;
} }

5
esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml

@ -40,6 +40,11 @@
<artifactId>spring-boot-admin-starter-client</artifactId> <artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version> <version>${spring.boot.admin.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-admin-client</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>

30
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; private Date stateTime;
/**
* 部门ID
*/
private Long gridId;
/** /**
* 发布人的部门 * 发布人的部门
*/ */
@ -83,31 +78,6 @@ public class BannerEntity extends BaseEpdcEntity {
*/ */
private Long deptId; private Long deptId;
/**
* 通知所属街道
*/
private String street;
/**
* 通知所属街道ID
*/
private Long streetId;
/**
* 通知所属社区
*/
private String community;
/**
* 通知所属社区ID
*/
private Long communityId;
/**
* 通知所属网格
*/
private String grid;
/** /**
* 创建人姓名 * 创建人姓名
*/ */

34
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 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;
} }

14
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.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; 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 com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -14,7 +15,7 @@ import java.util.List;
* @email yujintao@elink-cn.com * @email yujintao@elink-cn.com
* @date 2019/9/5 14:44 * @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 { public interface AdminFeignClient {
/** /**
@ -27,4 +28,15 @@ public interface AdminFeignClient {
*/ */
@GetMapping("/sys/dept/listGridId/{pid}") @GetMapping("/sys/dept/listGridId/{pid}")
Result<List<Long>> listGridIdByDeptPid(@PathVariable("pid") Long pid); Result<List<Long>> listGridIdByDeptPid(@PathVariable("pid") Long pid);
/**
* 根据部门ID获取上级所有部门信息
*
* @param deptId
* @return com.elink.esua.epdc.commons.tools.utils.Result<ParentAndAllDeptDTO>
* @author gp
* @date 2019-11-29
*/
@GetMapping("/sys/dept/getParentAndAllDept/{deptId}")
Result<ParentAndAllDeptDTO> getParentAndAllDept(@PathVariable("deptId") String deptId);
} }

6
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.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -20,4 +21,9 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<List<Long>> listGridIdByDeptPid(Long pid) { public Result<List<Long>> listGridIdByDeptPid(Long pid) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid); return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid);
} }
@Override
public Result<ParentAndAllDeptDTO> getParentAndAllDept(String depId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId);
}
} }

54
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.BannerDTO;
import com.elink.esua.epdc.dto.NewsDTO; import com.elink.esua.epdc.dto.NewsDTO;
import com.elink.esua.epdc.dto.NewsUserAttitudeDTO; 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.form.EpdcNewsDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO;
import com.elink.esua.epdc.entity.NewsUserAttitudeEntity; import com.elink.esua.epdc.entity.NewsUserAttitudeEntity;
@ -95,23 +96,26 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
private QueryWrapper<NewsEntity> getWrapper(Map<String, Object> params) { private QueryWrapper<NewsEntity> getWrapper(Map<String, Object> params) {
UserDetail user = SecurityUser.getUser(); UserDetail user = SecurityUser.getUser();
String draft = (String) params.get("draft"); String draft = (String) params.get("draft");
String streetId = (String) params.get(FieldConstant.STREET_ID_HUMP); /*String streetId = (String) params.get(FieldConstant.STREET_ID_HUMP);
String communityId = (String) params.get(FieldConstant.COMMUNITY_ID_HUMP); String communityId = (String) params.get(FieldConstant.COMMUNITY_ID_HUMP);*/
String gridId = (String) params.get(FieldConstant.GRID_ID_HUMP); String gridId = (String) params.get(FieldConstant.GRID_ID_HUMP);
String startTime = (String) params.get("startTime"); String startTime = (String) params.get("startTime");
String endTime = (String) params.get("endTime"); String endTime = (String) params.get("endTime");
String category = (String) params.get("category"); String category = (String) params.get("category");
String keyword = ((String) params.get("keyword")); String keyword = ((String) params.get("keyword"));
QueryWrapper<NewsEntity> wrapper = new QueryWrapper<>(); QueryWrapper<NewsEntity> 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(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.ge(StringUtils.isNotBlank(startTime), FieldConstant.CREATED_TIME, startTime);
wrapper.lt(StringUtils.isNotBlank(endTime), FieldConstant.CREATED_TIME, endTime); wrapper.lt(StringUtils.isNotBlank(endTime), FieldConstant.CREATED_TIME, endTime);
wrapper.eq(StringUtils.isNotBlank(category), "NEWS_CATERORY_ID", category); wrapper.eq(StringUtils.isNotBlank(category), "NEWS_CATERORY_ID", category);
if (StringUtils.isNotBlank(keyword)) { if (StringUtils.isNotBlank(keyword)) {
wrapper.like("NEWS_TITLE", keyword.trim()); wrapper.like("NEWS_TITLE", keyword.trim());
} }
if (StringUtils.isNotBlank(gridId)) {
wrapper.like("ALL_DEPT_IDS", gridId.trim());
}
wrapper.eq(FieldConstant.CREATED_BY, user.getId()); wrapper.eq(FieldConstant.CREATED_BY, user.getId());
//draft 前端传上来的一个标志 有则代表是存草稿箱的 1 //draft 前端传上来的一个标志 有则代表是存草稿箱的 1
if (StringUtils.isNotEmpty(draft)) { if (StringUtils.isNotEmpty(draft)) {
@ -222,31 +226,35 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
} else { } else {
isSave = false; isSave = false;
} }
Long streetId = entity.getStreetId(); List<String> allDeptIds = newsDto.getAllDeptIds();
// 区党委,新增新闻时选择全部街道
if (NumConstant.ONE_L == streetId && "district_party".equals(user.getTypeKey())) {
streetId = user.getDeptId();
entity.setStreet(user.getDeptName());
}
// 新闻所属部门id // 新闻所属部门id
Long newsDeptId = streetId; Long newsDeptId = 0L;
// 能接收通知的所有网格的ID if(allDeptIds != null && allDeptIds.size() != 0){
List<Long> newsGridList = Lists.newArrayList(); // 塞入全部部门ids,names
if (null != entity.getCommunityId()) { newsDeptId = Long.valueOf(allDeptIds.get(allDeptIds.size() - 1));
newsDeptId = entity.getCommunityId(); Result<ParentAndAllDeptDTO> parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(newsDeptId));
} if (!parentResult.success() || parentResult.getData() == null) {
if (null != entity.getGridId()) { throw new RenException("获取部门信息失败");
newsDeptId = entity.getGridId(); }else {
newsGridList.add(newsDeptId); 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)) { if (!"district_party".equals(user.getTypeKey()) && !user.getDeptIdList().contains(newsDeptId)) {
throw new RenException("您没有操作此部门的数据权限"); throw new RenException("您没有操作此部门的数据权限");
} }
// 能接收通知的所有网格的ID
List<Long> newsGridList = Lists.newArrayList();
//草稿箱操作 //草稿箱操作
if (YesOrNoEnum.YES.value().equals(newsReleaseState)) { if (YesOrNoEnum.YES.value().equals(newsReleaseState)) {
if (isSave) { if (isSave) {
setNull(newsDto, entity); // setNull(newsDto, entity);
insert(entity); insert(entity);
} else { } else {
entity.setUpdatedBy(user.getRealName()); entity.setUpdatedBy(user.getRealName());
@ -262,7 +270,7 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
newsGridList = adminResult.getData(); newsGridList = adminResult.getData();
} }
if (isSave) { if (isSave) {
setNull(newsDto, entity); // setNull(newsDto, entity);
insert(entity); insert(entity);
} else { } else {
entity.setUpdatedBy(user.getRealName()); entity.setUpdatedBy(user.getRealName());
@ -278,14 +286,14 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
} }
private void setNull(NewsDTO newsDto, NewsEntity entity) { 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.setCommunity(null);
entity.setCommunityId(null); entity.setCommunityId(null);
} }
if (newsDto.getGridId() == null || newsDto.getGridId() == 0 || StringUtils.isBlank(newsDto.getGrid())) { if (newsDto.getGridId() == null || newsDto.getGridId() == 0 || StringUtils.isBlank(newsDto.getGrid())) {
entity.setGridId(null); entity.setGridId(null);
entity.setGrid(null); entity.setGrid(null);
} }*/
} }
@Override @Override

2
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml

@ -4,6 +4,8 @@ server:
context-path: /news context-path: /news
spring: spring:
main:
allow-bean-definition-overriding: true
application: application:
name: epdc-news-server name: epdc-news-server
# 环境 dev|test|prod # 环境 dev|test|prod

17
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml

@ -17,10 +17,7 @@
en.ID AS id, en.ID AS id,
en.NEWS_TITLE AS newsTitle, en.NEWS_TITLE AS newsTitle,
en.NEWS_RELEASE_START_TIME AS newsStartTime, en.NEWS_RELEASE_START_TIME AS newsStartTime,
IFNULL( SUBSTRING_INDEX(en.ALL_DEPT_NAMES,'-',-1) AS deptName,
IFNULL(en.GRID, en.COMMUNITY),
en.STREET
) AS deptName,
nc.CATEGORY_NAME AS newsCategoryName, nc.CATEGORY_NAME AS newsCategoryName,
en.NEWS_IMAGE_URL AS newsImageUrl en.NEWS_IMAGE_URL AS newsImageUrl
FROM FROM
@ -46,7 +43,7 @@
en.ID AS id, en.ID AS id,
en.NEWS_TITLE AS newsTitle, en.NEWS_TITLE AS newsTitle,
en.NEWS_RELEASE_START_TIME AS newsStartTime, 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.NEWS_CONTENT AS newsContent,
en.READING_AMOUNT AS readingAmount, en.READING_AMOUNT AS readingAmount,
en.UN_LIKE_NUMBER AS unlikeNumber, en.UN_LIKE_NUMBER AS unlikeNumber,
@ -73,12 +70,10 @@
news_up_down_state = #{newsUpDownState}, news_up_down_state = #{newsUpDownState},
news_release_start_time = #{newsReleaseStartTime}, news_release_start_time = #{newsReleaseStartTime},
news_release_end_time = #{newsReleaseEndTime}, news_release_end_time = #{newsReleaseEndTime},
street = #{street}, all_dept_ids = #{allDeptIds},
street_id = #{streetId}, all_dept_names = #{allDeptNames},
community = #{community}, parent_dept_ids = #{parentDeptIds},
community_id = #{communityId}, parent_dept_names = #{parentDeptNames},
grid = #{grid},
grid_id = #{gridId},
updated_by = #{updatedBy}, updated_by = #{updatedBy},
updated_time = #{updatedTime}, updated_time = #{updatedTime},
news_release_state = #{newsReleaseState}, news_release_state = #{newsReleaseState},

Loading…
Cancel
Save