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