diff --git a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/mapper/AiVideoReportDataMapper.java b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/mapper/AiVideoReportDataMapper.java index 26f7118..d045ddc 100644 --- a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/mapper/AiVideoReportDataMapper.java +++ b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/mapper/AiVideoReportDataMapper.java @@ -4,9 +4,11 @@ import java.util.List; import java.math.BigDecimal; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.ai.domain.AiOrder; import com.ruoyi.ai.domain.AiVideoReportData; import com.ruoyi.system.domain.subteam.SubteamVideoMetrics; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; /** * AI视频生成统计数据,作为其他统计报的数据源Mapper接口 @@ -67,4 +69,6 @@ public interface AiVideoReportDataMapper extends BaseMapper { int upsertRechargeScoreIncrement(@Param("dateKey") String dateKey, @Param("deptId") Long deptId, @Param("rechargeScore") BigDecimal rechargeScore); + + void addNewOrderReportData(AiOrder aiOrder); } 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 46a12d7..f232135 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 @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.ai.domain.AiManager; import com.ruoyi.ai.domain.AiOrder; import com.ruoyi.ai.domain.AiStatistics; +import com.ruoyi.ai.domain.AiVideoReportData; import com.ruoyi.ai.mapper.AiOrderMapper; +import com.ruoyi.ai.mapper.AiVideoReportDataMapper; import com.ruoyi.ai.service.*; import com.ruoyi.common.constant.BalanceChangerConstants; import com.ruoyi.common.constant.HttpStatus; @@ -46,6 +48,8 @@ public class AiOrderServiceImpl implements IAiOrderService { @Autowired private AiOrderMapper aiOrderMapper; + @Autowired + private AiVideoReportDataMapper aiVideoReportDataMapper; @Autowired private IAiManagerService aiManagerService; @@ -253,6 +257,9 @@ public class AiOrderServiceImpl implements IAiOrderService { aiStatistics.setGenerateCount(1L); // 新增生成数量 aiStatisticsService.saveOrUpdateData(aiStatistics); + + // 统计数据 + aiVideoReportDataMapper.addNewOrderReportData(aiOrder); } @Override diff --git a/web-api/ruoyi-system/src/main/resources/mapper/system/AiVideoReportDataMapper.xml b/web-api/ruoyi-system/src/main/resources/mapper/system/AiVideoReportDataMapper.xml new file mode 100644 index 0000000..d5b9b8a --- /dev/null +++ b/web-api/ruoyi-system/src/main/resources/mapper/system/AiVideoReportDataMapper.xml @@ -0,0 +1,27 @@ + + + + + + + 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) + + +