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;
/**
* 部门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;
/**
* 创建人姓名
*/

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.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<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>
<version>${spring.boot.admin.version}</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-admin-client</artifactId>
<version>1.0.0</version>
</dependency>
</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;
/**
* 部门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;
/**
* 创建人姓名
*/

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 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.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<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.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<List<Long>> listGridIdByDeptPid(Long 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.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<NewsDao, NewsEntity> implem
private QueryWrapper<NewsEntity> getWrapper(Map<String, Object> 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<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(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<NewsDao, NewsEntity> 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<String> allDeptIds = newsDto.getAllDeptIds();
// 新闻所属部门id
Long newsDeptId = streetId;
// 能接收通知的所有网格的ID
List<Long> 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<ParentAndAllDeptDTO> 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<Long> 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<NewsDao, NewsEntity> 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<NewsDao, NewsEntity> 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

2
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

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.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},

Loading…
Cancel
Save