package com.gkhy.safePlatform.emergency.service.impl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.query.PageQuery;
|
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
|
import com.gkhy.safePlatform.commons.utils.StringUtils;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import com.gkhy.safePlatform.commons.vo.SearchResultVO;
|
import com.gkhy.safePlatform.emergency.entity.EmergencyTeamMemberInfoDO;
|
import com.gkhy.safePlatform.emergency.excepiton.EmergencyServiceException;
|
import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfoDO;
|
import com.gkhy.safePlatform.emergency.entity.EmergencyTeamInfoPageDO;
|
import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
|
import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamReqDTO;
|
import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamFileRespDTO;
|
import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamPageRespDTO;
|
import com.gkhy.safePlatform.emergency.query.EmergencyTeamQuery;
|
import com.gkhy.safePlatform.emergency.query.db.EmergencyTeamDBQuery;
|
import com.gkhy.safePlatform.emergency.service.EmergencyTeamService;
|
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamFileInfoService;
|
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamInfoService;
|
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamMemberInfoService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service("emergencyTeamService")
|
public class EmergencyTeamServiceImpl implements EmergencyTeamService {
|
|
@Autowired
|
private EmergencyTeamInfoService emergencyTeamInfoService;
|
|
@Autowired
|
private EmergencyTeamFileInfoService emergencyTeamFileInfoService;
|
|
@Autowired
|
private EmergencyTeamMemberInfoService emergencyTeamMemberInfoService;
|
|
@Override
|
public SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query) {
|
Long pageIndex = query.getPageIndex();
|
Long pageSize = query.getPageSize();
|
Page<EmergencyTeamInfoPageDO> page = new Page<>(pageIndex, pageSize);
|
|
EmergencyTeamDBQuery emergencyTeamDBQuery = new EmergencyTeamDBQuery();
|
if (query.getSearchParams() != null) {
|
BeanUtils.copyProperties(query.getSearchParams(), emergencyTeamDBQuery);
|
}
|
|
List<EmergencyTeamPageRespDTO> respList = new ArrayList<>();
|
List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page,emergencyTeamDBQuery);
|
|
if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)){
|
for (EmergencyTeamInfoPageDO emergencyTeamInfoPageDO : emergencyTeamInfoPageDOList) {
|
List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDO.getId());
|
List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class);
|
|
EmergencyTeamPageRespDTO emergencyTeamPageRespDTO = new EmergencyTeamPageRespDTO();
|
BeanUtils.copyProperties(emergencyTeamInfoPageDO, emergencyTeamPageRespDTO);
|
emergencyTeamPageRespDTO.setFileList(emergencyTeamFileRespDTOList);
|
respList.add(emergencyTeamPageRespDTO);
|
}
|
}
|
|
return new SearchResultVO<>(
|
true,
|
pageIndex,
|
pageSize,
|
page.getTotal(),
|
respList,
|
ResultCodes.OK
|
);
|
}
|
|
@Override
|
public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
|
//必填项验证
|
checkRequired(emergencyTeamReqDTO);
|
//1.新增应急队伍
|
EmergencyTeamFileInfoDO emergencyTeamFileInfoDO = new EmergencyTeamFileInfoDO();
|
BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamFileInfoDO);
|
emergencyTeamInfoService.addEmergencyTeam(emergencyTeamFileInfoDO);
|
//2.新增应急队伍附件
|
List<EmergencyTeamFileInfoDO> fileInfoDOList = new ArrayList<>();
|
BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(),fileInfoDOList.getClass());
|
fileInfoDOList.forEach(e->e.setTeamId(emergencyTeamFileInfoDO.getId()));
|
emergencyTeamFileInfoService.addEmergencyTeamFile(fileInfoDOList);
|
//3.新增应急队伍人员
|
List<EmergencyTeamMemberInfoDO> memberInfoDOList = new ArrayList<>();
|
BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getMemberList(),memberInfoDOList.getClass());
|
memberInfoDOList.forEach(e->e.setTeamId(emergencyTeamFileInfoDO.getId()));
|
emergencyTeamMemberInfoService.addEmergencyTeamMember(memberInfoDOList);
|
|
return ResultVO.success();
|
}
|
|
/**
|
* 验证必填项
|
* @return
|
*/
|
private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO){
|
//名称
|
if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())){
|
throw new EmergencyServiceException(EmergencyResultCodes.TEAM_NAME_NULL);
|
}
|
//级别
|
if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())){
|
throw new EmergencyServiceException(EmergencyResultCodes.TEAM_LEVEL_NULL);
|
}
|
//负责人
|
if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalUid())){
|
throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
|
}
|
//负责人部门
|
|
if(emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0){
|
throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
|
}
|
//负责人手机
|
if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())){
|
throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
|
}
|
//固定电话
|
if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())){
|
throw new EmergencyServiceException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
|
}
|
}
|
|
/**
|
* 验证数据库是否存在
|
* @return
|
*/
|
public Boolean checkeExist(){
|
return null;
|
}
|
|
}
|