/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.
*
*/
package net.northking.cctp.device.dto.brand;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.google.common.base.Objects;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.jetbrains.annotations.NotNull;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
* Restful接口--资源详情--数据传输对象：移动设备品牌表
*
* createdate:  2022-09-09 11:16:21  <br>
* @author:  maven-cctp-plugin  <br>
* @since:  1.0 <br>
*/
@JsonSerialize
@ApiModel(description = "移动设备品牌表")
public class CdMobileBrandDetailDto implements Serializable, Comparable<CdMobileBrandDetailDto>
{
    /**
     * 主键id<br>
     */
    @ApiModelProperty("主键id")
    @Size(max = 32, message="主键id-id: 数据长度不能 > 32" )
    private String id;
    /**
     * 品牌名称<br>
     */
    @ApiModelProperty("品牌名称")
    @Size(max = 50, message="品牌名称-brandName: 数据长度不能 > 50" )
    private String brandName;
    /**
     * 中文名称<br>
     */
    @ApiModelProperty("中文名称")
    @Size(max = 50, message="中文名称-brandNameCn: 数据长度不能 > 50" )
    private String brandNameCn;
    /**
     * 品牌标识<br>
     */
    @ApiModelProperty("品牌标识")
    private String brandIcon;
    /**
     * 创建人<br>
     */
    @ApiModelProperty("创建人")
    @Size(max = 32, message="创建人-createdBy: 数据长度不能 > 32" )
    private String createdBy;
    /**
     * 创建时间<br>
     */
    @ApiModelProperty("创建时间")
    private Date createdTime;
    /**
     * 更新人<br>
     */
    @ApiModelProperty("更新人")
    @Size(max = 32, message="更新人-updatedBy: 数据长度不能 > 32" )
    private String updatedBy;
    /**
     * 更新时间<br>
     */
    @ApiModelProperty("更新时间")
    private Date updatedTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getBrandNameCn() {
        return brandNameCn;
    }

    public void setBrandNameCn(String brandNameCn) {
        this.brandNameCn = brandNameCn;
    }

    public String getBrandIcon() {
        return brandIcon;
    }

    public void setBrandIcon(String brandIcon) {
        this.brandIcon = brandIcon;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        CdMobileBrandDetailDto that = (CdMobileBrandDetailDto) o;
        return Objects.equal(id, that.id);
    }

    @Override
    public int hashCode() {
        return id.hashCode();
    }

    @Override
    public int compareTo(@NotNull CdMobileBrandDetailDto o) {
        return this.getId().compareTo(o.getId());
    }
}