Browse Source

新闻发布问题修复

dev
yujintao 6 years ago
parent
commit
1f2bc11d3e
  1. 11
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java
  2. 99
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

11
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java

@ -113,15 +113,19 @@ public class BannerServiceImpl extends BaseServiceImpl<BannerDao, BannerEntity>
dto.setDeptId(bannerDeptId);
dto.setDeptName(user.getDeptName());
BannerEntity entity = ConvertUtils.sourceToTarget(dto, BannerEntity.class);
boolean isSave = true;
// 新增
if (StringUtils.isBlank(dto.getId())) {
entity.setState(YesOrNoEnum.YES.value());
} else {
isSave = false;
}
Result<ParentAndAllDeptDTO> parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(bannerDeptId));
if (!parentResult.success() || parentResult.getData() == null) {
throw new RenException("获取部门信息失败");
}else {
} else {
ParentAndAllDeptDTO deptDTO = parentResult.getData();
entity.setAllDeptIds(deptDTO.getAllDeptIds());
entity.setAllDeptNames(deptDTO.getAllDeptNames());
@ -131,11 +135,6 @@ public class BannerServiceImpl extends BaseServiceImpl<BannerDao, BannerEntity>
List<Long> bannerGridList = NewsUtils.getAllGridId(dto.getAllDeptIdsShow());
boolean isSave = true;
if (StringUtils.isNotBlank(dto.getId())) {
isSave = false;
}
if (isSave) {
insert(entity);
} else {

99
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java

@ -37,7 +37,6 @@ 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.BannerEntity;
import com.elink.esua.epdc.entity.NewsUserAttitudeEntity;
import com.elink.esua.epdc.enums.AppNewsLikeEnum;
import com.elink.esua.epdc.dto.epdc.form.EpdcNewsBrowseFromDTO;
@ -48,7 +47,6 @@ import com.elink.esua.epdc.entity.NewsEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.service.*;
import com.elink.esua.epdc.util.NewsUtils;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -158,7 +156,6 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(NewsDTO dto) {
@ -221,7 +218,7 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
*
* @param newsDto 新闻数据传输对象
* @param newsReleaseState 是否是草稿箱操作存草稿或草稿箱中修改操作
* @param isDraftsPublishNews 判断是是修改还是从草稿箱里面发布修改不更新createdTime 从草稿箱里面发布更新createdTime 为了列表排序
* @param isDraftsPublishNews 是否从草稿箱里面发布从草稿箱里面发布更新createdTime修改不更新createdTime 为了列表排序
* @return void
* @author qushutong
* @date
@ -258,51 +255,64 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
entity.setParentDeptIds(deptDTO.getParentDeptIds());
entity.setParentDeptNames(deptDTO.getParentDeptNames());
}
// 能接收通知的所有网格的ID
List<Long> newsGridList = NewsUtils.getAllGridId(newsDto.getAllDeptIdsShow());
//草稿箱操作
if (YesOrNoEnum.YES.value().equals(newsReleaseState)) {
if (isSave) {
insert(entity);
} else {
entity.setUpdatedBy(user.getRealName());
entity.setUpdatedTime(new Date());
this.baseDao.updateNewsById(entity);
// 若不是从草稿箱发布新闻(即一切保存或修改操作,都是从页面提交数据到后台)
if (YesOrNoEnum.NO.value().equals(isDraftsPublishNews)) {
// 能接收通知的所有网格的ID
List<Long[]> allDeptIdsShow = newsDto.getAllDeptIdsShow();
if (CollUtil.isEmpty(allDeptIdsShow)) {
throw new RenException("请完善新闻所属部门");
}
} else {
List<Long> newsGridList = NewsUtils.getAllGridId(allDeptIdsShow);
if (isSave) {
insert(entity);
} else {
entity.setUpdatedBy(user.getRealName());
entity.setUpdatedTime(new Date());
if (YesOrNoEnum.YES.value().equals(isDraftsPublishNews)) {
entity.setCreatedTime(new Date());
// 修改草稿
if (YesOrNoEnum.YES.value().equals(newsReleaseState)) {
entity.setUpdatedBy(user.getRealName());
entity.setUpdatedTime(new Date());
this.baseDao.updateNewsById(entity);
} else {
entity.setUpdatedBy(user.getRealName());
entity.setUpdatedTime(new Date());
this.baseDao.updateNewsById(entity);
// 已经上banner的处理
if (newsDto.getBannerFlag().equals(YesOrNoEnum.YES.value())) {
String bannerId = bannerService.getBannerIdByNewsId(newsDto.getId());
BannerDTO bannerDto = ConvertUtils.sourceToTarget(newsDto, BannerDTO.class);
bannerDto.setId(bannerId);
bannerDto = packBannerDtoByNews(bannerDto, newsDto.getId(), newsDto.getNewsImageUrl(), newsDto.getNewsTitle());
bannerService.saveOrUpdate(bannerDto);
}
}
this.baseDao.updateNewsById(entity);
// 只要是修改操作,新闻部门关系,先删除再插入
newsDepartmentService.deleteByNewsId(entity.getId());
//已经上banner的处理
if (newsDto.getBannerFlag().equals(YesOrNoEnum.YES.value())) {
String bannerId = bannerService.getBannerIdByNewsId(newsDto.getId());
BannerDTO bannerDto = ConvertUtils.sourceToTarget(newsDto, BannerDTO.class);
bannerDto.setId(bannerId);
bannerDto.setState(YesOrNoEnum.YES.value());
bannerDto.setStateTime(new Date());
bannerDto.setImgUrl(newsDto.getNewsImageUrl());
bannerDto.setNewsFlag(YesOrNoEnum.YES.value());
bannerDto.setNewsId(newsDto.getId());
bannerDto.setTitle(newsDto.getNewsTitle());
// 数据字典值,2-新闻类型
bannerDto.setBannerType(NumConstant.TWO_STR);
// banner位置,0顶部;1中间
bannerDto.setPosition(NumConstant.ZERO_STR);
bannerService.saveOrUpdate(bannerDto);
}
}
this.newsDepartmentService.save(entity.getId(), newsGridList);
} else {
// 发布一条新闻,只可能是修改,直接修改
entity.setUpdatedBy(user.getRealName());
entity.setUpdatedTime(new Date());
entity.setCreatedTime(new Date());
this.baseDao.updateNewsById(entity);
}
}
private BannerDTO packBannerDtoByNews(BannerDTO bannerDto, String newsId, String newsImageUrl, String newsTitle) {
bannerDto.setState(YesOrNoEnum.YES.value());
bannerDto.setStateTime(new Date());
bannerDto.setImgUrl(newsImageUrl);
bannerDto.setNewsFlag(YesOrNoEnum.YES.value());
bannerDto.setNewsId(newsId);
bannerDto.setTitle(newsTitle);
// 数据字典值,2-新闻类型
bannerDto.setBannerType(NumConstant.TWO_STR);
// banner位置,0顶部;1中间
bannerDto.setPosition(NumConstant.ZERO_STR);
return bannerDto;
}
@Override
public Result<List<EpdcNewsListResultDTO>> listNews(EpdcNewsListFromDTO formDto) {
@ -422,16 +432,7 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
}
BannerDTO banner = ConvertUtils.sourceToTarget(newsEntity, BannerDTO.class);
banner.setState(YesOrNoEnum.YES.value());
banner.setStateTime(new Date());
banner.setImgUrl(newsEntity.getNewsImageUrl());
banner.setNewsFlag(YesOrNoEnum.YES.value());
banner.setNewsId(newsId);
banner.setTitle(newsEntity.getNewsTitle());
// 数据字典值,2-新闻类型
banner.setBannerType(NumConstant.TWO_STR);
// banner位置,0顶部;1中间
banner.setPosition(NumConstant.ZERO_STR);
banner = packBannerDtoByNews(banner, newsId, newsEntity.getNewsImageUrl(), newsEntity.getNewsTitle());
this.bannerService.saveNewsToBanner(banner, deptIds);
@ -480,7 +481,7 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
public PageData<NewsDTO> allPage(Map<String, Object> params) {
UserDetail user = SecurityUser.getUser();
List<Long> deptIdList = user.getDeptIdList();
params.put("deptIdList",deptIdList);
params.put("deptIdList", deptIdList);
IPage<NewsDTO> page = getPage(params);
List<NewsDTO> newsDaoList = baseDao.selectAllPage(params);
return new PageData<>(newsDaoList, page.getTotal());

Loading…
Cancel
Save