|
|
@@ -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);
|
|
|
+ }
|
|
|
+}
|