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.*; import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes; import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; import com.gkhy.safePlatform.emergency.model.dto.req.*; import com.gkhy.safePlatform.emergency.model.dto.resp.*; import com.gkhy.safePlatform.emergency.query.EmergencySuppliesQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencySuppliesDBQuery; import com.gkhy.safePlatform.emergency.service.EmergencySuppliesService; import com.gkhy.safePlatform.emergency.service.baseService.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; @Service("emergencySuppliesService") public class EmergencySuppliesServiceImpl implements EmergencySuppliesService { @Autowired private EmergencySuppliesInfoService emergencySuppliesInfoService; @Override public SearchResultVO> selectEmergencySuppliesList(PageQuery query) { Long pageIndex = query.getPageIndex(); Long pageSize = query.getPageSize(); Page page = new Page<>(pageIndex, pageSize); EmergencySuppliesDBQuery emergencySuppliesDBQuery = new EmergencySuppliesDBQuery(); if (query.getSearchParams() != null) { BeanUtils.copyProperties(query.getSearchParams(), emergencySuppliesDBQuery); } List emergencySuppliesListDoInfoList = emergencySuppliesInfoService.selectEmergencySuppliesList(page,emergencySuppliesDBQuery); List respList = BeanCopyUtils.copyBeanList(emergencySuppliesListDoInfoList, EmergencySuppliesPageRespDTO.class); return new SearchResultVO<>( true, pageIndex, pageSize, page.getTotal(), respList, ResultCodes.OK ); } @Override public ResultVO addEmergencySupplies(Long uid, EmergencySuppliesReqDTO emergencySuppliesReqDTO) { Date nowDate = new Date(); // 新增应急物资 EmergencySuppliesInfo emergencySuppliesInfo = new EmergencySuppliesInfo(); BeanUtils.copyProperties(emergencySuppliesReqDTO,emergencySuppliesInfo); emergencySuppliesInfo.setDelFlag(false); emergencySuppliesInfo.setCreateUid(uid); emergencySuppliesInfo.setGmtCreate(nowDate); emergencySuppliesInfoService.addEmergencySupplies(emergencySuppliesInfo); return new ResultVO<>(ResultCodes.OK); } @Override public ResultVO getEmergencySuppliesById(Long id) { EmergencySuppliesDetailRespDTO emergencySuppliesDetailRespDTO = new EmergencySuppliesDetailRespDTO(); // 查询是否存在 EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO = emergencySuppliesInfoService.selectEmergencySuppliesById(id); if (emergencySuppliesInfoDetailDO==null){ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_NOT_EXIST); }else{ BeanUtils.copyProperties(emergencySuppliesInfoDetailDO,emergencySuppliesDetailRespDTO); return new ResultVO<>(ResultCodes.OK,emergencySuppliesDetailRespDTO); } } @Override public ResultVO updateEmergencySupplies(Long uid, EmergencySuppliesReqDTO emergencySuppliesReqDTO) { Date nowDate = new Date(); // 查询是否存在 EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO = emergencySuppliesInfoService.selectEmergencySuppliesById(emergencySuppliesReqDTO.getId()); if (emergencySuppliesInfoDetailDO==null){ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_NOT_EXIST); }else{ EmergencySuppliesInfo emergencySuppliesInfo = new EmergencySuppliesInfo(); BeanUtils.copyProperties(emergencySuppliesReqDTO,emergencySuppliesInfo); emergencySuppliesInfo.setUpdateUid(uid); emergencySuppliesInfo.setGmtModitify(nowDate); emergencySuppliesInfoService.updateEmergencySupplies(emergencySuppliesInfo); return new ResultVO<>(ResultCodes.OK); } } @Override public ResultVO batchDeleteEmergencySupplies(String ids) { if (StringUtils.isBlank(ids)) { throw new EmergencyException(EmergencyResultCodes.SUPPLIES_NULL); } else { String[] idArr = ids.split(","); for (String id : idArr) { deleteEmergencySupplies(Long.valueOf(id)); } return new ResultVO(ResultCodes.OK); } } private void deleteEmergencySupplies(Long id) { //查询是否存在 EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO = emergencySuppliesInfoService.selectEmergencySuppliesById(id); if (emergencySuppliesInfoDetailDO==null){ throw new EmergencyException(EmergencyResultCodes.SUPPLIES_NOT_EXIST); }else{ Long SuppliesId = emergencySuppliesInfoDetailDO.getId(); emergencySuppliesInfoService.deleteEmergencySupplies(SuppliesId); } } }