liusheng
2025-03-14 d5222c7ae76d34cf8a7e32fee1ed15c988c3b330
smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -149,6 +149,33 @@
            //修改
            patArchiveVO.setIsoperation(2);
            patArchiveMapper.updatePatArchive(patArchive);
            if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
                //不需要服务了,需要通过patid和sendstate=2或者sendstate=1去查询一下,service_subtask里是否有正在执行的任务,有的话,立即停了
                ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
                serviceSubtaskVO.setPatid(patArchive.getId());
                serviceSubtaskVO.setSendstate(2L);
                List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
                serviceSubtaskVO.setSendstate(1L);
                List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
                if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                    if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
                } else {
                    if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
                }
                //去redis中,查询是否有subid,有的话移除cache-exist
                if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                    for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                        log.error("需要移除的subId为:{}", serviceSubtask.getId().toString());
                        serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
                        redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
                        redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
                        redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
                        redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
                        redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
                        redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
                    }
                }
            }
        }
        if (CollectionUtils.isNotEmpty(patArchiveVO.getTagList())) {