From 870a04f893936e1e25c6fef4d21e561bdf38a980 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期一, 22 八月 2022 16:34:15 +0800 Subject: [PATCH] 目标fix --- incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCaseServiceImpl.java | 143 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 143 insertions(+), 0 deletions(-) diff --git a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCaseServiceImpl.java b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCaseServiceImpl.java new file mode 100644 index 0000000..7f87919 --- /dev/null +++ b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCaseServiceImpl.java @@ -0,0 +1,143 @@ +package com.gkhy.safePlatform.incidentManage.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.incidentManage.entity.*; +import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes; +import com.gkhy.safePlatform.incidentManage.exception.AccidentException; +import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentCaseReqDTO; +import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentCaseDetailRespDTO; +import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentCasePageRespDTO; +import com.gkhy.safePlatform.incidentManage.query.AccidentCaseQuery; +import com.gkhy.safePlatform.incidentManage.query.db.AccidentCaseDBQuery; +import com.gkhy.safePlatform.incidentManage.service.AccidentCaseService; +import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentCaseInfoService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service("accidentCaseService") +public class AccidentCaseServiceImpl implements AccidentCaseService { + + @Autowired + private AccidentCaseInfoService accidentCaseInfoService; + + + @Override + public SearchResultVO<List<AccidentCasePageRespDTO>> selectAccidentCaseList(PageQuery<AccidentCaseQuery> query) { + Long pageIndex = query.getPageIndex(); + Long pageSize = query.getPageSize(); + Page<AccidentCaseInfoPageDO> page = new Page<>(pageIndex, pageSize); + + AccidentCaseDBQuery accidentCaseDBQuery = new AccidentCaseDBQuery(); + if (query.getSearchParams() != null) { + BeanUtils.copyProperties(query.getSearchParams(), accidentCaseDBQuery); + } + + List<AccidentCaseInfoPageDO> accidentCaseInfoPageDOList = accidentCaseInfoService.selectAccidentCaseList(page, accidentCaseDBQuery); + List<AccidentCasePageRespDTO> respList = BeanCopyUtils.copyBeanList(accidentCaseInfoPageDOList, AccidentCasePageRespDTO.class); + + return new SearchResultVO<>( + true, + pageIndex, + pageSize, page.getPages(), + page.getTotal(), + respList, + ResultCodes.OK + ); + } + + @Override + public ResultVO addAccidentCase(Long uid, AccidentCaseReqDTO accidentCaseReqDTO) { + //必填项验证 + checkRequired(accidentCaseReqDTO); + + Date nowDate = new Date(); + //1.新增事故案例 + AccidentCaseInfo accidentCaseInfo = new AccidentCaseInfo(); + BeanUtils.copyProperties(accidentCaseReqDTO, accidentCaseInfo); + accidentCaseInfo.setDelFlag(false); + accidentCaseInfo.setCreateUid(uid); + accidentCaseInfo.setGmtCreate(nowDate); + accidentCaseInfoService.addAccidentCase(accidentCaseInfo); + return new ResultVO(ResultCodes.OK); + } + + @Override + public ResultVO<AccidentCaseDetailRespDTO> getAccidentCaseById(Long id) { + AccidentCaseDetailRespDTO AccidentCaseDetailRespDTO = new AccidentCaseDetailRespDTO(); + //查询是否存在 + AccidentCaseInfoDetailDO AccidentCaseInfoDetailDO = accidentCaseInfoService.selectAccidentCaseById(id); + if (AccidentCaseInfoDetailDO == null) { + throw new AccidentException(AccidentResultCodes.CASE_NOT_EXIST); + } else { + BeanUtils.copyProperties(AccidentCaseInfoDetailDO, AccidentCaseDetailRespDTO); + + return new ResultVO<>(ResultCodes.OK, AccidentCaseDetailRespDTO); + } + } + + @Override + public ResultVO updateAccidentCase(Long uid, AccidentCaseReqDTO accidentCaseReqDTO) { + Date nowDate = new Date(); + //查询是否存在 + AccidentCaseInfoDetailDO AccidentCaseInfoDetailDO = accidentCaseInfoService.selectAccidentCaseById(accidentCaseReqDTO.getId()); + if (AccidentCaseInfoDetailDO == null) { + throw new AccidentException(AccidentResultCodes.CASE_NOT_EXIST); + } else { + AccidentCaseInfo accidentCaseInfo = new AccidentCaseInfo(); + BeanUtils.copyProperties(accidentCaseReqDTO, accidentCaseInfo); + accidentCaseInfo.setUpdateUid(uid); + accidentCaseInfo.setGmtModitify(nowDate); + accidentCaseInfoService.updateAccidentCase(accidentCaseInfo); + + return new ResultVO(ResultCodes.OK); + } + } + + @Override + public ResultVO batchDeleteAccidentCase(Long[] ids) { + if (ids == null || ids.length==0){ + throw new AccidentException(AccidentResultCodes.CASE_NULL); + } else { + for (Long id : ids){ + deleteAccidentCase(id); + } + return new ResultVO(ResultCodes.OK); + } + } + + private void deleteAccidentCase(Long id) { + //查询是否存在 + AccidentCaseInfoDetailDO AccidentCaseInfoDetailDO = accidentCaseInfoService.selectAccidentCaseById(id); + if (AccidentCaseInfoDetailDO == null) { + throw new AccidentException(AccidentResultCodes.CASE_NOT_EXIST); + } else { + accidentCaseInfoService.deleteAccidentCaseById(id); + } + } + + /** + * 验证必填项 + * + * @return + */ + private void checkRequired(AccidentCaseReqDTO AccidentCaseReqDTO) { + // 事故案例标题 + if (AccidentCaseReqDTO.getCaseTitle() == null) { + throw new AccidentException(AccidentResultCodes.CASE_TITLE_NULL); + } + // 事故案例内容 + if (StringUtils.isBlank(AccidentCaseReqDTO.getCaseContent())) { + throw new AccidentException(AccidentResultCodes.CASE_CONTENT_NULL); + } + } + +} -- Gitblit v1.9.2