From 79d022f98239e5f029bdca3adf38ca4a39e15143 Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期三, 14 九月 2022 16:14:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/sanshuohuitang_dev' into sanshuohuitang_dev --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 203 insertions(+), 7 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java index cded5bb..a8faee8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java @@ -5,18 +5,28 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.constants.ReturnMsgConstants; +import com.panzhihua.common.enums.SanShuoEventStatusEnum; +import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.sanshuo.*; +import com.panzhihua.common.utlis.CopyUtil; +import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.Snowflake; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.dao.ComActDAO; import com.panzhihua.service_community.dao.ComEventMapper; -import com.panzhihua.service_community.entity.ComEvent; -import com.panzhihua.service_community.service.IComEventService; +import com.panzhihua.service_community.dao.ComStreetDAO; +import com.panzhihua.service_community.entity.*; +import com.panzhihua.service_community.model.dos.ComActDO; +import com.panzhihua.service_community.model.dos.ComStreetDO; +import com.panzhihua.service_community.service.*; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import javax.annotation.Resource; +import java.util.*; /** * Description 三说会堂事件表业务层实现类 @@ -29,12 +39,35 @@ @Service("comEventService") public class ComEventServiceImpl extends ServiceImpl<ComEventMapper, ComEvent> implements IComEventService { + @Resource + private IComEventTransferRecordService comEventTransferRecordService; + + @Resource + private ComSanShuoExpertService comSanShuoExpertService; + + @Resource + private IComEventResourceService comEventResourceService; + + @Resource + private ComActDAO comActDAO; + + @Resource + private ComStreetDAO comStreetDAO; + + @Resource + private ComSanShuoIndustryCenterService comSanShuoIndustryCenterService; + @Override public R pageByComEvent(ComEvent comEvent, Page pagination) { IPage<ComEvent> list = baseMapper.pageByComEvent(comEvent, pagination); if (list.getRecords().size() < 1) { return R.ok(Collections.emptyList()); } + list.getRecords().forEach(comEvent1 -> { + List<ComEventResource> resourceList = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, comEvent1.getId())); + List<ComEventRequestImageVO> comEventRequestImageVO = CopyUtil.deepCopyListObject(resourceList, ComEventRequestImageVO.class); + comEvent1.setImages(comEventRequestImageVO); + }); return R.ok(list); } @@ -50,17 +83,52 @@ @Override @Transactional(rollbackFor = Exception.class) public R insertComEvent(ComEvent comEvent) { - if (checkExist( comEvent.getOrderSn(), null)) { - return R.fail(ReturnMsgConstants.DATA_EXIST); + ComSanshuoExpert expert = comSanShuoExpertService.getById(comEvent.getSpecialistId()); + if (comEvent.getRequestUserCommunity() != null) { + ComActDO community = comActDAO.selectById(comEvent.getRequestUserCommunity()); + comEvent.setCurrentOrgName(community.getName()); } + if (comEvent.getCenterId() != null) { + ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCenterId()); + comEvent.setCurrentOrgName(center.getName()); + } + comEvent.setUserEventStatus(2); + comEvent.setEventProcessStatus(SanShuoEventStatusEnum.UNDO.getCode()); + comEvent.setSpecialistName(expert.getName()); + comEvent.setOrderSn(DateUtils.getDateFormatString(new Date(), "yyyyMMddHHmmss") + RandomUtils.nextLong(1, 10000)); + comEvent.setInvalid(true); comEvent.setId(Snowflake.getId()); + comEvent.setSubmitDate(new Date()); comEvent.setCreateAt(new Date()); + comEvent.setCreateBy(comEvent.getRequestUserId()); + comEvent.setUpdateBy(comEvent.getRequestUserId()); comEvent.setUpdateAt(new Date()); boolean flag = save(comEvent); if (!flag) { return R.fail(ReturnMsgConstants.DATA_EXIST); } + saveEventImageList(comEvent.getImages(), comEvent.getId()); return R.ok(ReturnMsgConstants.SAVE_SUCCESS); + } + + private Boolean saveEventImageList(List<ComEventRequestImageVO> images, Long id) { + List<ComEventResource> comEventResourceList = new ArrayList<>(); + if (!StringUtils.isEmpty(images)) { + List<ComEventRequestImageVO> imagesList = images; + imagesList.forEach(comEventRequestImageVO -> { + ComEventResource comEventResource = new ComEventResource(); + comEventResource.setId(Snowflake.getId()); + comEventResource.setRefId(id); + comEventResource.setStatus(1); + comEventResource.setType(1); + comEventResource.setResourceName(comEventRequestImageVO.getName()); + comEventResource.setResourceSize(comEventRequestImageVO.getSize()); + comEventResource.setUrl(comEventRequestImageVO.getUrl()); + comEventResource.setDeleteFlag(false); + comEventResourceList.add(comEventResource); + }); + } + return comEventResourceService.saveBatch(comEventResourceList); } @Override @@ -85,6 +153,134 @@ return flag ? R.ok(comEvent, ReturnMsgConstants.UPDATE_SUCCESS) : R.fail(ReturnMsgConstants.UPDATE_FALSE); } + @Override + @Transactional(rollbackFor = Exception.class) + public R conciliationEvent(ComEventConciliationVO comEventConciliationVO) { + saveEventImageList(comEventConciliationVO.getImages(), comEventConciliationVO.getId()); + ComEvent comEvent = baseMapper.selectById(comEventConciliationVO.getId()); + comEvent.setEventSucceed(comEventConciliationVO.getEventSucceed()); + comEvent.setEventResult(comEventConciliationVO.getEventResult()); + comEvent.setReportSuperior(comEventConciliationVO.getReportSuperior()); + comEvent.setCurrentEventProcessResult(comEventConciliationVO.getCurrentEventProcessResult()); + //如果当前请求,需要上报上级进行处理 + if (comEventConciliationVO.getReportSuperior()) { + if (comEvent.getCurrentProcessType() == 2) { + //查询街道的账号 + comEvent.setCurrentProcessType(3); + ComActDO comActDO = comActDAO.selectById(comEvent.getCurrentOrgId()); + comEvent.setCurrentOrgId(comActDO.getStreetId().toString()); + } else { + //查询街道的上级区域账号 + comEvent.setCurrentProcessType(4); + try { + ComStreetDO street = comStreetDAO.selectById(comEvent.getCurrentOrgId()); + comEvent.setCurrentOrgId(street.getAreaCode().toString()); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + baseMapper.updateById(comEvent); + return R.ok(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R cancelRequest(Long id) { + ComEvent comEvent = baseMapper.selectById(id); + if (comEvent.getEventProcessStatus() == SanShuoEventStatusEnum.UNDO.getCode().intValue() + || comEvent.getEventProcessStatus() == SanShuoEventStatusEnum.VALID.getCode().intValue()) { + comEvent.setId(id); + comEvent.setUserEventStatus(4); + comEvent.setEventProcessStatus(SanShuoEventStatusEnum.CANCEL.getCode()); + comEvent.setRevokeDes("用户手动取消"); + baseMapper.updateById(comEvent); + return R.ok(); + } else { + return R.fail("当前申请已经受理,不能取消!"); + } + } + + @Override + public HashMap detail(String id) { + HashMap map = new HashMap(3); + ComEventDetailVO comEventDetailVO = new ComEventDetailVO(); + ComEvent comEvent = baseMapper.selectById(id); + ComSanshuoExpert specter = comSanShuoExpertService.getById(comEvent.getSpecialistId()); + CopyUtil.copyProperties(comEvent, comEventDetailVO); + List<ComEventResource> resourceList = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id)); + List<ComEventRequestImageVO> comEventRequestImageVO = CopyUtil.deepCopyListObject(resourceList, ComEventRequestImageVO.class); + comEventDetailVO.setImages(comEventRequestImageVO); + map.put("specter", specter); + map.put("eventDetail", comEventDetailVO); + List<ComEventTransferRecord> transferRecord = comEventTransferRecordService.list(new QueryWrapper<ComEventTransferRecord>().lambda().eq(ComEventTransferRecord::getEventId, id)); + map.put("transferLog", transferRecord); + List<ComEventResource> resource = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id) + .eq(ComEventResource::getStatus, 5)); + map.put("archiveImage", resource); + return map; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R acceptRequest(Long id, Long specterId) { + ComEvent comEvent = new ComEvent(); + comEvent.setId(id); + comEvent.setSpecialistId(specterId); + ComSanshuoExpert specter = comSanShuoExpertService.getById(specterId); + comEvent.setSpecialistAcceptTime(new Date()); + comEvent.setSpecialistName(specter.getName()); + comEvent.setEventProcessStatus(SanShuoEventStatusEnum.ACCEPT.getCode()); + baseMapper.updateById(comEvent); + return R.ok(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R reappoint(Long id, Long specialistId) { + ComEvent comEvent = new ComEvent(); + comEvent.setId(id); + comEvent.setSpecialistId(specialistId); + ComSanshuoExpert specter = comSanShuoExpertService.getById(specialistId); + comEvent.setSpecialistAcceptTime(new Date()); + comEvent.setSpecialistName(specter.getName()); + comEvent.setEventProcessStatus(SanShuoEventStatusEnum.ACCEPT.getCode()); + baseMapper.updateById(comEvent); + return R.ok(); + } + + @Override + public R calculate() { + List<ComEventCalculateVO> calculateList = baseMapper.calculate(); + return R.ok(calculateList); + } + + @Override + public R archiveRequest(ComEventArchiveVO comEventArchiveVO, LoginUserInfoVO sysUser) { + ComEvent comEvent = baseMapper.selectById(comEventArchiveVO.getId()); + comEvent.setEventProcessStatus(6); + comEvent.setResult(comEventArchiveVO.getResult()); + baseMapper.updateById(comEvent); + ComEventTransferRecord comEventTransferRecord = new ComEventTransferRecord(); + comEventTransferRecord.setEventId(comEvent.getId()); + comEventTransferRecord.setSave(true); + comEventTransferRecord.setProcessResult(comEventArchiveVO.getResult()); + comEventTransferRecord.setProcessResultData(new Date().toString()); + comEventTransferRecord.setProcessDate(new Date()); + comEventTransferRecord.setProcessBy(sysUser.getUserId()); + comEventTransferRecord.setProcessByName(sysUser.getName()); + comEventTransferRecord.setProcessType(1); + comEventTransferRecord.setCreateAt(new Date()); + comEventTransferRecord.setSpecialistId(comEvent.getSpecialistId()); + comEventTransferRecord.setSpecialistOrg(comEvent.getCurrentOrgId()); + comEventTransferRecord.setSpecialistLevel(comEvent.getSpecialistLevel()); + comEventTransferRecord.setSpecialistName(comEvent.getSpecialistName()); + comEventTransferRecord.setEventResult(comEvent.getEventSucceed()); + comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus()); + comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord); + return R.ok(); + } + private Boolean checkExist(String sn, Long id) { ComEvent comEvent = new ComEvent(); comEvent.setOrderSn(sn); -- Gitblit v1.7.1