From 8768317130cb1943e93d4109bee9ff71aa7f669b Mon Sep 17 00:00:00 2001 From: xyh <18782104331@139.com> Date: 星期四, 24 六月 2021 13:54:07 +0800 Subject: [PATCH] 走访 --- springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java | 217 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 214 insertions(+), 3 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java index 937df4a..c9c64f1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java @@ -1,24 +1,39 @@ package com.panzhihua.service_grid.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.enums.EventTasksStatusEnum; import com.panzhihua.common.model.dtos.grid.EventVisitingTasksAddDTO; import com.panzhihua.common.model.dtos.grid.EventVisitingTasksDeleteDTO; import com.panzhihua.common.model.dtos.grid.EventVisitingTasksEditDTO; import com.panzhihua.common.model.dtos.grid.PageEventVisitingTasksDTO; +import com.panzhihua.common.model.helper.AESUtil; +import com.panzhihua.common.model.query.visit.EventTasksQuery; +import com.panzhihua.common.model.query.visit.EventVisitListQuery; import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.model.vos.grid.EventVisitingTasksDetailsVO; -import com.panzhihua.common.model.vos.grid.EventVisitingTasksVO; +import com.panzhihua.common.model.vos.visit.*; +import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_grid.dao.*; import com.panzhihua.service_grid.model.dos.*; import com.panzhihua.service_grid.service.EventVisitingTasksService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import javax.crypto.BadPaddingException; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; import java.util.Date; +import java.util.List; +import java.util.Map; /** * @auther lyq @@ -31,6 +46,12 @@ @Resource private EventVisitingTasksMapper eventVisitingTasksMapper; + + @Resource + private EventResourceMapper eventResourceMapper; + + @Value("${domain.aesKey:}") + private String aesKey; /** * 新增重点人群走访记录 * @param eventVisitingTasksAddDTO @@ -74,7 +95,7 @@ if(pageEventVisitingTasksDTO.getPageSize()!=null) { page.setSize(pageEventVisitingTasksDTO.getPageSize()); } - return R.ok(eventVisitingTasksMapper.findByPage(page, pageEventVisitingTasksDTO)); + return R.ok(); } /** @@ -96,9 +117,199 @@ if(eventVisitingTasksDO!=null) { EventVisitingTasksDetailsVO eventVisitingTasksDetailsVO = new EventVisitingTasksDetailsVO(); BeanUtils.copyProperties(eventVisitingTasksDO, eventVisitingTasksDetailsVO); + eventVisitingTasksDetailsVO.setImgList(eventResourceMapper.findListByRefId(eventVisitingTasksDO.getId(),2,1)); + eventVisitingTasksDetailsVO.setVosList(eventResourceMapper.findListByRefId(eventVisitingTasksDO.getId(),2,2)); + eventVisitingTasksDetailsVO.setVideoList(eventResourceMapper.findListByRefId(eventVisitingTasksDO.getId(),2,3)); return R.ok(eventVisitingTasksDetailsVO); } return R.fail(); } + @Override + public R count(Long communityId) { + + Map<String,Long> countMap = eventVisitingTasksMapper.count(communityId); + EventVisitCountVO eventVisitCountVO = new EventVisitCountVO(); + eventVisitCountVO.setVisit(countMap.get("visit")); + eventVisitCountVO.setVisited(countMap.get("visited")); + eventVisitCountVO.setCanceled(countMap.get("canceled")); + return R.ok(eventVisitCountVO); + } + + @Override + public R taskList(EventTasksQuery query) { + + IPage<EventVisitingTasksVO> page = eventVisitingTasksMapper.findListByPage(new Page(query.getPageNum(),query.getPageSize()),query); + + return R.ok(page); + } + + @Transactional + @Override + public R delete(String ids, Long communityId) { + String[] idarr = ids.split(","); + for(String id:idarr){ + if(StringUtils.isEmpty(id)){ + continue; + } + EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectOne(new QueryWrapper<EventVisitingTasksDO>().eq("id",Long.valueOf(id)).eq("grid_member_community",communityId)); + if(eventVisitingTasksDO == null){ + throw new RuntimeException("无权限"); + } + eventVisitingTasksMapper.deleteById(Long.valueOf(id)); + } + return R.ok(); + } + + @Override + public R visitorList(EventVisitListQuery query) { + IPage<EventVisitListVO> page = eventVisitingTasksMapper.visitorList(new Page(query.getPageNum(),query.getPageSize()),query); + return R.ok(page); + } + + @Override + public R list(EventTasksQuery query) { + IPage<AppVisitTasksVO> page = eventVisitingTasksMapper.list(new Page(query.getPageNum(),query.getPageSize()),query); + return R.ok(page); + } + + @Override + public R detail(Long id) throws Exception { + EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectById(id); + if(eventVisitingTasksDO!=null) { + EventVisitingTasksDetailsVO eventVisitingTasksDetailsVO = new EventVisitingTasksDetailsVO(); + BeanUtils.copyProperties(eventVisitingTasksDO, eventVisitingTasksDetailsVO); + ; + eventVisitingTasksDetailsVO.setVisiterTele(AESUtil.decrypt128(eventVisitingTasksDO.getVisiterTele(), aesKey)); + return R.ok(eventVisitingTasksDetailsVO); + } + return R.fail(); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public R add(String ids, Long communityId, Long userId) { + Map<String,Object> map = eventVisitingTasksMapper.findUserByCommunityId(communityId,6); + if(CollectionUtils.isEmpty(map)){ + return R.fail("网格员不存在"); + } + String[] id = ids.split(","); + for(String idstr:id){ + if(StringUtils.isEmpty(idstr)){ + continue; + } + addVisitingTask(Long.valueOf(idstr),map,communityId,userId); + } + + return R.ok(); + } + + @Override + public List<EventVisitingTasksVO> exportTaskList(EventTasksQuery query) { + IPage<EventVisitingTasksVO> page = eventVisitingTasksMapper.findListByPage(new Page(query.getPageNum(),query.getPageSize()),query); + + return page.getRecords(); + } + + + + private void addVisitingTask(Long id, Map<String, Object> gridMap,Long communityId,Long userId) { + + Integer count = eventVisitingTasksMapper.countNoneComplete(id); + if(count > 0){ + return; + } + Map<String,Object> map = eventVisitingTasksMapper.findPopulationById(id); + if(CollectionUtils.isEmpty(map)){ + return ; + } + EventVisitingTasksDO visitingTasksDO = new EventVisitingTasksDO(); + visitingTasksDO.setGridMemberStreet(Long.valueOf(gridMap.get("street_id").toString())); + visitingTasksDO.setGridMemberCommunity(communityId); + visitingTasksDO.setGridMember(Long.valueOf(gridMap.get("user_id").toString())); + visitingTasksDO.setGridMemberName(gridMap.get("name").toString()); + visitingTasksDO.setGridMenberTele(gridMap.get("phone") ==null?"":gridMap.get("phone").toString()); + visitingTasksDO.setVisiterId(Long.valueOf(map.get("id").toString())); + visitingTasksDO.setVisiterName(map.get("name").toString()); + visitingTasksDO.setVisiterSex(Integer.valueOf(map.get("sex").toString())); + visitingTasksDO.setVisiterTele(map.get("phone") == null?"":map.get("phone").toString()); + StringBuilder sb = new StringBuilder(); + sb.append(map.get("address")).append(map.get("road")).append(map.get("door_no")).append(map.get("floor")).append("栋").append(map.get("unit_no")).append("单元").append(map.get("house_no")).append("号"); + visitingTasksDO.setVisiterAddress(sb.toString()); + visitingTasksDO.setVisiterType(0); + visitingTasksDO.setActOpara(0); + if(map.get("lat") != null && map.get("lng") != null){ + visitingTasksDO.setHappentLatLng(map.get("lat")+"-"+map.get("lng")); + } + visitingTasksDO.setEventStatus(EventTasksStatusEnum.DZF.getCode()); + visitingTasksDO.setReporting(0); + visitingTasksDO.setInvalid(false); + visitingTasksDO.setUrgent(false); + visitingTasksDO.setUrgentDell(false); + visitingTasksDO.setCreateBy(userId); + eventVisitingTasksMapper.insert(visitingTasksDO); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public R cancel(Long id) { + + EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectById(id); + if(eventVisitingTasksDO == null || eventVisitingTasksDO.getEventStatus() != EventTasksStatusEnum.DZF.getCode()){ + return R.fail("当前状态不可撤销"); + } + int rt = eventVisitingTasksMapper.cancel(id,EventTasksStatusEnum.YCX.getCode()); + if(rt > 0){ + return R.ok(); + } + return R.fail(); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public R reset(Long id) { + + EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectById(id); + if(eventVisitingTasksDO == null || eventVisitingTasksDO.getEventStatus() != EventTasksStatusEnum.YCX.getCode()){ + return R.fail("当前状态不可恢复"); + } + int rt = eventVisitingTasksMapper.updateEventStatus(id,EventTasksStatusEnum.DZF.getCode()); + if(rt > 0){ + return R.ok(); + } + return R.fail(); + } + + @Override + public R start(Long id) { + EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectById(id); + if(eventVisitingTasksDO == null || eventVisitingTasksDO.getEventStatus() != EventTasksStatusEnum.DZF.getCode()){ + return R.fail("当前状态不可开始走访"); + } + int rt = eventVisitingTasksMapper.start(id,EventTasksStatusEnum.JXZ.getCode()); + if(rt > 0){ + return R.ok(); + } + return R.fail(); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public R complete(EventVisitCompleteDTO taskCompleteDTO) { + EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectById(taskCompleteDTO.getId()); + if(eventVisitingTasksDO == null || eventVisitingTasksDO.getEventStatus() != EventTasksStatusEnum.JXZ.getCode()){ + return R.fail("当前状态不可完成走访"); + } + if(taskCompleteDTO.getException().intValue() == 0){ + taskCompleteDTO.setEventStatus(EventTasksStatusEnum.ZJJJ.getCode()); + }else{ + taskCompleteDTO.setEventStatus(EventTasksStatusEnum.YC.getCode()); + } + int rt = eventVisitingTasksMapper.complete(taskCompleteDTO); + if(rt > 0){ + return R.ok(); + } + return R.fail(); + } + } -- Gitblit v1.7.1