Merge remote-tracking branch 'origin/seedance_balance' into seedance_balance

This commit is contained in:
old burden 2026-04-21 10:48:14 +08:00
commit 2498b4deed
3 changed files with 38 additions and 0 deletions

View File

@ -4,9 +4,11 @@ import java.util.List;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.ai.domain.AiOrder;
import com.ruoyi.ai.domain.AiVideoReportData; import com.ruoyi.ai.domain.AiVideoReportData;
import com.ruoyi.system.domain.subteam.SubteamVideoMetrics; import com.ruoyi.system.domain.subteam.SubteamVideoMetrics;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/** /**
* AI视频生成统计数据作为其他统计报的数据源Mapper接口 * AI视频生成统计数据作为其他统计报的数据源Mapper接口
@ -67,4 +69,6 @@ public interface AiVideoReportDataMapper extends BaseMapper<AiVideoReportData> {
int upsertRechargeScoreIncrement(@Param("dateKey") String dateKey, int upsertRechargeScoreIncrement(@Param("dateKey") String dateKey,
@Param("deptId") Long deptId, @Param("deptId") Long deptId,
@Param("rechargeScore") BigDecimal rechargeScore); @Param("rechargeScore") BigDecimal rechargeScore);
void addNewOrderReportData(AiOrder aiOrder);
} }

View File

@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.ai.domain.AiManager; import com.ruoyi.ai.domain.AiManager;
import com.ruoyi.ai.domain.AiOrder; import com.ruoyi.ai.domain.AiOrder;
import com.ruoyi.ai.domain.AiStatistics; import com.ruoyi.ai.domain.AiStatistics;
import com.ruoyi.ai.domain.AiVideoReportData;
import com.ruoyi.ai.mapper.AiOrderMapper; import com.ruoyi.ai.mapper.AiOrderMapper;
import com.ruoyi.ai.mapper.AiVideoReportDataMapper;
import com.ruoyi.ai.service.*; import com.ruoyi.ai.service.*;
import com.ruoyi.common.constant.BalanceChangerConstants; import com.ruoyi.common.constant.BalanceChangerConstants;
import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.constant.HttpStatus;
@ -46,6 +48,8 @@ public class AiOrderServiceImpl implements IAiOrderService {
@Autowired @Autowired
private AiOrderMapper aiOrderMapper; private AiOrderMapper aiOrderMapper;
@Autowired
private AiVideoReportDataMapper aiVideoReportDataMapper;
@Autowired @Autowired
private IAiManagerService aiManagerService; private IAiManagerService aiManagerService;
@ -253,6 +257,9 @@ public class AiOrderServiceImpl implements IAiOrderService {
aiStatistics.setGenerateCount(1L); aiStatistics.setGenerateCount(1L);
// 新增生成数量 // 新增生成数量
aiStatisticsService.saveOrUpdateData(aiStatistics); aiStatisticsService.saveOrUpdateData(aiStatistics);
// 统计数据
aiVideoReportDataMapper.addNewOrderReportData(aiOrder);
} }
@Override @Override

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.ai.mapper.AiVideoReportDataMapper">
<!--
按订单 create_time 聚合到小时yyyy-MM-dd HH+ dept_id + user_id 维表。
不存在则插入,存在则累加 score、order_count、use_tokens单条语句InnoDB 原子)。
-->
<insert id="addNewOrderReportData">
INSERT INTO ai_video_report_data (date_key, dept_id, user_id, score, order_count, use_tokens)
VALUES (
DATE_FORMAT(#{createTime}, '%Y-%m-%d %H'),
#{deptId},
#{userId},
IFNULL(#{amount}, 0),
1,
IFNULL(#{totalUsage}, 0)
)
ON DUPLICATE KEY UPDATE
score = score + VALUES(score),
order_count = order_count + VALUES(order_count),
use_tokens = use_tokens + VALUES(use_tokens)
</insert>
</mapper>