Browse Source

内容管理模块修改

master
Jackwang 4 years ago
parent
commit
b2dd1b9e05
  1. 26
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/NoticeController.java
  2. 5
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/dao/NoticeDepartmentDao.java
  3. 18
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/NoticeService.java
  4. 129
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
  5. 8
      epdc-cloud-news/src/main/resources/mapper/NoticeDao.xml
  6. 8
      epdc-cloud-news/src/main/resources/mapper/NoticeDepartmentDao.xml

26
epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/NoticeController.java

@ -149,4 +149,30 @@ public class NoticeController {
return new Result<PageData<NoticeDTO>>().ok(page); return new Result<PageData<NoticeDTO>>().ok(page);
} }
/**
* @describe: 是否推荐
* @author wangtong
* @date 2021/8/17 14:07
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PutMapping("handleIsTop")
public Result handleIsTop(@RequestBody NoticeDTO dto) {
return noticeService.handleIsTop(dto);
}
/**
* @describe: 是否上下架
* @author wangtong
* @date 2021/8/17 14:07
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PutMapping("handleIsUpDown")
public Result handleIsUpDown(@RequestBody NoticeDTO dto) {
return noticeService.handleIsUpDown(dto);
}
} }

5
epdc-cloud-news/src/main/java/com/elink/esua/epdc/dao/NoticeDepartmentDao.java

@ -20,6 +20,9 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.NoticeDepartmentEntity; import com.elink.esua.epdc.entity.NoticeDepartmentEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 通知部门关系表 * 通知部门关系表
@ -39,4 +42,6 @@ public interface NoticeDepartmentDao extends BaseDao<NoticeDepartmentEntity> {
* @date 2019/9/5 16:37 * @date 2019/9/5 16:37
*/ */
int deleteByNoticeId(String noticeId); int deleteByNoticeId(String noticeId);
List<Long> selectListNoticeDeptIdInfo(@Param("noticeId") String noticeId);
} }

18
epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/NoticeService.java

@ -177,4 +177,22 @@ public interface NoticeService extends BaseService<NoticeEntity> {
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.ModuleTypeDTO>> * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.ModuleTypeDTO>>
*/ */
PageData<NoticeDTO> modulePage(Map<String, Object> params); PageData<NoticeDTO> modulePage(Map<String, Object> params);
/**
* @describe: 是否推荐
* @author wangtong
* @date 2021/8/17 14:07
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result handleIsTop(NoticeDTO dto);
/**
* @describe: 是否上下架
* @author wangtong
* @date 2021/8/17 14:07
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result handleIsUpDown(NoticeDTO dto);
} }

129
epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java

@ -17,6 +17,7 @@
package com.elink.esua.epdc.service.impl; package com.elink.esua.epdc.service.impl;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
@ -30,6 +31,7 @@ import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.NoticeDao; import com.elink.esua.epdc.dao.NoticeDao;
import com.elink.esua.epdc.dao.NoticeDepartmentDao;
import com.elink.esua.epdc.dto.NoticeDTO; import com.elink.esua.epdc.dto.NoticeDTO;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeBrowseFormDTO;
@ -68,19 +70,28 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
@Autowired @Autowired
private NoticeDepartmentService noticeDepartmentService; private NoticeDepartmentService noticeDepartmentService;
@Autowired
private NoticeDepartmentDao noticeDepartmentDao;
@Override @Override
public PageData<NoticeDTO> page(Map<String, Object> params) { public PageData<NoticeDTO> page(Map<String, Object> params) {
String noticeTitle = (String) params.get("noticeTitle"); // String noticeTitle = (String) params.get("noticeTitle");
params.put("noticeTitle", noticeTitle.trim()); // params.put("noticeTitle", noticeTitle.trim());
QueryWrapper<NoticeEntity> wrapper = this.getWrapper(params) // QueryWrapper<NoticeEntity> wrapper = this.getWrapper(params)
.eq(FieldConstant.CREATED_BY, SecurityUser.getUserId()) // .eq(FieldConstant.CREATED_BY, SecurityUser.getUserId());
.isNull("type_id"); //
// IPage<NoticeEntity> page = baseDao.selectPage(
IPage<NoticeEntity> page = baseDao.selectPage( // getPage(params, FieldConstant.CREATED_TIME, false),
getPage(params, FieldConstant.CREATED_TIME, false), // wrapper
wrapper // );
); // return getPageData(page, NoticeDTO.class);
return getPageData(page, NoticeDTO.class);
params.put("createdBy", SecurityUser.getUserId());
IPage<NoticeDTO> page = getPage(params);
List<NoticeDTO> list = baseDao.getModulePageList(params);
return new PageData<>(list, page.getTotal());
} }
@Override @Override
@ -89,7 +100,7 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
String gridId = (String) params.get("gridId"); String gridId = (String) params.get("gridId");
params.put("noticeTitle", noticeTitle.trim()); params.put("noticeTitle", noticeTitle.trim());
params.put("deptIdList", SecurityUser.getUser().getDeptIdList()); params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
params.put("gridId",gridId.trim()); params.put("gridId", gridId.trim());
IPage<NoticeDTO> page = getPage(params); IPage<NoticeDTO> page = getPage(params);
List<NoticeDTO> list = baseDao.selectListByDeptId(params); List<NoticeDTO> list = baseDao.selectListByDeptId(params);
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
@ -118,7 +129,7 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
public NoticeDTO get(String id) { public NoticeDTO get(String id) {
NoticeEntity entity = baseDao.selectById(id); NoticeEntity entity = baseDao.selectById(id);
NoticeDTO dto = ConvertUtils.sourceToTarget(entity, NoticeDTO.class); NoticeDTO dto = ConvertUtils.sourceToTarget(entity, NoticeDTO.class);
if(StringUtils.isNotBlank(entity.getTypeId())){ if (StringUtils.isNotBlank(entity.getTypeId())) {
String[] ids = entity.getAllTypeId().split(","); String[] ids = entity.getAllTypeId().split(",");
List<String> moduleTypes = Arrays.asList(ids); List<String> moduleTypes = Arrays.asList(ids);
dto.setAllTypeId(moduleTypes); dto.setAllTypeId(moduleTypes);
@ -128,9 +139,38 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
List<String> ids = Arrays.asList(idsShow); List<String> ids = Arrays.asList(idsShow);
dto.setAllDeptIdsShow(ids.subList(1,ids.size())); dto.setAllDeptIdsShow(ids.subList(1,ids.size()));
}*/ }*/
// 通知部门回显
List<Long> listNoticeDeptId = noticeDepartmentDao.selectListNoticeDeptIdInfo(dto.getId());
dto.setAllDeptIdsShow(this.getParentAllDeptInfo(listNoticeDeptId));
return dto; return dto;
} }
/**
* 根据部门id, 查询所有的父级id, 最后拼接起来
* @param listDeptId
* @return java.util.List<java.lang.Long[]>
* @Author zhangyong
* @Date 09:55 2020-06-02
**/
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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(NoticeDTO dto) { public void save(NoticeDTO dto) {
@ -160,6 +200,14 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class); NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class);
entity.setDeptId(noticeDeptId); entity.setDeptId(noticeDeptId);
entity.setDeptName(user.getDeptName()); entity.setDeptName(user.getDeptName());
if(!CollectionUtils.isEmpty(dto.getAllTypeId())){
entity.setAllTypeId(StringUtils.join(dto.getAllTypeId(), ","));
}
if ("0".equals(entity.getTopFlag())) {
entity.setTopTime(null);
} else {
entity.setTopTime(new Date());
}
// 塞入全部部门ids,names // 塞入全部部门ids,names
Result<ParentAndAllDeptDTO> parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(noticeDeptId)); Result<ParentAndAllDeptDTO> parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(noticeDeptId));
@ -257,13 +305,13 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
} }
/** /**
* @describe: 后台内容管理-新增/更新 * @return void
* @author wangtong * @describe: 后台内容管理-新增/更新
* @date 2021/8/11 14:19 * @author wangtong
* @params [] * @date 2021/8/11 14:19
* @return void * @params []
*/ */
private void saveContentOrUpdate(NoticeDTO dto){ private void saveContentOrUpdate(NoticeDTO dto) {
UserDetail user = SecurityUser.getUser(); UserDetail user = SecurityUser.getUser();
// 通知所属部门(发布者所在部门) // 通知所属部门(发布者所在部门)
Long noticeDeptId = user.getDeptId(); Long noticeDeptId = user.getDeptId();
@ -273,9 +321,9 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
entity.setDeptId(noticeDeptId); entity.setDeptId(noticeDeptId);
entity.setDeptName(user.getDeptName()); entity.setDeptName(user.getDeptName());
entity.setAllTypeId(StringUtils.join(dto.getAllTypeId(), ",")); entity.setAllTypeId(StringUtils.join(dto.getAllTypeId(), ","));
if("0".equals(entity.getTopFlag())){ if ("0".equals(entity.getTopFlag())) {
entity.setTopTime(null); entity.setTopTime(null);
}else{ } else {
entity.setTopTime(new Date()); entity.setTopTime(new Date());
} }
// 塞入全部部门ids,names // 塞入全部部门ids,names
@ -319,18 +367,49 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity>
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
} }
@Transactional
@Override
public Result handleIsTop(NoticeDTO dto) {
NoticeEntity entity = selectById(dto.getId());
if (null == entity) {
return new Result().error("未查到相关数据");
}
if ("0".equals(dto.getTopFlag())) {
entity.setTopFlag("1");
entity.setTopTime(new Date());
} else {
entity.setTopFlag("0");
}
updateById(entity);
return new Result().ok("");
}
@Override
public Result handleIsUpDown(NoticeDTO dto) {
NoticeEntity entity = selectById(dto.getId());
if (null == entity) {
return new Result().error("未查到相关数据");
}
if ("0".equals(dto.getNoticeUpDownState())) {
entity.setNoticeUpDownState("1");
} else {
entity.setNoticeUpDownState("0");
}
updateById(entity);
return new Result().ok("");
}
/** /**
*
* 组织机构信息处理 * 组织机构信息处理
* *
* @params [dto, noticeList]
* @return java.util.List<com.elink.esua.epdc.entity.NoticeEntity> * @return java.util.List<com.elink.esua.epdc.entity.NoticeEntity>
* @params [dto, noticeList]
* @author liuchuang * @author liuchuang
* @since 2020/3/7 14:56 * @since 2020/3/7 14:56
*/ */
private List<NoticeEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<NoticeDTO> noticeList) { private List<NoticeEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<NoticeDTO> noticeList) {
List<NoticeEntity> entities = new ArrayList<>(); List<NoticeEntity> entities = new ArrayList<>();
for (NoticeDTO notice: noticeList) { for (NoticeDTO notice : noticeList) {
NoticeEntity entity = new NoticeEntity(); NoticeEntity entity = new NoticeEntity();
if (StringUtils.isNotEmpty(notice.getParentDeptIds()) && StringUtils.isNotEmpty(notice.getParentDeptNames())) { if (StringUtils.isNotEmpty(notice.getParentDeptIds()) && StringUtils.isNotEmpty(notice.getParentDeptNames())) {
List<String> parentDeptIds = Arrays.asList(notice.getParentDeptIds().split(",")); List<String> parentDeptIds = Arrays.asList(notice.getParentDeptIds().split(","));

8
epdc-cloud-news/src/main/resources/mapper/NoticeDao.xml

@ -51,9 +51,7 @@
updated_by = #{updatedBy}, updated_by = #{updatedBy},
updated_time = #{updatedTime}, updated_time = #{updatedTime},
dept_id=#{deptId}, dept_id=#{deptId},
dept_name=#{deptName}, dept_name=#{deptName}
TOP_FLAG=#{topFlag},
NOTICE_UP_DOWN_STATE=#{noticeUpDownState}
WHERE id = #{id} AND del_flag = '0' WHERE id = #{id} AND del_flag = '0'
</update> </update>
@ -105,7 +103,9 @@
<if test="noticeTitle != null and noticeTitle !=''"> <if test="noticeTitle != null and noticeTitle !=''">
AND en.NOTICE_TITLE like '%${noticeTitle}%' AND en.NOTICE_TITLE like '%${noticeTitle}%'
</if> </if>
and en.type_id is not null <if test="typeId != null and typeId !=''">
AND FIND_IN_SET(#{typeId},ALL_TYPE_ID)
</if>
order by en.TOP_FLAG desc,en.TOP_TIME desc,en.CREATED_TIME desc order by en.TOP_FLAG desc,en.TOP_TIME desc,en.CREATED_TIME desc
</select> </select>
<select id="selectCountByTypeId" resultType="int"> <select id="selectCountByTypeId" resultType="int">

8
epdc-cloud-news/src/main/resources/mapper/NoticeDepartmentDao.xml

@ -7,4 +7,12 @@
<delete id="deleteByNoticeId"> <delete id="deleteByNoticeId">
DELETE FROM epdc_notice_department WHERE NOTICE_ID = #{noticeId} DELETE FROM epdc_notice_department WHERE NOTICE_ID = #{noticeId}
</delete> </delete>
<select id="selectListNoticeDeptIdInfo" resultType="java.lang.Long">
SELECT
DEPT_ID deptId
FROM
epdc_notice_department nd
WHERE nd.DEL_FLAG = 0
AND nd.NOTICE_ID = #{noticeId}
</select>
</mapper> </mapper>
Loading…
Cancel
Save