文字转语音

This commit is contained in:
spllzh
2025-10-04 19:52:06 +08:00
parent 24c00c22ab
commit 06730b656e
51 changed files with 5157 additions and 8 deletions

View File

@@ -0,0 +1,152 @@
package com.rj.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rj.entity.TtsRequestLog;
import com.rj.mapper.TtsRequestLogMapper;
import com.rj.service.ITtsRequestLogService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
/**
* TTS请求日志控制器
*
* @author rj
* @date 2025-01-02
*/
@Slf4j
@RestController
@RequestMapping("/api/tts/log")
@Tag(name = "TTS请求日志", description = "TTS请求日志管理接口")
public class TtsRequestLogController {
@Autowired
private ITtsRequestLogService ttsRequestLogService;
@Autowired
private TtsRequestLogMapper ttsRequestLogMapper;
@GetMapping("/list")
@Operation(summary = "查询TTS请求日志列表", description = "分页查询TTS请求日志")
public ResponseEntity<Map<String, Object>> getTtsRequestLogs(
@Parameter(description = "页码") @RequestParam(defaultValue = "1") Integer pageNum,
@Parameter(description = "每页大小") @RequestParam(defaultValue = "10") Integer pageSize,
@Parameter(description = "状态") @RequestParam(required = false) String status,
@Parameter(description = "模型") @RequestParam(required = false) String model,
@Parameter(description = "创建人姓名") @RequestParam(required = false) String creatorName,
@Parameter(description = "创建人电话") @RequestParam(required = false) String creatorPhone,
@Parameter(description = "开始时间") @RequestParam(required = false) String startTime,
@Parameter(description = "结束时间") @RequestParam(required = false) String endTime) {
Map<String, Object> result = new HashMap<>();
try {
Page<TtsRequestLog> page = new Page<>(pageNum, pageSize);
QueryWrapper<TtsRequestLog> queryWrapper = new QueryWrapper<>();
// 添加查询条件
if (status != null && !status.trim().isEmpty()) {
queryWrapper.eq("status", status);
}
if (model != null && !model.trim().isEmpty()) {
queryWrapper.like("model", model);
}
if (creatorName != null && !creatorName.trim().isEmpty()) {
queryWrapper.like("creator_name", creatorName);
}
if (creatorPhone != null && !creatorPhone.trim().isEmpty()) {
queryWrapper.like("creator_phone", creatorPhone);
}
if (startTime != null && !startTime.trim().isEmpty()) {
queryWrapper.ge("request_time", startTime);
}
if (endTime != null && !endTime.trim().isEmpty()) {
queryWrapper.le("request_time", endTime);
}
// 按请求时间倒序排列
queryWrapper.orderByDesc("request_time");
// 执行查询
Page<TtsRequestLog> pageResult = ttsRequestLogMapper.selectPage(page, queryWrapper);
result.put("success", true);
result.put("message", "查询成功");
result.put("data", pageResult.getRecords());
result.put("total", pageResult.getTotal());
result.put("pageNum", pageResult.getCurrent());
result.put("pageSize", pageResult.getSize());
result.put("pages", pageResult.getPages());
return ResponseEntity.ok(result);
} catch (Exception e) {
log.error("查询TTS请求日志失败: {}", e.getMessage(), e);
result.put("success", false);
result.put("message", "查询失败: " + e.getMessage());
return ResponseEntity.status(500).body(result);
}
}
@GetMapping("/{id}")
@Operation(summary = "根据ID查询TTS请求日志", description = "根据ID查询TTS请求日志详情")
public ResponseEntity<Map<String, Object>> getTtsRequestLogById(
@Parameter(description = "日志ID") @PathVariable String id) {
Map<String, Object> result = new HashMap<>();
try {
TtsRequestLog requestLog = ttsRequestLogService.getTtsRequestLogById(id);
if (requestLog != null) {
result.put("success", true);
result.put("message", "查询成功");
result.put("data", requestLog);
} else {
result.put("success", false);
result.put("message", "日志不存在");
}
return ResponseEntity.ok(result);
} catch (Exception e) {
log.error("查询TTS请求日志失败: {}", e.getMessage(), e);
result.put("success", false);
result.put("message", "查询失败: " + e.getMessage());
return ResponseEntity.status(500).body(result);
}
}
@GetMapping("/statistics")
@Operation(summary = "TTS请求统计", description = "获取TTS请求统计信息")
public ResponseEntity<Map<String, Object>> getTtsStatistics() {
Map<String, Object> result = new HashMap<>();
try {
// 这里可以添加统计查询逻辑
// 例如:总请求数、成功数、失败数、平均处理时间等
result.put("success", true);
result.put("message", "统计信息获取成功");
result.put("data", new HashMap<>());
return ResponseEntity.ok(result);
} catch (Exception e) {
log.error("获取TTS统计信息失败: {}", e.getMessage(), e);
result.put("success", false);
result.put("message", "获取统计信息失败: " + e.getMessage());
return ResponseEntity.status(500).body(result);
}
}
}