manailin
2021-06-27 c3a5a9ae94e5604160f0ba4ac6148934db84f26b
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java
@@ -1,36 +1,36 @@
package com.panzhihua.service_grid.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.dtos.grid.*;
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.EventDetailsVO;
import com.panzhihua.common.model.vos.grid.EventResourceVO;
import com.panzhihua.common.model.vos.visit.*;
import com.panzhihua.common.utlis.CopyUtil;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_grid.dao.*;
import com.panzhihua.service_grid.model.dos.*;
import com.panzhihua.service_grid.dao.EventResourceMapper;
import com.panzhihua.service_grid.dao.EventVisitingTasksMapper;
import com.panzhihua.service_grid.model.dos.EventResourceDO;
import com.panzhihua.service_grid.model.dos.EventVisitingTasksDO;
import com.panzhihua.service_grid.service.EventResourceService;
import com.panzhihua.service_grid.service.EventVisitingTasksService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
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.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -50,10 +50,15 @@
    @Resource
    private EventResourceMapper eventResourceMapper;
    @Resource
    private EventResourceService eventResourceService;
    @Value("${domain.aesKey:}")
    private String aesKey;
    /**
     * 新增重点人群走访记录
     *
     * @param eventVisitingTasksAddDTO
     * @return 新增结果
     */
@@ -69,6 +74,7 @@
    /**
     * 修改重点人群走访记录
     *
     * @param eventVisitingTasksEditDTO
     * @return 维护结果
     */
@@ -84,6 +90,7 @@
    /**
     * 分页查找重点人群走访记录
     *
     * @param pageEventVisitingTasksDTO
     * @return 维护结果
     */
@@ -100,6 +107,7 @@
    /**
     * 删除重点人群走访记录
     *
     * @param EventVisitingTasksDeleteDTO
     * @return 平台用户信息
     */
@@ -109,6 +117,7 @@
    /**
     * 查询重点人群走访记录详细信息
     *
     * @param id 重点人群走访记录 id
     * @return 查找结果
     */
@@ -210,7 +219,6 @@
        return page.getRecords();
    }
    private void addVisitingTask(Long id, Map<String, Object> gridMap,Long communityId,Long userId) {
@@ -338,6 +346,68 @@
        return R.fail();
    }
    @Override
    public List<LcEventVisitingTasksListDTO> getUnUploadVisitingTask() {
        List<LcEventVisitingTasksListDTO> lcEventVisitingTasksList =new ArrayList<>();
        List<EventVisitingTasksDO> eventVisitingTasksList = baseMapper.selectList(
                new QueryWrapper<EventVisitingTasksDO>()
                        .eq("lc_upload", false)
                        .eq("event_status",2)
        );
        lcEventVisitingTasksList= CopyUtil.beanCopyList(eventVisitingTasksList,LcEventVisitingTasksListDTO.class);
        lcEventVisitingTasksList.forEach(visitingTasks -> {
            addVisitingTasksFile(visitingTasks);
        });
        return lcEventVisitingTasksList;
    }
    private LcEventVisitingTasksListDTO addVisitingTasksFile(LcEventVisitingTasksListDTO visitingTasks) {
        //查询事件关联附件
        List<EventResourceDO> eventResourceDOList =
                eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper<EventResourceDO>()
                        .eq(EventResourceDO::getClassification, 2)
                        .eq(EventResourceDO::getRefId, visitingTasks.getId())
                );
        List<EventResourceVO> picList = new ArrayList<>();
        List<EventResourceVO> audioList = new ArrayList<>();
        List<EventResourceVO> videoList = new ArrayList<>();
        eventResourceDOList.forEach(eventResourceDO -> {
            switch (eventResourceDO.getType()) {
                case 1:
                    EventResourceVO picEventResourceVO = new EventResourceVO();
                    BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
                    picList.add(picEventResourceVO);
                    break;
                case 2:
                    EventResourceVO audioResourceVO = new EventResourceVO();
                    BeanUtils.copyProperties(eventResourceDO, audioResourceVO);
                    audioList.add(audioResourceVO);
                    break;
                case 3:
                    EventResourceVO videoResourceVO = new EventResourceVO();
                    BeanUtils.copyProperties(eventResourceDO, videoResourceVO);
                    videoList.add(videoResourceVO);
                    break;
            }
        });
        visitingTasks.setAudios(audioList);
        visitingTasks.setPics(picList);
        visitingTasks.setVideos(videoList);
        return visitingTasks;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean updateLcUploadFlagVisitingTask(Long id) {
        EventVisitingTasksDO eventVisitingTasksDO = baseMapper.selectById(id);
        eventVisitingTasksDO.setLcUpload(true);
        int flag = baseMapper.updateById(eventVisitingTasksDO);
        if (flag > 0) {
            return true;
        }
        return false;
    }
    private void createResource(Long id, Long dellUserId, int classification, int type,String url) {
        EventResourceDO eventResourceDO = new EventResourceDO();
        eventResourceDO.setRefId(id);