package com.bocloud.ims.entity.common;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;

/**
 * 商品SKU
 * 
 * @author Administrator
 *
 */
@Table("service_sku")
public class ServiceSku extends GenericEntity {

	@PK(value = PKStrategy.AUTO)
	private Long id;
	@Column("sn")
	private String sn; // 商品编码
	@Column("service_id")
	private Long serviceId; // 服务ID
	@Column("service_code")
	private String serviceCode; // 服务编码
	@Column("code")
	private String code; // 产品编码
	@Column("category_id")
	private Long categoryId; // 类型ID
	@Column("spec")
	private String spec; // 唯一标识
	@Column("is_reserved")
	private Boolean reserved;// 是否内置
	@Column("process_status")
	private String processStatus; // 审批状态
	@Column("tariff_code")
	private String tariffCode; // 资费代码
	@IgnoreAll
	private String serviceName;
	@IgnoreAll
	private String categoryName;
	@IgnoreAll
	private Long resourceId;
	@IgnoreAll
	private String categoryProps;
	@Column("catalog_id")
	private Long catalogId;
	@IgnoreAll
	private String catalogName;

	public Long getId() {
		return id;
	}

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

	public String getSn() {
		return sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	public Long getServiceId() {
		return serviceId;
	}

	public void setServiceId(Long serviceId) {
		this.serviceId = serviceId;
	}

	public String getServiceCode() {
		return serviceCode;
	}

	public void setServiceCode(String serviceCode) {
		this.serviceCode = serviceCode;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	public String getServiceName() {
		return serviceName;
	}

	public void setServiceName(String serviceName) {
		this.serviceName = serviceName;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public Boolean getReserved() {
		return reserved;
	}

	public void setReserved(Boolean reserved) {
		this.reserved = reserved;
	}

	public String getProcessStatus() {
		return processStatus;
	}

	public void setProcessStatus(String processStatus) {
		this.processStatus = processStatus;
	}

	public String getTariffCode() {
		return tariffCode;
	}

	public void setTariffCode(String tariffCode) {
		this.tariffCode = tariffCode;
	}

	public Long getResourceId() {
		return resourceId;
	}

	public void setResourceId(Long resourceId) {
		this.resourceId = resourceId;
	}

	public String getCategoryProps() {
		return categoryProps;
	}

	public void setCategoryProps(String categoryProps) {
		this.categoryProps = categoryProps;
	}

	public Long getCatalogId() {
		return catalogId;
	}

	public void setCatalogId(Long catalogId) {
		this.catalogId = catalogId;
	}

	public String getCatalogName() {
		return catalogName;
	}

	public void setCatalogName(String catalogName) {
		this.catalogName = catalogName;
	}

	public enum Status {
		Unreleased, // 未上架
		Released, // 已上架
		Revoked, // 已下架
	}

	public enum ProcessStatus {
		NoAudit, // 无审核
		ReleaseApproved, // 上架审核通过
		ReleaseApproving, // 上架审核中
		ReleaseRefused, // 上架审核拒绝
		RevokeApproved, // 下架审核通过
		RevokeApproving, // 下架审核中
		RevokeRefused, // 下架审核拒绝
	}

}
