huanghongfa
2021-10-09 1d1ee8c13e61958c6d5fc1a6bc3b819c68c19c04
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java
@@ -4,6 +4,7 @@
import javax.annotation.Resource;
import com.panzhihua.common.utlis.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -590,4 +591,69 @@
        return false;
    }
    /**
     * 定时任务-给上月已走访的人员创建定时任务
     * @return  执行结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R timedTaskVisitingJobHandler(){
        //需要创建的走访任务列表
        List<EventVisitingTasksDO> saveList = new ArrayList<>();
        //获取上月第一天时间
        Date lastMonthFirst = DateUtils.getLastMonthFirst();
        //获取上月最后一天时间
        Date lastMonthEnd = DateUtils.getLastMonthEnd();
        //查询上月已走访任务
        List<EventVisitingTasksDO> visitingTasksList = this.baseMapper.selectList(new QueryWrapper<EventVisitingTasksDO>().lambda()
                .eq(EventVisitingTasksDO::getEventStatus,EventVisitingTasksDO.eventStatus.yzf)
                .ge(EventVisitingTasksDO::getSubmitDate,lastMonthFirst)
                .le(EventVisitingTasksDO::getSubmitDate,lastMonthEnd));
        visitingTasksList.forEach(visitingTask -> {
            EventVisitingTasksDO visitingTasksDO = dataConversion(visitingTask);
            saveList.add(visitingTasksDO);
        });
        if(saveList.size() > 0){
            this.saveBatch(saveList);
        }
        return R.ok();
    }
    /**
     * 数据转换
     * @param oldVisitingTasksDO    请求参数
     * @return  转换后的对象
     */
    private EventVisitingTasksDO dataConversion(EventVisitingTasksDO oldVisitingTasksDO){
        //创建走访任务新对象
        EventVisitingTasksDO visitingTasksDO = new EventVisitingTasksDO();
        visitingTasksDO.setGridId(oldVisitingTasksDO.getGridId());
        visitingTasksDO.setGridMemberCommunity(oldVisitingTasksDO.getGridMemberCommunity());
        visitingTasksDO.setGridMemberStreet(oldVisitingTasksDO.getGridMemberStreet());
        visitingTasksDO.setVisiterId(oldVisitingTasksDO.getVisiterId());
        visitingTasksDO.setVisiterName(oldVisitingTasksDO.getVisiterName());
        visitingTasksDO.setVisiterSex(oldVisitingTasksDO.getVisiterSex());
        visitingTasksDO.setVisiterTele(oldVisitingTasksDO.getVisiterTele());
        visitingTasksDO.setVisiterAddress(oldVisitingTasksDO.getVisiterAddress());
        visitingTasksDO.setVisiterType(0);
        visitingTasksDO.setActOpara(0);
        visitingTasksDO.setHappentLatLng(oldVisitingTasksDO.getHappentLatLng());
        visitingTasksDO.setEventStatus(EventTasksStatusEnum.DZF.getCode());
        visitingTasksDO.setReporting(0);
        visitingTasksDO.setInvalid(false);
        visitingTasksDO.setUrgent(false);
        visitingTasksDO.setUrgentDell(false);
        visitingTasksDO.setCreateBy(oldVisitingTasksDO.getCreateBy());
        visitingTasksDO.setOutOrLocal(oldVisitingTasksDO.getOutOrLocal());
        if(oldVisitingTasksDO.getTableContentJson() != null){
            visitingTasksDO.setTableContentJson(oldVisitingTasksDO.getTableContentJson());
        }
        return visitingTasksDO;
    }
}