From eb7f2a14190be22123834109f22ef7fa822c0e79 Mon Sep 17 00:00:00 2001 From: xupei Date: Thu, 10 Jul 2025 11:24:25 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=20=E6=89=B9=E9=87=8F=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E6=89=A3=E9=99=A4=E6=9C=89=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/primary/entity/CreditsDetail.java | 2 ++ .../com/ai/da/service/CreditsService.java | 2 ++ .../da/service/impl/CreditsServiceImpl.java | 21 ++++++++++++- .../ai/da/service/impl/DesignServiceImpl.java | 30 ++++++++++++------- .../impl/UserLikeGroupServiceImpl.java | 10 ++----- 5 files changed, 45 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/ai/da/mapper/primary/entity/CreditsDetail.java b/src/main/java/com/ai/da/mapper/primary/entity/CreditsDetail.java index 8a0aa02a..8885b947 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/CreditsDetail.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/CreditsDetail.java @@ -16,6 +16,8 @@ public class CreditsDetail extends BaseEntity { private String taskId; /** 积分变更事件 */ private String changeEvent; + /** 用于批量生成,同一事件,一次生成多个 */ + private Integer num; /** 变更积分 ( + 表示加,- 表示减) */ private String changedCredits; /** 当前积分 */ diff --git a/src/main/java/com/ai/da/service/CreditsService.java b/src/main/java/com/ai/da/service/CreditsService.java index aba4d027..fbbb9fdb 100644 --- a/src/main/java/com/ai/da/service/CreditsService.java +++ b/src/main/java/com/ai/da/service/CreditsService.java @@ -41,6 +41,8 @@ public interface CreditsService extends IService { void preInsert(Long accountId, String changeEventName, String taskId, Boolean isPreInsert, String changedCredits); + void preInsert(Long accountId, String changeEventName, String taskId, Boolean isPreInsert, String changedCredits, Integer num); + void updateChangedCredits(String accountId, String taskId); CreditsDetail queryDetailByTaskId(String taskId); diff --git a/src/main/java/com/ai/da/service/impl/CreditsServiceImpl.java b/src/main/java/com/ai/da/service/impl/CreditsServiceImpl.java index 3f2c57e6..afc8a95a 100644 --- a/src/main/java/com/ai/da/service/impl/CreditsServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/CreditsServiceImpl.java @@ -326,6 +326,21 @@ public class CreditsServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); @@ -338,7 +353,11 @@ public class CreditsServiceImpl extends ServiceImpl impleme toProductImageResult.setImageStrength(randomFromRange); toProductImageResultMapper.insert(toProductImageResult); result.add(toProductImageResult); - // 添加需要扣除的积分到预扣除区 - creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums()); i ++; } pythonService.toProductImageBatch(batchTaskId, paramList, userHolder.getId().toString()); + // 添加需要扣除的积分到预扣除区 + creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums()); + // 预插入数据到积分变更表 + creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.TO_PRODUCT_IMAGE.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() ); }else { if (StringUtils.isEmpty(prompt)) { sb.append(",high quality clothing details,8K realistic,HDR"); @@ -2094,11 +2096,14 @@ public class DesignServiceImpl extends ServiceImpl impleme toProductImageResult.setImageStrength(randomFromRange); toProductImageResultMapper.insert(toProductImageResult); result.add(toProductImageResult); - // 添加需要扣除的积分到预扣除区 - creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums()); i ++; } pythonService.toProductImageBatch(batchTaskId, paramList, userHolder.getId().toString()); + // 添加需要扣除的积分到预扣除区 + creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums()); + // 预插入数据到积分变更表 + creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.TO_PRODUCT_IMAGE.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() ); + } sb = new StringBuilder("The best quality, masterpiece, real image."); } @@ -2218,13 +2223,15 @@ public class DesignServiceImpl extends ServiceImpl impleme toProductImageResult.setDirection(toProductImageDTO.getDirection()); toProductImageResultMapper.insert(toProductImageResult); result.add(toProductImageResult); - - // 添加需要扣除的积分到预扣除区 - creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums()); i ++; } // 走模型 pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString()); + // 添加需要扣除的积分到预扣除区 + creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums()); + // 预插入数据到积分变更表 + creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.RELIGHT.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() ); + } }else { @@ -2261,13 +2268,14 @@ public class DesignServiceImpl extends ServiceImpl impleme toProductImageResult.setDirection(toProductImageDTO.getDirection()); toProductImageResultMapper.insert(toProductImageResult); result.add(toProductImageResult); - - // 添加需要扣除的积分到预扣除区 - creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums()); i ++; } // 走模型 pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString()); + // 添加需要扣除的积分到预扣除区 + creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums()); + // 预插入数据到积分变更表 + creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.RELIGHT.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() ); } } return batchTaskId; @@ -2339,7 +2347,7 @@ public class DesignServiceImpl extends ServiceImpl impleme // 6、添加预扣除积分到redis creditsService.addRecordToCreditsDeduction(accountId, uuid, creditsEventsEnum, cloudTaskDTO.getNums()); // 6.1 添加积分扣除记录到db - creditsService.preInsert(accountId, creditsEventsEnum.getName(), uuid, Boolean.TRUE, null); + creditsService.preInsert(accountId, creditsEventsEnum.getName(), uuid, Boolean.TRUE, null, cloudTaskDTO.getNums()); }else { throw new BusinessException("pose transformation error", ResultEnum.ERROR.getCode()); } 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 df43ff64..267860d4 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -2797,10 +2797,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl