Browse Source

新闻管理 修改 机构类型回显

feature/syp_points
zhangyongzhangyong 5 years ago
parent
commit
c3a53735f0
  1. 11
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java
  2. 29
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
  3. 8
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml

11
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java

@ -116,4 +116,13 @@ public interface NewsDao extends BaseDao<NewsEntity> {
* @since 2020/3/7 1:20
*/
void updateDeptNameByDeptId(String newDeptName, Long deptId);
}
/**
* 根据新闻id查询该新闻 发布到哪些部门
* @param newsId
* @return java.util.List<java.lang.Long>
* @Author zhangyong
* @Date 18:08 2020-05-29
**/
List<Long> selectListNewsDepartment(String newsId);
}

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

@ -135,14 +135,33 @@ public class NewsServiceImpl extends BaseServiceImpl<NewsDao, NewsEntity> implem
public NewsDTO get(String id) {
NewsEntity entity = baseDao.selectById(id);
NewsDTO dto = ConvertUtils.sourceToTarget(entity, NewsDTO.class);
/*if(StringUtils.isNotBlank(dto.getAllDeptIds())){
String[] idsShow = dto.getAllDeptIds().split(",");
List<String> ids = Arrays.asList(idsShow);
dto.setAllDeptIdsShow(ids.subList(1,ids.size()));
}*/
// 通过新闻id,查询新闻关联的部门id
List<Long> listDeptId = baseDao.selectListNewsDepartment(dto.getId());
// 查完整的部门ID
dto.setAllDeptIdsShow(this.getParentAllDeptInfo(listDeptId));
return dto;
}
private List<Long[]> getParentAllDeptInfo(List<Long> listDeptId){
// [0,1,2,3]
List<Long[]> allDeptIdsShowList = new ArrayList<>();
for (Long list : listDeptId){
// 查询父级部门
Result<ParentAndAllDeptDTO> parentAndAllDept = adminFeignClient.getParentAndAllDept(list.toString());
ParentAndAllDeptDTO parentAndAllDeptDTO = parentAndAllDept.getData();
String allDeptIds = parentAndAllDeptDTO.getAllDeptIds();
String[] deptIdsShow = allDeptIds.split(",");
Long[] allDeptIdsShowLong = new Long[deptIdsShow.length];
// 从第一级开始保存
for (int i = 0; i <= deptIdsShow.length -1; i++){
allDeptIdsShowLong[i] = Long.valueOf(deptIdsShow[i]);
}
allDeptIdsShowList.add(allDeptIdsShowLong);
}
return allDeptIdsShowList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(NewsDTO dto) {

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

@ -156,4 +156,12 @@
<update id="updateDeptNameByDeptId">
UPDATE epdc_news SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId}
</update>
<select id="selectListNewsDepartment" resultType="long">
SELECT
DEPT_ID deptId
FROM epdc_news_department
WHERE DEL_FLAG = 0
AND NEWS_ID = #{newsId}
</select>
</mapper>

Loading…
Cancel
Save