From a4047b6048ebfe09e66a765b58ea12b5bd0e2e6e Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 28 十一月 2022 16:18:10 +0800
Subject: [PATCH] 店铺管理优化

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java |  206 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 170 insertions(+), 36 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
index 627cebf..059a182 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -2,29 +2,33 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.common.constant.StepName;
-import com.ycl.entity.caseHandler.BaseCase;
-import com.ycl.entity.caseHandler.DisposeRecord;
-import com.ycl.entity.caseHandler.WorkflowConfigStep;
-import com.ycl.entity.user.UmsAdminRoleRelation;
+import com.ycl.bo.AdminUserDetails;
+import com.ycl.controller.video.common.constant.BaseCaseStatus;
+import com.ycl.controller.video.common.constant.StepName;
+import com.ycl.dto.dispatch.UploadDisposingResultParam;
+import com.ycl.entity.caseHandler.*;
+import com.ycl.entity.resources.ImageResources;
 import com.ycl.exception.ApiException;
 import com.ycl.mapper.caseHandler.BaseCaseMapper;
 import com.ycl.mapper.caseHandler.DisposeRecordMapper;
 import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper;
-import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
-import com.ycl.service.caseHandler.IDisposeRecordService;
+import com.ycl.service.caseHandler.*;
+import com.ycl.service.resources.IImageResourcesService;
 import com.ycl.vo.MyBacklogVO;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -45,42 +49,172 @@
     @Resource
     WorkflowConfigStepMapper workflowConfigStepMapper;
 
-    @Resource
-    UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
+    @Autowired
+    IInvestigationService iInvestigationService;
+    @Autowired
+    IArrivalSituationService iArrivalSituationService;
+    @Autowired
+    IPartyInfoService iPartyInfoService;
+    @Autowired
+    IWritService iWritService;
+    @Autowired
+    IBaseCaseService baseCaseService;
+    @Autowired
+    IDisposeRecordService iDisposeRecordService;
+    @Autowired
+    IImageResourcesService iImageResourcesService;
 
     @Override
     public List<MyBacklogVO> listMyTask(String num, Long userId) {
-        return disposeRecordMapper.selectMyBackList(userId,num);
+        return disposeRecordMapper.selectMyBackList(userId, num);
     }
 
     @Override
-    public Boolean addRecord(DisposeRecord disposeRecord) {
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam) {
+        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        ArrivalSituation arrivalSituationed = iArrivalSituationService.getOne(new LambdaQueryWrapper<ArrivalSituation>().eq(ArrivalSituation::getBaseCaseId, uploadDisposingResultParam.getCaseId()));
+        if (arrivalSituationed != null || arrivalSituationed.getId() != null) {
+            //褰撲簨浜�
+            PartyInfo partyInfo = new PartyInfo();
+            if (StringUtils.isNotEmpty(uploadDisposingResultParam.getName())) {
+                BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
+                partyInfo.setId(uploadDisposingResultParam.getPartyInfoId());
+                iPartyInfoService.updateById(partyInfo);
+            }
+            //璋冩煡鍙栬瘉
+            Investigation investigation = new Investigation();
+            BeanUtils.copyProperties(uploadDisposingResultParam, investigation);
+            investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+            investigation.setPartyId(partyInfo.getId());
+            investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            investigation.setId(uploadDisposingResultParam.getInvestigationId());
+            iInvestigationService.updateById(investigation);
+            //鍒拌揪
+            ArrivalSituation arrivalSituation = new ArrivalSituation();
+            BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation);
+            arrivalSituation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+            arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            arrivalSituation.setId(uploadDisposingResultParam.getArrivalSituationId());
+            iArrivalSituationService.updateById(arrivalSituation);
+            //鏂囦功
+            String handType = "02";
+            ImageResources imageResources = new ImageResources();
+            imageResources.setType(handType);
+            imageResources.setBelongToId(uploadDisposingResultParam.getCaseId());
+            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic()));
+            imageResources.setId(uploadDisposingResultParam.getImageResourcesId());
+            iImageResourcesService.updateById(imageResources);
+            if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) {
+                Writ writ = new Writ();
+                BeanUtils.copyProperties(uploadDisposingResultParam, writ);
+                writ.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+                writ.setIllegalBuildingId(uploadDisposingResultParam.getCaseId());
+                writ.setLimitTime(LocalDateTime.parse(uploadDisposingResultParam.getLimitTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")));
+                writ.setRectifyTime(LocalDateTime.parse(uploadDisposingResultParam.getRectifyTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")));
+                writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")));
+                iWritService.updateById(writ);
+                imageResources.setUrl(StringUtils
+                        .joinWith(",", uploadDisposingResultParam.getPic()
+                                , uploadDisposingResultParam.getSituationPic()
+                                , uploadDisposingResultParam.getOriginalPic()
+                                , uploadDisposingResultParam.getOtherPic()
+                                , uploadDisposingResultParam.getRectifiedPic()
+                                , uploadDisposingResultParam.getWritPic()));
+                iImageResourcesService.updateById(imageResources);
+            }
+            return baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, uploadDisposingResultParam.getCaseId()).set(BaseCase::getState, BaseCaseStatus.CHECK));
+        } else {
+            //褰撲簨浜�
+            PartyInfo partyInfo = new PartyInfo();
+            if (StringUtils.isNotEmpty(uploadDisposingResultParam.getName())) {
+                BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
+                partyInfo.setCreateUser(user.getUserId().intValue());
+                partyInfo.setCreateTime(LocalDateTime.now());
+                iPartyInfoService.save(partyInfo);
+            }
+            //璋冩煡鍙栬瘉
+            Investigation investigation = new Investigation();
+            BeanUtils.copyProperties(uploadDisposingResultParam, investigation);
+            investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+            investigation.setCreateTime(LocalDateTime.now());
+            investigation.setCreateUser(user.getUserId());
+            investigation.setPartyId(partyInfo.getId());
+            investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            iInvestigationService.save(investigation);
+            //鍒拌揪
+            ArrivalSituation arrivalSituation = new ArrivalSituation();
+            BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation);
+            arrivalSituation.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+            arrivalSituation.setCreateTime(LocalDateTime.now());
+            arrivalSituation.setCreateUser(user.getUserId());
+            arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            iArrivalSituationService.save(arrivalSituation);
+            //鏂囦功
+            String handType = "02";
+            ImageResources imageResources = new ImageResources();
+            imageResources.setType(handType);
+            imageResources.setBelongToId(uploadDisposingResultParam.getCaseId());
+            imageResources.setCreateTime(LocalDateTime.now());
+            imageResources.setCreateUser(user.getUserId());
+            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic()));
+            iImageResourcesService.save(imageResources);
+            if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) {
+                Writ writ = new Writ();
+                BeanUtils.copyProperties(uploadDisposingResultParam, writ);
+                writ.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+                writ.setIllegalBuildingId(uploadDisposingResultParam.getCaseId());
+                writ.setCreateTime(LocalDateTime.now());
+                writ.setCreateUser(user.getUserId());
+                writ.setLimitTime(LocalDateTime.parse(uploadDisposingResultParam.getLimitTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")));
+                writ.setRectifyTime(LocalDateTime.parse(uploadDisposingResultParam.getRectifyTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")));
+                writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss")));
+                iWritService.save(writ);
+                imageResources.setUrl(StringUtils
+                        .joinWith(",", uploadDisposingResultParam.getPic()
+                                , uploadDisposingResultParam.getSituationPic()
+                                , uploadDisposingResultParam.getOriginalPic()
+                                , uploadDisposingResultParam.getOtherPic()
+                                , uploadDisposingResultParam.getRectifiedPic()
+                                , uploadDisposingResultParam.getWritPic()));
+                iImageResourcesService.updateById(imageResources);
+            }
 
-        //缁撴潫涓婁紶澶勭疆娴佺▼
-        String stepName = StepName.DISPOSE.getName();
-        QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>();
-        qureyDispatch.eq("name", stepName);
-        WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch);
+            baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, uploadDisposingResultParam.getCaseId()).set(BaseCase::getState, BaseCaseStatus.DISPOSE));
+            String stepName = StepName.CHECK.getName();
+            DisposeRecord disposeRecord = new DisposeRecord();
+            disposeRecord.setBaseCaseId(uploadDisposingResultParam.getCaseId());
+            disposeRecord.setState(0);
+            disposeRecord.setCreateTime(LocalDateTime.now());
+            disposeRecord.setCreateUser(user.getUserId());
+            disposeRecord.setStepName(stepName);
+            disposeRecord.setStartTime(LocalDateTime.now());
 
-        UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("base_case_id", disposeRecord.getBaseCaseId()).eq("workflow_config_step_id", dispatchStep.getId());
+            //缁撴潫涓婁紶澶勭疆娴佺▼
+            QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>();
+            qureyDispatch.eq("name", StepName.DISPOSE.getName());
+            WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch);
 
-        DisposeRecord updateRecord = new DisposeRecord();
-        updateRecord.setState(1);
-        updateRecord.setEndTime(LocalDateTime.now());
-        updateRecord.setHandlerId(disposeRecord.getCreateUser());
-        baseMapper.update(updateRecord, updateWrapper);
+            UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("base_case_id", disposeRecord.getBaseCaseId()).eq("workflow_config_step_id", dispatchStep.getId());
 
-        QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>();
-        stepQurey.eq("name", disposeRecord.getStepName());
-        WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey);
-        if (workflowConfigStep == null) {
-            throw new ApiException("鏈煡璇㈠埌璇ユ祦绋嬬幆鑺�");
+            DisposeRecord updateRecord = new DisposeRecord();
+            updateRecord.setState(1);
+            updateRecord.setEndTime(LocalDateTime.now());
+            updateRecord.setHandlerId(disposeRecord.getCreateUser());
+            updateRecord.setResult(uploadDisposingResultParam.getDescription());
+            baseMapper.update(updateRecord, updateWrapper);
+
+            QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>();
+            stepQurey.eq("name", disposeRecord.getStepName());
+            WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey);
+            if (workflowConfigStep == null) {
+                throw new ApiException("鏈煡璇㈠埌璇ユ祦绋嬬幆鑺�");
+            }
+            //璁剧疆娴佺▼鐜妭鏁版嵁
+            disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId());
+            disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId());
+            return baseMapper.insert(disposeRecord) == 1 ? true : false;
         }
-        //璁剧疆娴佺▼鐜妭鏁版嵁
-        disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId());
-        disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId());
-        baseMapper.insert(disposeRecord);
-        return true;
     }
 }

--
Gitblit v1.8.0