diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/IPropagandaInfoService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/IPropagandaInfoService.java index 9a5a92ea..044d8131 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/IPropagandaInfoService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/IPropagandaInfoService.java @@ -21,7 +21,7 @@ public interface IPropagandaInfoService { * @param id 宣教库管理主键 * @return 宣教库管理 */ - public PropagandaMaterialsVo selectPropagandaInfoById(Long id); + PropagandaMaterialsVo selectPropagandaInfoById(Long id); PropagandaInfo getById(Long id); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/impl/PropagandaInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/impl/PropagandaInfoServiceImpl.java index 16bef88d..13dd060d 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/impl/PropagandaInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/propagandainfo/impl/PropagandaInfoServiceImpl.java @@ -1,5 +1,6 @@ package com.xinelu.manage.service.propagandainfo.impl; +import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.manage.domain.materialsinfo.MaterialsInfo; @@ -8,15 +9,18 @@ import com.xinelu.manage.domain.propagandamaterials.PropagandaMaterials; import com.xinelu.manage.dto.propagandainfo.PropagandaInfoDto; import com.xinelu.manage.dto.propagandainfo.PropagandaInfoSaveDto; import com.xinelu.manage.dto.propagandainfo.PropagandaUpdateDto; +import com.xinelu.manage.mapper.materialsinfo.MaterialsInfoMapper; import com.xinelu.manage.mapper.propagandainfo.PropagandaInfoMapper; import com.xinelu.manage.mapper.propagandamaterials.PropagandaMaterialsMapper; import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService; import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.propagandainfo.PropagandaMaterialsVo; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,6 +36,8 @@ public class PropagandaInfoServiceImpl implements IPropagandaInfoService { private PropagandaInfoMapper propagandaInfoMapper; @Resource private PropagandaMaterialsMapper propagandaMaterialsMapper; + @Resource + private MaterialsInfoMapper materialsInfoMapper; /** * 查询宣教库管理 @@ -41,7 +47,25 @@ public class PropagandaInfoServiceImpl implements IPropagandaInfoService { */ @Override public PropagandaMaterialsVo selectPropagandaInfoById(Long id) { - return propagandaInfoMapper.selectPropagandaInfo(id); + PropagandaMaterialsVo retObj = new PropagandaMaterialsVo(); + PropagandaInfo propagandaInfo = propagandaInfoMapper.selectPropagandaInfoById(id); + if (ObjectUtils.isEmpty(propagandaInfo)) { + throw new ServiceException("数据异常"); + } + BeanUtils.copyBeanProp(retObj, propagandaInfo); + // 查询宣教素材管理关系表 + PropagandaMaterials pmQuery = new PropagandaMaterials(); + pmQuery.setPropagandaId(id); + List pmList = propagandaMaterialsMapper.selectPropagandaMaterialsList(pmQuery); + List materialsInfoList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(pmList)) { + // 查询素材列表 + for (PropagandaMaterials pm : pmList) { + materialsInfoList.add(materialsInfoMapper.selectMaterialsInfoById(pm.getMaterialsId())); + } + } + retObj.setMaterialsInfoList(materialsInfoList); + return retObj; } @Override public PropagandaInfo getById(Long id) {