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