/**
 * @filename:CustomerAssign 2024-06-03
 * @project trade-admin V1.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.admin.enterprise.customer.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.trade.common.core.domain.CommonEntity;
import com.trade.common.validate.ValidatorGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 客户分配实体类
 * 
 * @version: V1.0
 * @author: wanglang
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("customer_assign")
public class CustomerAssign extends CommonEntity<CustomerAssign> {

    private static final long serialVersionUID = 1717383435460L;
    @ApiModelProperty(name = "bdAssignStatus", value = "业务状态:0-待认领,1-已认领,2-已分配,3-已移交")
    private Integer bdAssignStatus;
    @ApiModelProperty(name = "rcAssignStatus", value = "分控状态:0-待认领,1-已认领,2-已分配,3-已移交")
    private Integer rcAssignStatus;
    @ApiModelProperty(name = "bdUserId", value = "BD用户ID（B端用户）")
    private Long bdUserId;
    @ApiModelProperty(name = "bdUserName", value = "BD用户名称（B端用户）")
    private String bdUserName;
    @NotNull(message = "C端用户ID不能为空", groups = ValidatorGroup.Add.class)
    @ApiModelProperty(name = "customerUserId", value = "C端用户ID")
    private Long customerUserId;
    @NotNull(message = "C用户账号ID", groups = ValidatorGroup.Add.class)
    @ApiModelProperty(name = "identifierNo", value = "C用户账号ID")
    private String identifierNo;
    @ApiModelProperty(name = "rcUserId", value = "RC用户ID（B端用户）")
    private Long rcUserId;
    @ApiModelProperty(name = "rcUserName", value = "RC用户名称（B端用户）")
    private String rcUserName;
    @Length(max = 500, message = "备注不能超过500个字符", groups = ValidatorGroup.Update.class)
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    @ApiModelProperty(name = "bdAssignWay", value = "BD分配方式1-推荐码,2-认领,3-分配,4-移交")
    private Integer bdAssignWay;
    @ApiModelProperty(name = "rcAssignWay", value = "RC分配方式1-推荐码,2-认领,3-分配,4-移交")
    private Integer rcAssignWay;
    @ApiModelProperty(name = "riskTime", value = "风控经理时间")
    private LocalDateTime riskTime;
    @ApiModelProperty(name = "bdTime", value = "业务经理时间")
    private LocalDateTime bdTime;
}
