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 40fae7a..14c653b 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 @@ -1,9 +1,11 @@ package com.ruoyi.ai.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.ai.domain.AiOrder; import com.ruoyi.ai.domain.AiVideoReportData; import com.ruoyi.common.core.dto.DeptSummaryDTO; import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; /** * 视频报表数据 Mapper @@ -12,4 +14,6 @@ public interface AiVideoReportDataMapper extends BaseMapper { @Select("SELECT SUM(order_count) as order_count,SUM(score) as score FROM ai_video_report_data " + " where dept_id=#{deptId} and date_key>=#{startHour} and date_key<=#{endHour}") DeptSummaryDTO selectOneDeptSummaryData(Long deptId, String startHour, String endHour); + + 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 d06659b..0e35ec1 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; @@ -249,6 +253,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) + + +