bugfix: delete collection;

This commit is contained in:
shahaibo
2025-06-19 11:50:39 +08:00
parent d6285781f2
commit ea235b0d5c
10 changed files with 190 additions and 44 deletions

View File

@@ -387,6 +387,16 @@ public class GenerateConsumer {
String taskId = generateResult.getString("task_id"); String taskId = generateResult.getString("task_id");
userLikeGroupService.toProductBatch(taskId, url, progress); 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 { } else {
// 修改redis中的数据状态为exception // 修改redis中的数据状态为exception
@@ -440,6 +450,16 @@ public class GenerateConsumer {
String taskId = generateResult.getString("task_id"); String taskId = generateResult.getString("task_id");
userLikeGroupService.relightBatch(taskId, url, progress); 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 { } else {
// 修改redis中的数据状态为exception // 修改redis中的数据状态为exception

View File

@@ -1,5 +1,6 @@
package com.ai.da.common.config; package com.ai.da.common.config;
import com.ai.da.common.enums.CollectionLevel1TypeEnum;
import com.ai.da.common.utils.*; import com.ai.da.common.utils.*;
import com.ai.da.mapper.primary.*; import com.ai.da.mapper.primary.*;
import com.ai.da.mapper.primary.entity.*; 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.dto.*;
import com.ai.da.model.enums.CollectionType; import com.ai.da.model.enums.CollectionType;
import com.ai.da.model.enums.DesignProcess; 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.model.vo.ValidateElementVO;
import com.ai.da.python.PythonService; import com.ai.da.python.PythonService;
import com.ai.da.python.vo.DesignPythonObjects; 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.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@@ -65,8 +68,22 @@ public class MyTaskScheduler {
} }
private void collectionSortData() { private void collectionSortData() {
QueryWrapper<CollectionSort> qw = new QueryWrapper<>(); // ToProductElement更新project_id字段数据
QueryWrapper<ToProductElement> toProductElementQueryWrapper = new QueryWrapper<>();
List<ToProductElement> toProductElements = toProductELementMapper.selectList(toProductElementQueryWrapper);
// for (ToProductElement toProductElement : toProductElements) {
// Long userLikeGroupId = toProductElement.getUserLikeGroupId();
// QueryWrapper<UserLikeGroup> 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<CollectionSort> qw = new QueryWrapper<>();
List<CollectionSort> collectionSortList = collectionSortMapper.selectList(qw); List<CollectionSort> collectionSortList = collectionSortMapper.selectList(qw);
for (CollectionSort collectionSort : collectionSortList) { for (CollectionSort collectionSort : collectionSortList) {
Long userLikeGroupId = collectionSort.getUserLikeGroupId(); Long userLikeGroupId = collectionSort.getUserLikeGroupId();
@@ -85,6 +102,9 @@ public class MyTaskScheduler {
@Resource @Resource
private CollectionSortMapper collectionSortMapper; private CollectionSortMapper collectionSortMapper;
@Resource
private ToProductElementMapper toProductELementMapper;
@Resource @Resource
private AccountMapper accountMapper; private AccountMapper accountMapper;
@@ -681,6 +701,8 @@ public class MyTaskScheduler {
@Resource @Resource
private CollectionElementMapper collectionElementMapper; private CollectionElementMapper collectionElementMapper;
@Resource
private CollectionElementRelModelMapper collectionElementRelModelMapper;
@Resource @Resource
private CollectionElementService collectionElementService; private CollectionElementService collectionElementService;
@@ -1367,7 +1389,7 @@ public class MyTaskScheduler {
@Transactional @Transactional
public void projectDataCreate() { public void projectDataCreate() {
// TODO:UserLikeGroup转project待完善 // UserLikeGroup转project
// QueryWrapper<UserLikeGroup> qw = new QueryWrapper<>(); // QueryWrapper<UserLikeGroup> qw = new QueryWrapper<>();
// qw.lambda().ne(UserLikeGroup::getAccountId, -1); // qw.lambda().ne(UserLikeGroup::getAccountId, -1);
// List<UserLikeGroup> userLikeGroups = userLikeGroupMapper.selectList(qw); // List<UserLikeGroup> userLikeGroups = userLikeGroupMapper.selectList(qw);
@@ -1409,6 +1431,7 @@ public class MyTaskScheduler {
// if (!design.getSingleOverall().equals("overall")) { // if (!design.getSingleOverall().equals("overall")) {
// workspace.setPosition(design.getSwitchCategory()); // workspace.setPosition(design.getSwitchCategory());
// } // }
//
// workspace.setId(null); // workspace.setId(null);
// workspaceMapper.insert(workspace); // workspaceMapper.insert(workspace);
// //
@@ -1426,10 +1449,52 @@ public class MyTaskScheduler {
// collectionElement.setIsCompositeImage(1); // collectionElement.setIsCompositeImage(1);
// collectionElementMapper.updateById(collectionElement); // 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()); // userLikeGroup.setProjectId(project.getId());
// userLikeGroupMapper.updateById(userLikeGroup); // userLikeGroupMapper.updateById(userLikeGroup);
// } // }
// // toProductImage relight数据 // // 必须先完成project数据新增后再执行 toProductImage relight数据关联project
// QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>(); // QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
// List<Project> projects = projectMapper.selectList(projectQueryWrapper); // List<Project> projects = projectMapper.selectList(projectQueryWrapper);
// for (Project project : projects) { // for (Project project : projects) {
@@ -1455,8 +1520,8 @@ public class MyTaskScheduler {
// } // }
// // 画布数据 // // 画布数据
// QueryWrapper<ExportFile> exportFileQueryWrapper = new QueryWrapper<>(); // QueryWrapper<ExportFile> exportFileQueryWrapper = new QueryWrapper<>();
// exportFileQueryWrapper.lambda().ge(ExportFile::getId, 10); //// exportFileQueryWrapper.lambda().ge(ExportFile::getId, 10);
// exportFileQueryWrapper.lambda().le(ExportFile::getId, 86); //// exportFileQueryWrapper.lambda().le(ExportFile::getId, 86);
// List<ExportFile> exportFiles = exportFileMapper.selectList(exportFileQueryWrapper); // List<ExportFile> exportFiles = exportFileMapper.selectList(exportFileQueryWrapper);
// for (ExportFile exportFile : exportFiles) { // for (ExportFile exportFile : exportFiles) {
// Long userLikeGroupId = exportFile.getProjectId(); // Long userLikeGroupId = exportFile.getProjectId();
@@ -1467,7 +1532,23 @@ public class MyTaskScheduler {
// } // }
// } // }
// TODO:作品关联数据转json数据 // 作品关联数据转json数据
// 作品关联projectId
QueryWrapper<Portfolio> updateQueryWrapper = new QueryWrapper<>();
updateQueryWrapper.lambda().eq(Portfolio::getOpenSource, 1);
List<Portfolio> 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<Portfolio> portfolioQueryWrapper = new QueryWrapper<>(); QueryWrapper<Portfolio> portfolioQueryWrapper = new QueryWrapper<>();
portfolioQueryWrapper.lambda().eq(Portfolio::getOpenSource, 1); portfolioQueryWrapper.lambda().eq(Portfolio::getOpenSource, 1);

View File

@@ -45,6 +45,8 @@ public class CloudTask implements Serializable {
private LocalDateTime createTime; private LocalDateTime createTime;
private LocalDateTime startTime;
private LocalDateTime updateTime; private LocalDateTime updateTime;
private Long accountId; private Long accountId;

View File

@@ -35,7 +35,7 @@ public class Project implements Serializable {
private Long originalPortfolioId; private Long originalPortfolioId;
private Long parentId; // private Long parentId;
private LocalDateTime createTime; private LocalDateTime createTime;

View File

@@ -24,6 +24,7 @@ public class ToProductElement implements Serializable {
@ApiModelProperty(value = "url") @ApiModelProperty(value = "url")
private String url; private String url;
private String type;
@ApiModelProperty(value = "createTime") @ApiModelProperty(value = "createTime")
private LocalDateTime createTime; private LocalDateTime createTime;
} }

View File

@@ -110,7 +110,7 @@ public interface UserLikeGroupService extends IService<UserLikeGroup> {
Boolean brandDNADelete(BrandDNADTO brandDNADTO); 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); void relightBatch(String taskId, String url, String progress);
@@ -119,4 +119,8 @@ public interface UserLikeGroupService extends IService<UserLikeGroup> {
Boolean toProductImageElementDelete(Long id); Boolean toProductImageElementDelete(Long id);
ToProductElementVO convertRelightElement(Long id); ToProductElementVO convertRelightElement(Long id);
void startTask(String batchTaskId);
void completeTask(String batchTaskId);
} }

View File

@@ -1380,6 +1380,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
for (CollectionSort likeSort : userLikeSorts) { for (CollectionSort likeSort : userLikeSorts) {
if (Objects.equals(likeSort.getId(), userLikeSortId)) { if (Objects.equals(likeSort.getId(), userLikeSortId)) {
collectionSortMapper.deleteById(likeSort); collectionSortMapper.deleteById(likeSort);
deleteByParentId(likeSort.getId());
break; break;
}else { }else {
likeSort.setSort(likeSort.getSort() - 1); likeSort.setSort(likeSort.getSort() - 1);
@@ -1389,10 +1390,16 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
} }
} }
@Override private void deleteByParentId(Long parentId) {
public CollectionSort getUserLikeSortByUserLikeId(Long userLikeId, String relationType, Long projectId) {
QueryWrapper<CollectionSort> qw = new QueryWrapper<>(); QueryWrapper<CollectionSort> 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<CollectionSort> qw = new QueryWrapper<>();
qw.lambda().eq(CollectionSort::getRelationId, relationId);
qw.lambda().eq(CollectionSort::getRelationType, relationType); qw.lambda().eq(CollectionSort::getRelationType, relationType);
qw.lambda().eq(CollectionSort::getProjectId, projectId); qw.lambda().eq(CollectionSort::getProjectId, projectId);
CollectionSort userLikeSort = collectionSortMapper.selectOne(qw); CollectionSort userLikeSort = collectionSortMapper.selectOne(qw);
@@ -1915,6 +1922,15 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> 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); UserLikeGroup userLikeGroup = userLikeGroupService.getByProjectId(projectId);
Long userLikeGroupId = null; Long userLikeGroupId = null;
ToProductImageRecord toProductImageRecord = new ToProductImageRecord(); ToProductImageRecord toProductImageRecord = new ToProductImageRecord();
@@ -2052,16 +2068,6 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
} }
sb = new StringBuilder("The best quality, masterpiece, real image."); 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; return batchTaskId;
}else if (cloudTaskDTO.getBuildType().equals(BuildType.RELIGHT.getValue())) { }else if (cloudTaskDTO.getBuildType().equals(BuildType.RELIGHT.getValue())) {
ToProductImageDTO toProductImageDTO = cloudTaskDTO.getToProductImage(); ToProductImageDTO toProductImageDTO = cloudTaskDTO.getToProductImage();
@@ -2093,6 +2099,16 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> 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); UserLikeGroup userLikeGroup = userLikeGroupService.getByProjectId(projectId);
Long userLikeGroupId = null; Long userLikeGroupId = null;
@@ -2215,14 +2231,6 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString()); 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; return batchTaskId;
} else if (cloudTaskDTO.getBuildType().equals(BuildType.POSE_TRANSFORM.getValue())) { } else if (cloudTaskDTO.getBuildType().equals(BuildType.POSE_TRANSFORM.getValue())) {
Long projectId = cloudTaskDTO.getProjectId(); Long projectId = cloudTaskDTO.getProjectId();
@@ -2247,13 +2255,23 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
} }
} }
Long accountId = UserContext.getUserHolder().getId(); 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()); Boolean preDeduction = creditsService.creditsPreDeduction(Integer.parseInt(CreditsEventsEnum.POSE_TRANSFORMATION.getValue()) * cloudTaskDTO.getNums());
if (!preDeduction) { if (!preDeduction) {
throw new BusinessException("Your remaining credits are insufficient for this generation. Please recharge.", ResultEnum.WARNING.getCode()); throw new BusinessException("Your remaining credits are insufficient for this generation. Please recharge.", ResultEnum.WARNING.getCode());
} }
List<PoseTransformBatchDTO> poseTransformList = cloudTaskDTO.getPoseTransform(); List<PoseTransformBatchDTO> poseTransformList = cloudTaskDTO.getPoseTransform();
if (CollectionUtil.isNotEmpty(poseTransformList)) { if (CollectionUtil.isNotEmpty(poseTransformList)) {
String taskBatchId = UUID.randomUUID().toString() + "-" + accountId;
for (PoseTransformBatchDTO poseTransformBatchDTO : poseTransformList) { for (PoseTransformBatchDTO poseTransformBatchDTO : poseTransformList) {
// 1、判断用户当前积分是否够本次生成消耗 // 1、判断用户当前积分是否够本次生成消耗
CreditsEventsEnum creditsEventsEnum = CreditsEventsEnum.POSE_TRANSFORMATION; CreditsEventsEnum creditsEventsEnum = CreditsEventsEnum.POSE_TRANSFORMATION;
@@ -2282,14 +2300,6 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
throw new BusinessException("pose transformation error", ResultEnum.ERROR.getCode()); 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; return taskBatchId;
} }
} }
@@ -2918,7 +2928,12 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
libraryService.processSketchBoards(url, collectionElement.getLevel2Type()); libraryService.processSketchBoards(url, collectionElement.getLevel2Type());
}else if (receiveCollectionElement.getLevel1Type().equals(CollectionLevel1TypeEnum.COLOR_BOARD.getRealName())) { }else if (receiveCollectionElement.getLevel1Type().equals(CollectionLevel1TypeEnum.COLOR_BOARD.getRealName())) {
String color = receiveCollectionElement.getHsv(); 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]; int value = (hsv[0] * 101 * 101) + (hsv[1] * 101) + hsv[2];
ColorLookupTable colorLookupTable = colorLoopUpTableService.getByColorValue(value); ColorLookupTable colorLookupTable = colorLoopUpTableService.getByColorValue(value);
if (Objects.isNull(colorLookupTable)) { if (Objects.isNull(colorLookupTable)) {

View File

@@ -332,6 +332,7 @@ public class LLMServiceImpl implements LLMService {
ReceiveDesignParam receiveDesignParam = JSONObject.parseObject(JSONObject.toJSONString(toolsData), ReceiveDesignParam.class); ReceiveDesignParam receiveDesignParam = JSONObject.parseObject(JSONObject.toJSONString(toolsData), ReceiveDesignParam.class);
receiveDesignParam.setProjectId(projectId); receiveDesignParam.setProjectId(projectId);
designService.receiveDesignParams(receiveDesignParam); designService.receiveDesignParams(receiveDesignParam);
String contentSave = JSONObject.toJSONString(receiveDesignParam.getReceiveCollectionElementList());
for (ReceiveCollectionElement receiveCollectionElement : receiveDesignParam.getReceiveCollectionElementList()) { for (ReceiveCollectionElement receiveCollectionElement : receiveDesignParam.getReceiveCollectionElementList()) {
if (!StringUtils.isEmpty(receiveCollectionElement.getUrl())) { if (!StringUtils.isEmpty(receiveCollectionElement.getUrl())) {
color = false; color = false;
@@ -350,7 +351,7 @@ public class LLMServiceImpl implements LLMService {
systemImage.setProjectId(projectId); systemImage.setProjectId(projectId);
systemImage.setSeq(getNextSeq(projectId)); systemImage.setSeq(getNextSeq(projectId));
systemImage.setCreateTime(LocalDateTime.now()); systemImage.setCreateTime(LocalDateTime.now());
systemImage.setContent(JSONObject.toJSONString(receiveDesignParam.getReceiveCollectionElementList())); systemImage.setContent(contentSave);
systemImage.setAccountId(accountId); systemImage.setAccountId(accountId);
chatMessageMapper.insert(systemImage); chatMessageMapper.insert(systemImage);
} }

View File

@@ -58,7 +58,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
@Override @Override
public Set<Long> getChildProjectIdSet(Long projectId) { public Set<Long> getChildProjectIdSet(Long projectId) {
QueryWrapper<Project> qw = new QueryWrapper<>(); QueryWrapper<Project> qw = new QueryWrapper<>();
qw.lambda().eq(Project::getParentId, projectId); // qw.lambda().eq(Project::getParentId, projectId);
List<Project> projectList = projectMapper.selectList(qw); List<Project> projectList = projectMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(projectList)) { if (CollectionUtil.isNotEmpty(projectList)) {
return projectList.stream().map(Project::getId).collect(Collectors.toSet()); return projectList.stream().map(Project::getId).collect(Collectors.toSet());

View File

@@ -38,6 +38,7 @@ import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -2532,8 +2533,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
} }
@Override @Override
@Transactional @Transactional(isolation = Isolation.SERIALIZABLE)
public void toProductBatch(String taskId, String url, String progress) { public void toProductBatch(String taskId, String url, String progress) throws InterruptedException {
QueryWrapper<ToProductImageResult> qw = new QueryWrapper<>(); QueryWrapper<ToProductImageResult> qw = new QueryWrapper<>();
qw.lambda().eq(ToProductImageResult::getTaskId, taskId); qw.lambda().eq(ToProductImageResult::getTaskId, taskId);
ToProductImageResult toProductImageResult = toProductImageResultMapper.selectOne(qw); ToProductImageResult toProductImageResult = toProductImageResultMapper.selectOne(qw);
@@ -2544,7 +2545,9 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
log.info("toProductImage云生成 batchTaskId:" + taskIdBatch + " 完成数+1"); log.info("toProductImage云生成 batchTaskId:" + taskIdBatch + " 完成数+1");
CloudTask task = cloudTaskMapper.selectForUpdate(taskIdBatch); CloudTask task = cloudTaskMapper.selectForUpdate(taskIdBatch);
cloudTaskMapper.increaseCompletedNum(taskIdBatch); log.info("排查完成数量" + task.getCompletedNum());
task.setCompletedNum(task.getCompletedNum() + 1);
cloudTaskMapper.updateById(task);
String key = toProductImageResultKey + ":" + taskId; String key = toProductImageResultKey + ":" + taskId;
String imageName = url.substring(url.lastIndexOf("/") + 1); String imageName = url.substring(url.lastIndexOf("/") + 1);
@@ -2670,4 +2673,23 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductElementVO.setUrl(minioUtil.getPreSignedUrl(toProductElementVO.getUrl(), 24 * 60)); toProductElementVO.setUrl(minioUtil.getPreSignedUrl(toProductElementVO.getUrl(), 24 * 60));
return toProductElementVO; return toProductElementVO;
} }
@Override
public void startTask(String batchTaskId) {
QueryWrapper<CloudTask> 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<CloudTask> qw = new QueryWrapper<>();
qw.lambda().eq(CloudTask::getTaskId, batchTaskId);
CloudTask cloudTask = cloudTaskMapper.selectOne(qw);
cloudTask.setStatus(1);
cloudTask.setCompletedNum(cloudTask.getNums());
cloudTaskMapper.updateById(cloudTask);
}
} }