diff --git a/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java b/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java index 077891c0..8c319b97 100644 --- a/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java +++ b/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java @@ -387,6 +387,16 @@ public class GenerateConsumer { String taskId = generateResult.getString("task_id"); userLikeGroupService.toProductBatch(taskId, url, progress); } + } else if (progress.startsWith("0/")) { + String batchTaskId = generateResult.getString("task_id"); + if (!StringUtils.isEmpty(batchTaskId)) { + userLikeGroupService.startTask(batchTaskId); + } + } else if (progress.equals("OK")) { + String batchTaskId = generateResult.getString("task_id"); + if (!StringUtils.isEmpty(batchTaskId)) { + userLikeGroupService.completeTask(batchTaskId); + } } } else { // 修改redis中的数据状态为exception @@ -440,6 +450,16 @@ public class GenerateConsumer { String taskId = generateResult.getString("task_id"); userLikeGroupService.relightBatch(taskId, url, progress); } + } else if (progress.startsWith("0/")) { + String batchTaskId = generateResult.getString("task_id"); + if (!StringUtils.isEmpty(batchTaskId)) { + userLikeGroupService.startTask(batchTaskId); + } + } else if (progress.equals("OK")) { + String batchTaskId = generateResult.getString("task_id"); + if (!StringUtils.isEmpty(batchTaskId)) { + userLikeGroupService.completeTask(batchTaskId); + } } } else { // 修改redis中的数据状态为exception diff --git a/src/main/java/com/ai/da/common/config/MyTaskScheduler.java b/src/main/java/com/ai/da/common/config/MyTaskScheduler.java index 9204808b..b7af40f6 100644 --- a/src/main/java/com/ai/da/common/config/MyTaskScheduler.java +++ b/src/main/java/com/ai/da/common/config/MyTaskScheduler.java @@ -1,5 +1,6 @@ package com.ai.da.common.config; +import com.ai.da.common.enums.CollectionLevel1TypeEnum; import com.ai.da.common.utils.*; import com.ai.da.mapper.primary.*; import com.ai.da.mapper.primary.entity.*; @@ -8,6 +9,7 @@ import com.ai.da.mapper.secondary.AttributeRetrievalMapper; import com.ai.da.model.dto.*; import com.ai.da.model.enums.CollectionType; import com.ai.da.model.enums.DesignProcess; +import com.ai.da.model.enums.Sex; import com.ai.da.model.vo.ValidateElementVO; import com.ai.da.python.PythonService; import com.ai.da.python.vo.DesignPythonObjects; @@ -24,6 +26,7 @@ import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -65,8 +68,22 @@ public class MyTaskScheduler { } private void collectionSortData() { - QueryWrapper qw = new QueryWrapper<>(); + // ToProductElement更新project_id字段数据 + QueryWrapper toProductElementQueryWrapper = new QueryWrapper<>(); + List toProductElements = toProductELementMapper.selectList(toProductElementQueryWrapper); +// for (ToProductElement toProductElement : toProductElements) { +// Long userLikeGroupId = toProductElement.getUserLikeGroupId(); +// QueryWrapper userLikeGroupQueryWrapper = new QueryWrapper<>(); +// userLikeGroupQueryWrapper.lambda().eq(UserLikeGroup::getId, userLikeGroupId); +// UserLikeGroup userLikeGroup = userLikeGroupMapper.selectOne(userLikeGroupQueryWrapper); +// if (Objects.nonNull(userLikeGroup)) { +// toProductElement.setProjectId(userLikeGroup.getProjectId()); +// toProductElement.setType(CollectionType.DESIGN.getValue()); +// collectionSortMapper.updateById(collectionSort); +// } +// } + QueryWrapper qw = new QueryWrapper<>(); List collectionSortList = collectionSortMapper.selectList(qw); for (CollectionSort collectionSort : collectionSortList) { Long userLikeGroupId = collectionSort.getUserLikeGroupId(); @@ -84,6 +101,9 @@ public class MyTaskScheduler { @Resource private CollectionSortMapper collectionSortMapper; + + @Resource + private ToProductElementMapper toProductELementMapper; @Resource private AccountMapper accountMapper; @@ -681,6 +701,8 @@ public class MyTaskScheduler { @Resource private CollectionElementMapper collectionElementMapper; + @Resource + private CollectionElementRelModelMapper collectionElementRelModelMapper; @Resource private CollectionElementService collectionElementService; @@ -1367,7 +1389,7 @@ public class MyTaskScheduler { @Transactional public void projectDataCreate() { - // TODO:UserLikeGroup转project待完善 + // UserLikeGroup转project // QueryWrapper qw = new QueryWrapper<>(); // qw.lambda().ne(UserLikeGroup::getAccountId, -1); // List userLikeGroups = userLikeGroupMapper.selectList(qw); @@ -1409,6 +1431,7 @@ public class MyTaskScheduler { // if (!design.getSingleOverall().equals("overall")) { // workspace.setPosition(design.getSwitchCategory()); // } +// // workspace.setId(null); // workspaceMapper.insert(workspace); // @@ -1426,10 +1449,52 @@ public class MyTaskScheduler { // collectionElement.setIsCompositeImage(1); // collectionElementMapper.updateById(collectionElement); // } +// +// if (design.getModelType().equals("System")) { +// SysFile sysFile = sysFileMapper.selectById(design.getTemplateId()); +// +// CollectionElement collectionElement = new CollectionElement(); +// collectionElement.setAccountId(design.getAccountId()); +// collectionElement.setProjectId(project.getId()); +// collectionElement.setLevel1Type(CollectionLevel1TypeEnum.MODEL.getRealName()); +//// collectionElement.setLevel2Type(board.getLevel2Type()); +// collectionElement.setName(sysFile.getName()); +// collectionElement.setUrl(sysFile.getUrl()); +//// collectionElement.setHasPin(board.getIsPin()); +// collectionElement.setMd5(sysFile.getMd5()); +// collectionElement.setCreateDate(new Date()); +// collectionElement.setHasPin((byte) 0); +// collectionElementMapper.insert(collectionElement); +// CollectionElementRelModel collectionElementRelModel = new CollectionElementRelModel(); +// collectionElementRelModel.setCollectionElementId(collectionElement.getId()); +// collectionElementRelModel.setRelationId(sysFile.getId()); +// collectionElementRelModel.setRelationType("System"); +// collectionElementRelModelMapper.insert(collectionElementRelModel); +// }else { +// Library library = libraryMapper.selectById(design.getTemplateId()); +// CollectionElement collectionElement = new CollectionElement(); +// collectionElement.setAccountId(design.getAccountId()); +// collectionElement.setProjectId(project.getId()); +// collectionElement.setLevel1Type(CollectionLevel1TypeEnum.MODEL.getRealName()); +//// collectionElement.setLevel2Type(board.getLevel2Type()); +// collectionElement.setName(library.getName()); +// collectionElement.setUrl(library.getUrl()); +//// collectionElement.setHasPin(board.getIsPin()); +// collectionElement.setMd5(library.getMd5()); +// collectionElement.setCreateDate(new Date()); +// collectionElement.setHasPin((byte) 0); +// collectionElementMapper.insert(collectionElement); +// CollectionElementRelModel collectionElementRelModel = new CollectionElementRelModel(); +// collectionElementRelModel.setCollectionElementId(collectionElement.getId()); +// collectionElementRelModel.setRelationId(library.getId()); +// collectionElementRelModel.setRelationType("Library"); +// collectionElementRelModelMapper.insert(collectionElementRelModel); +// } +// // userLikeGroup.setProjectId(project.getId()); // userLikeGroupMapper.updateById(userLikeGroup); // } -// // toProductImage relight数据 +// // 必须先完成project数据新增后再执行 toProductImage relight数据关联project // QueryWrapper projectQueryWrapper = new QueryWrapper<>(); // List projects = projectMapper.selectList(projectQueryWrapper); // for (Project project : projects) { @@ -1455,8 +1520,8 @@ public class MyTaskScheduler { // } // // 画布数据 // QueryWrapper exportFileQueryWrapper = new QueryWrapper<>(); -// exportFileQueryWrapper.lambda().ge(ExportFile::getId, 10); -// exportFileQueryWrapper.lambda().le(ExportFile::getId, 86); +//// exportFileQueryWrapper.lambda().ge(ExportFile::getId, 10); +//// exportFileQueryWrapper.lambda().le(ExportFile::getId, 86); // List exportFiles = exportFileMapper.selectList(exportFileQueryWrapper); // for (ExportFile exportFile : exportFiles) { // Long userLikeGroupId = exportFile.getProjectId(); @@ -1467,7 +1532,23 @@ public class MyTaskScheduler { // } // } - // TODO:作品关联数据转json数据 + // 作品关联数据转json数据 + // 作品关联projectId + QueryWrapper updateQueryWrapper = new QueryWrapper<>(); + updateQueryWrapper.lambda().eq(Portfolio::getOpenSource, 1); + List portfolioListUpdate = portfolioMapper.selectList(updateQueryWrapper); + for (Portfolio portfolio : portfolioListUpdate) { + Long userLikeGroupSourceId = portfolio.getUserLikeGroupSourceId(); + UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(userLikeGroupSourceId); + if (Objects.nonNull(userLikeGroup)) { + portfolio.setProjectId(userLikeGroup.getProjectId()); + portfolioMapper.updateById(portfolio); + }else { + // TODO:考虑关闭二创 + portfolio.setOpenSource(0); + portfolioMapper.updateById(portfolio); + } + } // 查询作品 QueryWrapper portfolioQueryWrapper = new QueryWrapper<>(); portfolioQueryWrapper.lambda().eq(Portfolio::getOpenSource, 1); diff --git a/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java b/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java index 8f7fd88c..0446212a 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java @@ -45,6 +45,8 @@ public class CloudTask implements Serializable { private LocalDateTime createTime; + private LocalDateTime startTime; + private LocalDateTime updateTime; private Long accountId; diff --git a/src/main/java/com/ai/da/mapper/primary/entity/Project.java b/src/main/java/com/ai/da/mapper/primary/entity/Project.java index 642c6a82..4e75c7d9 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/Project.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/Project.java @@ -35,7 +35,7 @@ public class Project implements Serializable { private Long originalPortfolioId; - private Long parentId; +// private Long parentId; private LocalDateTime createTime; diff --git a/src/main/java/com/ai/da/mapper/primary/entity/ToProductElement.java b/src/main/java/com/ai/da/mapper/primary/entity/ToProductElement.java index 72ec9317..79e9b4d5 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/ToProductElement.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/ToProductElement.java @@ -24,6 +24,7 @@ public class ToProductElement implements Serializable { @ApiModelProperty(value = "url") private String url; + private String type; @ApiModelProperty(value = "createTime") private LocalDateTime createTime; } diff --git a/src/main/java/com/ai/da/service/UserLikeGroupService.java b/src/main/java/com/ai/da/service/UserLikeGroupService.java index 11e246b3..bf05b1c3 100644 --- a/src/main/java/com/ai/da/service/UserLikeGroupService.java +++ b/src/main/java/com/ai/da/service/UserLikeGroupService.java @@ -110,7 +110,7 @@ public interface UserLikeGroupService extends IService { Boolean brandDNADelete(BrandDNADTO brandDNADTO); - void toProductBatch(String taskId, String url, String progress); + void toProductBatch(String taskId, String url, String progress) throws InterruptedException; void relightBatch(String taskId, String url, String progress); @@ -119,4 +119,8 @@ public interface UserLikeGroupService extends IService { Boolean toProductImageElementDelete(Long id); ToProductElementVO convertRelightElement(Long id); + + void startTask(String batchTaskId); + + void completeTask(String batchTaskId); } diff --git a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java index 348646cb..3bc6df28 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -1380,6 +1380,7 @@ public class DesignServiceImpl extends ServiceImpl impleme for (CollectionSort likeSort : userLikeSorts) { if (Objects.equals(likeSort.getId(), userLikeSortId)) { collectionSortMapper.deleteById(likeSort); + deleteByParentId(likeSort.getId()); break; }else { likeSort.setSort(likeSort.getSort() - 1); @@ -1389,10 +1390,16 @@ public class DesignServiceImpl extends ServiceImpl impleme } } - @Override - public CollectionSort getUserLikeSortByUserLikeId(Long userLikeId, String relationType, Long projectId) { + private void deleteByParentId(Long parentId) { QueryWrapper qw = new QueryWrapper<>(); - qw.lambda().eq(CollectionSort::getRelationId, userLikeId); + qw.lambda().eq(CollectionSort::getParentId, parentId); + collectionSortMapper.delete(qw); + } + + @Override + public CollectionSort getUserLikeSortByUserLikeId(Long relationId, String relationType, Long projectId) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(CollectionSort::getRelationId, relationId); qw.lambda().eq(CollectionSort::getRelationType, relationType); qw.lambda().eq(CollectionSort::getProjectId, projectId); CollectionSort userLikeSort = collectionSortMapper.selectOne(qw); @@ -1915,6 +1922,15 @@ public class DesignServiceImpl extends ServiceImpl impleme } } } + CloudTask cloudTask = CopyUtil.copyObject(cloudTaskDTO, CloudTask.class); + cloudTask.setProjectId(projectId); + cloudTask.setTaskId(batchTaskId); + LocalDateTime now = LocalDateTime.now(); + cloudTask.setCreateTime(now); + cloudTask.setUpdateTime(now); + cloudTask.setStatus(0); + cloudTask.setAccountId(userInfo.getId()); + cloudTaskMapper.insert(cloudTask); UserLikeGroup userLikeGroup = userLikeGroupService.getByProjectId(projectId); Long userLikeGroupId = null; ToProductImageRecord toProductImageRecord = new ToProductImageRecord(); @@ -2052,16 +2068,6 @@ public class DesignServiceImpl extends ServiceImpl impleme } sb = new StringBuilder("The best quality, masterpiece, real image."); } - - CloudTask cloudTask = CopyUtil.copyObject(cloudTaskDTO, CloudTask.class); - cloudTask.setProjectId(projectId); - cloudTask.setTaskId(batchTaskId); - LocalDateTime now = LocalDateTime.now(); - cloudTask.setCreateTime(now); - cloudTask.setUpdateTime(now); - cloudTask.setStatus(0); - cloudTask.setAccountId(userInfo.getId()); - cloudTaskMapper.insert(cloudTask); return batchTaskId; }else if (cloudTaskDTO.getBuildType().equals(BuildType.RELIGHT.getValue())) { ToProductImageDTO toProductImageDTO = cloudTaskDTO.getToProductImage(); @@ -2093,6 +2099,16 @@ public class DesignServiceImpl extends ServiceImpl impleme } } } + + CloudTask cloudTask = CopyUtil.copyObject(cloudTaskDTO, CloudTask.class); + cloudTask.setProjectId(projectId); + cloudTask.setTaskId(batchTaskId); + LocalDateTime now = LocalDateTime.now(); + cloudTask.setCreateTime(now); + cloudTask.setUpdateTime(now); + cloudTask.setStatus(0); + cloudTaskMapper.insert(cloudTask); + UserLikeGroup userLikeGroup = userLikeGroupService.getByProjectId(projectId); Long userLikeGroupId = null; @@ -2215,14 +2231,6 @@ public class DesignServiceImpl extends ServiceImpl impleme pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString()); } } - CloudTask cloudTask = CopyUtil.copyObject(cloudTaskDTO, CloudTask.class); - cloudTask.setProjectId(projectId); - cloudTask.setTaskId(batchTaskId); - LocalDateTime now = LocalDateTime.now(); - cloudTask.setCreateTime(now); - cloudTask.setUpdateTime(now); - cloudTask.setStatus(0); - cloudTaskMapper.insert(cloudTask); return batchTaskId; } else if (cloudTaskDTO.getBuildType().equals(BuildType.POSE_TRANSFORM.getValue())) { Long projectId = cloudTaskDTO.getProjectId(); @@ -2247,13 +2255,23 @@ public class DesignServiceImpl extends ServiceImpl impleme } } Long accountId = UserContext.getUserHolder().getId(); + String taskBatchId = UUID.randomUUID().toString() + "-" + accountId; + + CloudTask cloudTask = CopyUtil.copyObject(cloudTaskDTO, CloudTask.class); + cloudTask.setProjectId(cloudTask.getProjectId()); + cloudTask.setTaskId(taskBatchId); + LocalDateTime now = LocalDateTime.now(); + cloudTask.setCreateTime(now); + cloudTask.setUpdateTime(now); + cloudTask.setStatus(0); + cloudTaskMapper.insert(cloudTask); + Boolean preDeduction = creditsService.creditsPreDeduction(Integer.parseInt(CreditsEventsEnum.POSE_TRANSFORMATION.getValue()) * cloudTaskDTO.getNums()); if (!preDeduction) { throw new BusinessException("Your remaining credits are insufficient for this generation. Please recharge.", ResultEnum.WARNING.getCode()); } List poseTransformList = cloudTaskDTO.getPoseTransform(); if (CollectionUtil.isNotEmpty(poseTransformList)) { - String taskBatchId = UUID.randomUUID().toString() + "-" + accountId; for (PoseTransformBatchDTO poseTransformBatchDTO : poseTransformList) { // 1、判断用户当前积分是否够本次生成消耗 CreditsEventsEnum creditsEventsEnum = CreditsEventsEnum.POSE_TRANSFORMATION; @@ -2282,14 +2300,6 @@ public class DesignServiceImpl extends ServiceImpl impleme throw new BusinessException("pose transformation error", ResultEnum.ERROR.getCode()); } } - CloudTask cloudTask = CopyUtil.copyObject(cloudTaskDTO, CloudTask.class); - cloudTask.setProjectId(cloudTask.getProjectId()); - cloudTask.setTaskId(taskBatchId); - LocalDateTime now = LocalDateTime.now(); - cloudTask.setCreateTime(now); - cloudTask.setUpdateTime(now); - cloudTask.setStatus(0); - cloudTaskMapper.insert(cloudTask); return taskBatchId; } } @@ -2918,7 +2928,12 @@ public class DesignServiceImpl extends ServiceImpl impleme libraryService.processSketchBoards(url, collectionElement.getLevel2Type()); }else if (receiveCollectionElement.getLevel1Type().equals(CollectionLevel1TypeEnum.COLOR_BOARD.getRealName())) { String color = receiveCollectionElement.getHsv(); - int[] hsv = Arrays.stream(color.split("\\s+")).mapToInt(Integer::parseInt).toArray(); + String[] parts = color.split("\\s+"); + int h = Math.round(Float.parseFloat(parts[0])); + int s = Math.round(Float.parseFloat(parts[1])); // 关键修改 + int v = Math.round(Float.parseFloat(parts[2])); + int[] hsv = {h, s, v}; +// int[] hsv = Arrays.stream(color.split("\\s+")).mapToInt(Integer::parseInt).toArray(); int value = (hsv[0] * 101 * 101) + (hsv[1] * 101) + hsv[2]; ColorLookupTable colorLookupTable = colorLoopUpTableService.getByColorValue(value); if (Objects.isNull(colorLookupTable)) { diff --git a/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java b/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java index 75111708..729c764f 100644 --- a/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/LLMServiceImpl.java @@ -332,6 +332,7 @@ public class LLMServiceImpl implements LLMService { ReceiveDesignParam receiveDesignParam = JSONObject.parseObject(JSONObject.toJSONString(toolsData), ReceiveDesignParam.class); receiveDesignParam.setProjectId(projectId); designService.receiveDesignParams(receiveDesignParam); + String contentSave = JSONObject.toJSONString(receiveDesignParam.getReceiveCollectionElementList()); for (ReceiveCollectionElement receiveCollectionElement : receiveDesignParam.getReceiveCollectionElementList()) { if (!StringUtils.isEmpty(receiveCollectionElement.getUrl())) { color = false; @@ -350,7 +351,7 @@ public class LLMServiceImpl implements LLMService { systemImage.setProjectId(projectId); systemImage.setSeq(getNextSeq(projectId)); systemImage.setCreateTime(LocalDateTime.now()); - systemImage.setContent(JSONObject.toJSONString(receiveDesignParam.getReceiveCollectionElementList())); + systemImage.setContent(contentSave); systemImage.setAccountId(accountId); chatMessageMapper.insert(systemImage); } diff --git a/src/main/java/com/ai/da/service/impl/ProjectServiceImpl.java b/src/main/java/com/ai/da/service/impl/ProjectServiceImpl.java index 0631e0fc..b25fb0e5 100644 --- a/src/main/java/com/ai/da/service/impl/ProjectServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/ProjectServiceImpl.java @@ -58,7 +58,7 @@ public class ProjectServiceImpl extends ServiceImpl impl @Override public Set getChildProjectIdSet(Long projectId) { QueryWrapper qw = new QueryWrapper<>(); - qw.lambda().eq(Project::getParentId, projectId); +// qw.lambda().eq(Project::getParentId, projectId); List projectList = projectMapper.selectList(qw); if (CollectionUtil.isNotEmpty(projectList)) { return projectList.stream().map(Project::getId).collect(Collectors.toSet()); diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index 2ddbc065..2e5eef71 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -38,6 +38,7 @@ import io.netty.util.internal.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -2532,8 +2533,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(ToProductImageResult::getTaskId, taskId); ToProductImageResult toProductImageResult = toProductImageResultMapper.selectOne(qw); @@ -2544,7 +2545,9 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); + qw.lambda().eq(CloudTask::getTaskId, batchTaskId); + CloudTask cloudTask = cloudTaskMapper.selectOne(qw); + cloudTask.setStartTime(LocalDateTime.now()); + cloudTaskMapper.updateById(cloudTask); + } + + @Override + public void completeTask(String batchTaskId) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(CloudTask::getTaskId, batchTaskId); + CloudTask cloudTask = cloudTaskMapper.selectOne(qw); + cloudTask.setStatus(1); + cloudTask.setCompletedNum(cloudTask.getNums()); + cloudTaskMapper.updateById(cloudTask); + } }