From d69d2a1df7eb6cc21d1a0bc0c32ad22a2fff66ea Mon Sep 17 00:00:00 2001 From: yys <47@gamerwa.com> Date: Fri, 17 Apr 2026 16:22:40 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20=E5=88=9B=E5=BB=BA=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=97=B6=E5=A1=AB=E5=86=99=E9=83=A8=E9=97=A8ID?= =?UTF-8?q?=EF=BC=9B=E8=AE=A2=E5=8D=95=E7=94=9F=E6=88=90=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E6=97=B6=E7=A7=AF=E5=88=86=E4=B8=8E=E7=94=A8=E9=87=8F=E5=86=99?= =?UTF-8?q?=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/service/impl/AiOrderServiceImpl.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/AiOrderServiceImpl.java b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/AiOrderServiceImpl.java index d6a9c4f..d06659b 100644 --- a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/AiOrderServiceImpl.java +++ b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/AiOrderServiceImpl.java @@ -9,10 +9,7 @@ import com.ruoyi.ai.domain.AiManager; import com.ruoyi.ai.domain.AiOrder; import com.ruoyi.ai.domain.AiStatistics; import com.ruoyi.ai.mapper.AiOrderMapper; -import com.ruoyi.ai.service.IAiManagerService; -import com.ruoyi.ai.service.IAiOrderService; -import com.ruoyi.ai.service.IAiStatisticsService; -import com.ruoyi.ai.service.IAiUserService; +import com.ruoyi.ai.service.*; import com.ruoyi.common.constant.BalanceChangerConstants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.domain.AjaxResult; @@ -59,6 +56,9 @@ public class AiOrderServiceImpl implements IAiOrderService { @Autowired private IAiStatisticsService aiStatisticsService; + @Autowired + private IByteDeptApiKeyService byteDeptApiKeyService; + // 流水表:任务成功时回补 private static final String TASK_SUCCESS_BACK_FILL_REMARK = "order.number.generation.successbackfill"; @@ -194,6 +194,7 @@ public class AiOrderServiceImpl implements IAiOrderService { // 不按aimanager扣减的,等提交任务再按实扣减 aiOrder.setAmount(new BigDecimal(0)); } + aiOrder.setDeptId(byteDeptApiKeyService.resolveSecondLevelDeptId(aiOrder.getUserId())); aiOrder.setStatus(0); aiOrder.setSource(aiUser.getSource()); aiOrderMapper.insert(aiOrder); @@ -220,15 +221,21 @@ public class AiOrderServiceImpl implements IAiOrderService { @Transactional @Override public void orderFailure(AiOrder aiOrder, BigDecimal amount) { + // update前的订单使用积分 + BigDecimal orderAmount = aiOrder.getAmount(); + aiOrder.setIsBackfilled(1); aiOrder.setStatus(2); String remark = MessageUtils.messageByDefaultLocal("order.number.generation.failed", aiOrder.getOrderNum()); aiOrder.setRemark(remark); + // 失败将用量与积分设置成0 + aiOrder.setAmount(new BigDecimal(0)); + aiOrder.setTotalUsage(new BigDecimal(0)); aiOrderMapper.updateById(aiOrder); Long userId = aiOrder.getUserId() != null ? aiOrder.getUserId() : SecurityUtils.getAiUserId(); // 变更值为0则不改余额,没有流水 - if (aiOrder.getAmount() != null && !aiOrder.getAmount().equals(new BigDecimal(0))) { - aiUserService.addUserBalance(aiOrder.getOrderNum(), userId, amount, BalanceChangerConstants.REFUND, remark); + if (orderAmount != null && !orderAmount.equals(new BigDecimal(0))) { + aiUserService.addUserBalance(aiOrder.getOrderNum(), userId, orderAmount, BalanceChangerConstants.REFUND, remark); } }