文字转语音
This commit is contained in:
152
src/main/java/com/rj/controller/TtsRequestLogController.java
Normal file
152
src/main/java/com/rj/controller/TtsRequestLogController.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user