音频分段逻辑的代码架构

This commit is contained in:
zhonghua1
2025-12-19 08:48:05 +08:00
parent 406f7d692b
commit db64ed63a5
10 changed files with 602 additions and 18 deletions

View File

@@ -0,0 +1,153 @@
package com.rj.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 录音分段管理表
* </p>
*
* 对应表audio_management_segments
*
* @author
* @since 2025-12-18
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("audio_management_segments")
@Schema(description = "录音分段管理表")
public class AudioManagementSegments implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "主键UUID")
@TableId("id")
private String id;
@Schema(description = "父录音ID对应 audio_management.id")
@TableField("parent_id")
private String parentId;
@Schema(description = "租户ID")
@TableField("tenant_id")
private String tenantId;
@Schema(description = "录音名称")
@TableField("recording_name")
private String recordingName;
@Schema(description = "录音段数(序号)")
@TableField("chunk_index")
private String chunkIndex;
@Schema(description = "设备编号")
@TableField("deviceNo")
private String deviceNo;
@Schema(description = "记录时间")
@TableField("recording_time")
private LocalDateTime recordingTime;
@Schema(description = "信息卡内容")
@TableField("info_card_description")
private String infoCardDescription;
@Schema(description = "销售ID")
@TableField("sales_id")
private String salesId;
@Schema(description = "销售电话")
@TableField("sales_phone")
private String salesPhone;
@Schema(description = "销售姓名")
@TableField("sales_name")
private String salesName;
@Schema(description = "录音时长(分钟)")
@TableField("duration")
private BigDecimal duration;
@Schema(description = "上传时间")
@TableField("upload_time")
private LocalDateTime uploadTime;
@Schema(description = "关注程度/意向级别")
@TableField("intention_level")
private String intentionLevel;
@Schema(description = "经销售ID")
@TableField("dealership_id")
private String dealershipId;
@Schema(description = "经销售名称")
@TableField("dealership_name")
private String dealershipName;
@Schema(description = "上传状态")
@TableField("upload_status")
private String uploadStatus;
@Schema(description = "同步状态")
@TableField("sync_status")
private String syncStatus;
@Schema(description = "是否合并(0否1是)")
@TableField("is_merged")
private Boolean isMerged;
@Schema(description = "描述/备注")
@TableField("remarks")
private String remarks;
@Schema(description = "录音开始时间")
@TableField("start_time")
private LocalDateTime startTime;
@Schema(description = "录音结束时间")
@TableField("end_time")
private LocalDateTime endTime;
@Schema(description = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
@Schema(description = "录音保存路径")
@TableField("audio_file_path")
private String audioFilePath;
@Schema(description = "录音保存minio路径")
@TableField("audio_file_url")
private String audioFileUrl;
@Schema(description = "文件大小(字节)")
@TableField("audio_file_size")
private Long audioFileSize;
@Schema(description = "文件原始名称")
@TableField("audio_file_original_name")
private String audioFileOriginalName;
@Schema(description = "文件扩展名")
@TableField("audio_file_extension")
private String audioFileExtension;
@Schema(description = "录音文本")
@TableField("recording_text")
private String recordingText;
@Schema(description = "总结")
@TableField("summary")
private String summary;
}