From b01f5f59d1fdbe7b3ce7be75a902638f08c572b2 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Fri, 27 Jun 2025 09:59:08 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=20=E6=95=B0=E6=8D=AE=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E6=8B=86=E5=88=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/common/config/MyTaskScheduler.java | 301 ++++++++++-------- .../da/mapper/primary/entity/ChatMessage.java | 8 + .../ai/da/service/impl/DesignServiceImpl.java | 10 +- 3 files changed, 174 insertions(+), 145 deletions(-) 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 8bece294..f294e84b 100644 --- a/src/main/java/com/ai/da/common/config/MyTaskScheduler.java +++ b/src/main/java/com/ai/da/common/config/MyTaskScheduler.java @@ -1418,150 +1418,22 @@ public class MyTaskScheduler { @Transactional public void projectDataCreate() { // UserLikeGroup转project -// QueryWrapper qw = new QueryWrapper<>(); -// qw.lambda().ne(UserLikeGroup::getAccountId, -1); -// List userLikeGroups = userLikeGroupMapper.selectList(qw); -// for (UserLikeGroup userLikeGroup : userLikeGroups) { -// Project project = new Project(); -// project.setAccountId(userLikeGroup.getAccountId()); -// project.setName(userLikeGroup.getName()); -// project.setCreateTime(LocalDateTime.ofInstant(userLikeGroup.getCreateDate().toInstant(), ZoneId.systemDefault())); -// project.setUpdateTime(LocalDateTime.ofInstant(userLikeGroup.getUpdateDate().toInstant(), ZoneId.systemDefault())); -// project.setOriginal(userLikeGroup.getOriginal()); -// project.setOriginalAccountId(userLikeGroup.getOriginalAccountId()); -// project.setOriginalPortfolioId(userLikeGroup.getOriginalPortfolioId()); -// -// QueryWrapper designQueryWrapper = new QueryWrapper<>(); -// designQueryWrapper.lambda().eq(Design::getCollectionId, userLikeGroup.getCollectionId()); -// Design design = designMapper.selectOne(designQueryWrapper); -// if (Objects.isNull(design)) { -// System.out.println(userLikeGroup.getCollectionId()); -// continue; -// } -// if (design.getSingleOverall().equals("overall")) { -// project.setProcess(DesignProcess.SERIES_DESIGN.name()); -// }else { -// project.setProcess(DesignProcess.SINGLE_DESIGN.name()); -// } -// projectMapper.insert(project); -// Long accountId = userLikeGroup.getAccountId(); -// QueryWrapper workspaceQueryWrapper = new QueryWrapper<>(); -// workspaceQueryWrapper.lambda().eq(Workspace::getAccountId, accountId); -// workspaceQueryWrapper.lambda().eq(Workspace::getIsLastIndex, 1); -// Workspace workspace = workspaceMapper.selectOne(workspaceQueryWrapper); -// if (Objects.isNull(workspace)) { -// System.out.println(accountId); -// continue; -// } -// workspace.setIsLastIndex(0); -// workspace.setProjectId(project.getId()); -// workspace.setSystemDesignerPercentage(design.getSystemScale().multiply(new BigDecimal("100")).setScale(0, RoundingMode.HALF_UP).intValueExact()); -// if (!design.getSingleOverall().equals("overall")) { -// workspace.setPosition(design.getSwitchCategory()); -// } -// -// workspace.setId(null); -// workspaceMapper.insert(workspace); -// -// QueryWrapper collectionElementQueryWrapper = new QueryWrapper<>(); -// collectionElementQueryWrapper.lambda().eq(CollectionElement::getCollectionId, userLikeGroup.getCollectionId()); -// List collectionElements = collectionElementMapper.selectList(collectionElementQueryWrapper); -// for (CollectionElement collectionElement : collectionElements) { -// collectionElement.setProjectId(project.getId()); -// collectionElementMapper.updateById(collectionElement); -// } -// Collection collection = collectionMapper.selectById(userLikeGroup.getCollectionId()); -// if (collection.getMoodTemplateId() != null) { -// CollectionElement collectionElement = collectionElementMapper.selectById(collection.getMoodTemplateId()); -// collectionElement.setProjectId(userLikeGroup.getProjectId()); -// 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); -// } -// // 必须先完成project数据新增后再执行 toProductImage relight数据关联project -// QueryWrapper projectQueryWrapper = new QueryWrapper<>(); -// List projects = projectMapper.selectList(projectQueryWrapper); -// for (Project project : projects) { -// UserLikeGroup userLikeGroup = userLikeGroupService.getByProjectId(project.getId()); -// if (Objects.nonNull(userLikeGroup)) { -// Long userLikeGroupId = userLikeGroup.getId(); -// QueryWrapper toProductImageRecordQueryWrapper = new QueryWrapper<>(); -// toProductImageRecordQueryWrapper.lambda().eq(ToProductImageRecord::getUserLikeGroupId, userLikeGroupId); -// List toProductImageRecords = toProductImageRecordMapper.selectList(toProductImageRecordQueryWrapper); -// for (ToProductImageRecord toProductImageRecord : toProductImageRecords) { -// toProductImageRecord.setProjectId(project.getId()); -// toProductImageRecordMapper.updateById(toProductImageRecord); -// } -// -// QueryWrapper toProductImageResultQueryWrapper = new QueryWrapper<>(); -// toProductImageResultQueryWrapper.lambda().eq(ToProductImageResult::getUserLikeGroupId, userLikeGroupId); -// List toProductImageResults = toProductImageResultMapper.selectList(toProductImageResultQueryWrapper); -// for (ToProductImageResult toProductImageResult : toProductImageResults) { -// toProductImageResult.setProjectId(project.getId()); -// toProductImageResultMapper.updateById(toProductImageResult); -// } -// } -// } -// // 画布数据 -// QueryWrapper exportFileQueryWrapper = new QueryWrapper<>(); -//// 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(); -// UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(userLikeGroupId); -// if (Objects.nonNull(userLikeGroup)) { -// exportFile.setProjectId(userLikeGroup.getProjectId()); -// exportFileMapper.updateById(exportFile); -// } -// } + userLikeGroupConvertProject(); + + + // 必须先完成project数据新增后再执行 toProductImage relight数据关联project + toProductRelightRelationProject(); + + // 画布数据 + canvasData(); // 作品关联数据转json数据 // 作品关联projectId + portfolioData(); + + } + + private void portfolioData() { QueryWrapper updateQueryWrapper = new QueryWrapper<>(); updateQueryWrapper.lambda().eq(Portfolio::getOpenSource, 1); List portfolioListUpdate = portfolioMapper.selectList(updateQueryWrapper); @@ -1692,6 +1564,153 @@ public class MyTaskScheduler { } } } + } + private void canvasData() { + QueryWrapper exportFileQueryWrapper = new QueryWrapper<>(); +// 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(); + UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(userLikeGroupId); + if (Objects.nonNull(userLikeGroup)) { + exportFile.setProjectId(userLikeGroup.getProjectId()); + exportFileMapper.updateById(exportFile); + } + } + } + + private void toProductRelightRelationProject() { + QueryWrapper projectQueryWrapper = new QueryWrapper<>(); + List projects = projectMapper.selectList(projectQueryWrapper); + for (Project project : projects) { + UserLikeGroup userLikeGroup = userLikeGroupService.getByProjectId(project.getId()); + if (Objects.nonNull(userLikeGroup)) { + Long userLikeGroupId = userLikeGroup.getId(); + QueryWrapper toProductImageRecordQueryWrapper = new QueryWrapper<>(); + toProductImageRecordQueryWrapper.lambda().eq(ToProductImageRecord::getUserLikeGroupId, userLikeGroupId); + List toProductImageRecords = toProductImageRecordMapper.selectList(toProductImageRecordQueryWrapper); + for (ToProductImageRecord toProductImageRecord : toProductImageRecords) { + toProductImageRecord.setProjectId(project.getId()); + toProductImageRecordMapper.updateById(toProductImageRecord); + } + + QueryWrapper toProductImageResultQueryWrapper = new QueryWrapper<>(); + toProductImageResultQueryWrapper.lambda().eq(ToProductImageResult::getUserLikeGroupId, userLikeGroupId); + List toProductImageResults = toProductImageResultMapper.selectList(toProductImageResultQueryWrapper); + for (ToProductImageResult toProductImageResult : toProductImageResults) { + toProductImageResult.setProjectId(project.getId()); + toProductImageResultMapper.updateById(toProductImageResult); + } + } + } + } + + private void userLikeGroupConvertProject() { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().ne(UserLikeGroup::getAccountId, -1); + List userLikeGroups = userLikeGroupMapper.selectList(qw); + for (UserLikeGroup userLikeGroup : userLikeGroups) { + Project project = new Project(); + project.setAccountId(userLikeGroup.getAccountId()); + project.setName(userLikeGroup.getName()); + project.setCreateTime(LocalDateTime.ofInstant(userLikeGroup.getCreateDate().toInstant(), ZoneId.systemDefault())); + project.setUpdateTime(LocalDateTime.ofInstant(userLikeGroup.getUpdateDate().toInstant(), ZoneId.systemDefault())); + project.setOriginal(userLikeGroup.getOriginal()); + project.setOriginalAccountId(userLikeGroup.getOriginalAccountId()); + project.setOriginalPortfolioId(userLikeGroup.getOriginalPortfolioId()); + + QueryWrapper designQueryWrapper = new QueryWrapper<>(); + designQueryWrapper.lambda().eq(Design::getCollectionId, userLikeGroup.getCollectionId()); + Design design = designMapper.selectOne(designQueryWrapper); + if (Objects.isNull(design)) { + System.out.println(userLikeGroup.getCollectionId()); + continue; + } + if (design.getSingleOverall().equals("overall")) { + project.setProcess(DesignProcess.SERIES_DESIGN.name()); + }else { + project.setProcess(DesignProcess.SINGLE_DESIGN.name()); + } + projectMapper.insert(project); + Long accountId = userLikeGroup.getAccountId(); + QueryWrapper workspaceQueryWrapper = new QueryWrapper<>(); + workspaceQueryWrapper.lambda().eq(Workspace::getAccountId, accountId); + workspaceQueryWrapper.lambda().eq(Workspace::getIsLastIndex, 1); + Workspace workspace = workspaceMapper.selectOne(workspaceQueryWrapper); + if (Objects.isNull(workspace)) { + System.out.println(accountId); + continue; + } + workspace.setIsLastIndex(0); + workspace.setProjectId(project.getId()); + workspace.setSystemDesignerPercentage(design.getSystemScale().multiply(new BigDecimal("100")).setScale(0, RoundingMode.HALF_UP).intValueExact()); + if (!design.getSingleOverall().equals("overall")) { + workspace.setPosition(design.getSwitchCategory()); + } + + workspace.setId(null); + workspaceMapper.insert(workspace); + + QueryWrapper collectionElementQueryWrapper = new QueryWrapper<>(); + collectionElementQueryWrapper.lambda().eq(CollectionElement::getCollectionId, userLikeGroup.getCollectionId()); + List collectionElements = collectionElementMapper.selectList(collectionElementQueryWrapper); + for (CollectionElement collectionElement : collectionElements) { + collectionElement.setProjectId(project.getId()); + collectionElementMapper.updateById(collectionElement); + } + Collection collection = collectionMapper.selectById(userLikeGroup.getCollectionId()); + if (collection.getMoodTemplateId() != null) { + CollectionElement collectionElement = collectionElementMapper.selectById(collection.getMoodTemplateId()); + collectionElement.setProjectId(userLikeGroup.getProjectId()); + 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); + } } } diff --git a/src/main/java/com/ai/da/mapper/primary/entity/ChatMessage.java b/src/main/java/com/ai/da/mapper/primary/entity/ChatMessage.java index 70859881..5b946bc9 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/ChatMessage.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/ChatMessage.java @@ -3,6 +3,7 @@ package com.ai.da.mapper.primary.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -21,17 +22,24 @@ public class ChatMessage implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Long id; + @ApiModelProperty("项目ID") private Long projectId; + @ApiModelProperty("角色system/user") private String role; + @ApiModelProperty("排序") private Integer seq; + @ApiModelProperty("内容") private String content; + @ApiModelProperty("用户ID") private Long accountId; + @ApiModelProperty("0对话内容1颜色2图片") private Integer isImage; + @ApiModelProperty("创建时间") private LocalDateTime createTime; } 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 6aea3cf6..4a303f76 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -2250,6 +2250,12 @@ public class DesignServiceImpl extends ServiceImpl impleme } return batchTaskId; } else if (cloudTaskDTO.getBuildType().equals(BuildType.POSE_TRANSFORM.getValue())) { + + Boolean preDeduction = creditsService.creditsPreDeduction(CreditsEventsEnum.POSE_TRANSFORMATION, cloudTaskDTO.getNums()); + if (!preDeduction) { + throw new BusinessException("Your remaining credits are insufficient for this generation. Please recharge.", ResultEnum.WARNING.getCode()); + } + Long projectId = cloudTaskDTO.getProjectId(); AuthPrincipalVo userHolder = UserContext.getUserHolder(); if (null == projectId) { @@ -2283,10 +2289,6 @@ public class DesignServiceImpl extends ServiceImpl impleme cloudTask.setStatus(0); cloudTaskMapper.insert(cloudTask); - Boolean preDeduction = creditsService.creditsPreDeduction(CreditsEventsEnum.POSE_TRANSFORMATION, 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)) { for (PoseTransformBatchDTO poseTransformBatchDTO : poseTransformList) {