package com.rj.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 项目管理表
 * </p>
 *
 * @author 李中华 ,spllzh
 * @since 2025-08-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("project_management")
@Schema(description="项目管理表")
public class ProjectManagement implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键，UUID")
    @TableId("id")
    private String id;

    @Schema(description = "租户ID")
    @TableField("tenant_id")
    private String tenantId;

    @Schema(description = "所属经销商ID")
    @TableField("dealership_id")
    private String dealershipId;

    @Schema(description = "项目名称")
    @TableField("project_name")
    private String projectName;

    @Schema(description = "话术版本")
    @TableField("script_version")
    private Integer scriptVersion;

    @Schema(description = "话术发布时间")
    @TableField("script_publish_time")
    private LocalDateTime scriptPublishTime;

    @Schema(description = "销售人员数量")
    @TableField("salesperson_count")
    private Integer salespersonCount;

    @Schema(description = "平均录音时长(分钟)")
    @TableField("avg_recording_duration")
    private BigDecimal avgRecordingDuration;

    @Schema(description = "步骤")
    @TableField("step")
    private String step;

    @Schema(description = "分组")
    @TableField("group_name")
    private String groupName;

    @Schema(description = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @Schema(description = "项目描述")
    @TableField("description")
    private String description;

    @Schema(description = "项目状态(1启用 0停用)")
    @TableField("status")
    private Boolean status;

    @Schema(description = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;


}
