|  | @@ -0,0 +1,164 @@
 | 
											
												
													
														|  | 
 |  | +package com.xunmei.core.access.service.impl;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import com.alibaba.nacos.common.utils.CollectionUtils;
 | 
											
												
													
														|  | 
 |  | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
											
												
													
														|  | 
 |  | +import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 | 
											
												
													
														|  | 
 |  | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.exception.ServiceException;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.utils.DateUtils;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.utils.StringUtils;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.utils.bean.BeanUtils;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.security.utils.SecurityUtils;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.access.domain.CoreMonitoringTaskRegistration;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.access.mapper.CoreMonitoringTaskMonitorInfoMapper;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationService;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.context.annotation.Lazy;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.stereotype.Service;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import java.util.Arrays;
 | 
											
												
													
														|  | 
 |  | +import java.util.List;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +/**
 | 
											
												
													
														|  | 
 |  | + * 【请填写功能名称】Service业务层处理
 | 
											
												
													
														|  | 
 |  | + *
 | 
											
												
													
														|  | 
 |  | + * @author xunmei
 | 
											
												
													
														|  | 
 |  | + * @date 2023-08-28
 | 
											
												
													
														|  | 
 |  | + */
 | 
											
												
													
														|  | 
 |  | +@Service
 | 
											
												
													
														|  | 
 |  | +public class CoreMonitoringTaskRegistrationServiceImpl extends ServiceImpl<CoreMonitoringTaskRegistrationMapper, CoreMonitoringTaskRegistration> implements ICoreMonitoringTaskRegistrationService {
 | 
											
												
													
														|  | 
 |  | +    private static final String ONE = "1";
 | 
											
												
													
														|  | 
 |  | +    private static final String TWO = "2";
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private ICoreMonitoringRetrievalTaskService iCoreMonitoringRetrievalTaskService;//任务
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private CoreMonitoringRetrievalTaskMapper coreMonitoringRetrievalTaskMapper;//任务
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private CoreMonitoringTaskMonitorInfoMapper coreMonitoringTaskMonitorInfoMapper;//项目
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 查询【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param id 【请填写功能名称】主键
 | 
											
												
													
														|  | 
 |  | +     * @return 【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public CoreMonitoringTaskRegistrationVO selectCoreMonitoringTaskRegistrationById(Long id) {
 | 
											
												
													
														|  | 
 |  | +        CoreMonitoringTaskRegistrationVO coreMonitoringTaskRegistrationVO = new CoreMonitoringTaskRegistrationVO();
 | 
											
												
													
														|  | 
 |  | +        CoreMonitoringTaskRegistration coreMonitoringTaskRegistration = coreMonitoringTaskRegistrationMapper.selectById(id);
 | 
											
												
													
														|  | 
 |  | +        BeanUtils.copyProperties(coreMonitoringTaskRegistration, coreMonitoringTaskRegistrationVO);
 | 
											
												
													
														|  | 
 |  | +        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = iCoreMonitoringRetrievalTaskService.selectCoreMonitoringRetrievalTaskById(coreMonitoringTaskRegistration.getTaskId());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringTaskRegistrationVO.setTaskName(coreMonitoringRetrievalTask.getTaskName());
 | 
											
												
													
														|  | 
 |  | +        return coreMonitoringTaskRegistrationVO;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 查询【请填写功能名称】列表
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param coreMonitoringTaskRegistration 【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     * @return 【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public List<CoreMonitoringTaskRegistration> selectCoreMonitoringTaskRegistrationList(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
 | 
											
												
													
														|  | 
 |  | +        return coreMonitoringTaskRegistrationMapper.selectList(new QueryWrapper<>(coreMonitoringTaskRegistration));
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 新增【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param coreMonitoringTaskRegistration 【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     * @return 结果
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public int insertCoreMonitoringTaskRegistration(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
 | 
											
												
													
														|  | 
 |  | +        //jiaoyan
 | 
											
												
													
														|  | 
 |  | +        QueryWrapper queryWrapper = new QueryWrapper();
 | 
											
												
													
														|  | 
 |  | +        queryWrapper.eq("task_id", coreMonitoringTaskRegistration.getTaskId());
 | 
											
												
													
														|  | 
 |  | +        queryWrapper.eq("del_flag", 0);
 | 
											
												
													
														|  | 
 |  | +        List<CoreMonitoringTaskRegistration> list = baseMapper.selectList(queryWrapper);
 | 
											
												
													
														|  | 
 |  | +        if (CollectionUtils.isNotEmpty(list)) {
 | 
											
												
													
														|  | 
 |  | +            if (StringUtils.isEmpty(coreMonitoringTaskRegistration.getEndNfc()) && StringUtils.isEmpty(coreMonitoringTaskRegistration.getEndPicture())) {
 | 
											
												
													
														|  | 
 |  | +                throw new ServiceException("请勿重复扫描");
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +            CoreMonitoringTaskRegistration coreMonitoringTaskRegistration1 = list.get(0);
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration1.setEndPicture(coreMonitoringTaskRegistration.getEndPicture());
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration1.setEndNfc(coreMonitoringTaskRegistration.getEndNfc());
 | 
											
												
													
														|  | 
 |  | +            Long time = DateUtils.getNowDate().getTime() - coreMonitoringTaskRegistration1.getTaskStartTime().getTime();
 | 
											
												
													
														|  | 
 |  | +            Double avg = (double) time / 1000 / 3600;
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration1.setAverageDuration(Double.valueOf(String.format("%.2f", avg)));
 | 
											
												
													
														|  | 
 |  | +            return baseMapper.updateById(coreMonitoringTaskRegistration1);
 | 
											
												
													
														|  | 
 |  | +        } else {
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration.setCreateTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration.setTaskStartTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration.setDelFlag("0");
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration.setCreateBy(SecurityUtils.getUsername());
 | 
											
												
													
														|  | 
 |  | +            //修改任务状态为进行中
 | 
											
												
													
														|  | 
 |  | +            CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = coreMonitoringRetrievalTaskMapper.selectCoreMonitoringRetrievalTaskById(coreMonitoringTaskRegistration.getTaskId());
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringRetrievalTask.setStatus(ONE);
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringRetrievalTask.setStartTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringRetrievalTaskMapper.updateById(coreMonitoringRetrievalTask);
 | 
											
												
													
														|  | 
 |  | +            coreMonitoringTaskRegistration.setId(IdWorker.getId());
 | 
											
												
													
														|  | 
 |  | +            return coreMonitoringTaskRegistrationMapper.insert(coreMonitoringTaskRegistration);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 修改【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param coreMonitoringTaskRegistration 【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     * @return 结果
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public int updateCoreMonitoringTaskRegistration(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringTaskRegistration.setUpdateTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringTaskRegistration.setUpdateBy(SecurityUtils.getUsername());
 | 
											
												
													
														|  | 
 |  | +        //修改任务状态已完成
 | 
											
												
													
														|  | 
 |  | +        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = coreMonitoringRetrievalTaskMapper.selectCoreMonitoringRetrievalTaskById(coreMonitoringTaskRegistration.getTaskId());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setStatus(TWO);
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setEndTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setUpdateBy(SecurityUtils.getUsername());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setUpdateTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setSubmitTime(DateUtils.getNowDate());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setRetrievalUser(SecurityUtils.getUserId());
 | 
											
												
													
														|  | 
 |  | +        int i = coreMonitoringTaskMonitorInfoMapper.selectAbnormalByTaskId(coreMonitoringTaskRegistration.getTaskId());
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTask.setExceptionCount(i);
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringRetrievalTaskMapper.updateCoreMonitoringRetrievalTask(coreMonitoringRetrievalTask);
 | 
											
												
													
														|  | 
 |  | +        return coreMonitoringTaskRegistrationMapper.updateById(coreMonitoringTaskRegistration);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 批量删除【请填写功能名称】
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param ids 需要删除的【请填写功能名称】主键
 | 
											
												
													
														|  | 
 |  | +     * @return 结果
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public int deleteCoreMonitoringTaskRegistrationByIds(Long[] ids) {
 | 
											
												
													
														|  | 
 |  | +        return coreMonitoringTaskRegistrationMapper.deleteBatchIds(Arrays.asList((ids)));
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    /**
 | 
											
												
													
														|  | 
 |  | +     * 删除【请填写功能名称】信息
 | 
											
												
													
														|  | 
 |  | +     *
 | 
											
												
													
														|  | 
 |  | +     * @param id 【请填写功能名称】主键
 | 
											
												
													
														|  | 
 |  | +     * @return 结果
 | 
											
												
													
														|  | 
 |  | +     */
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public int deleteCoreMonitoringTaskRegistrationById(Long id) {
 | 
											
												
													
														|  | 
 |  | +        return coreMonitoringTaskRegistrationMapper.deleteById(id);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public void deleteByTaskId(Long taskId) {
 | 
											
												
													
														|  | 
 |  | +        coreMonitoringTaskRegistrationMapper.deleteByTaskId(taskId);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 |