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("sales_management")
@Schema(description="销售管理表")
public class SalesManagement 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 = "销售名称")
    @TableField("sales_name")
    private String salesName;

    @Schema(description = "登录账号,必须是手机号")
    @TableField("login_account")
    private String loginAccount;

    @Schema(description = "录音数")
    @TableField("recording_count")
    private Integer recordingCount;

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

    @Schema(description = "录音总时长(小时)")
    @TableField("total_recording_hours")
    private BigDecimal totalRecordingHours;

    @Schema(description = "所属项目ID")
    @TableField("project_id")
    private String projectId;

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

    @Schema(description = "所属门店ID")
    @TableField("dealership_id")
    private String dealershipId;

    @Schema(description = "所属门店名称")
    @TableField("dealership_name")
    private String dealershipName;

    @Schema(description = "角色")
    @TableField("role")
    private String role;

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

    @Schema(description = "最近录音时间")
    @TableField("last_recording_time")
    private LocalDateTime lastRecordingTime;

    @Schema(description = "最后登录时间")
    @TableField("last_login_time")
    private LocalDateTime lastLoginTime;

    @Schema(description = "最后登录IP")
    @TableField("last_login_ip")
    private String lastLoginIp;

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

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

    @Schema(description = "密码（不存储在数据库中）")
    @TableField(exist = false)
    private String password;

}
