package com.hzya.frame.sys.thirdparty.product.entity;

import java.util.Date;

import cn.dev33.satoken.stp.StpUtil;
import com.hzya.frame.uuid.UUIDUtils;
import com.hzya.frame.web.entity.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.List;

/**
 * @description: 第三方应用分类表
 * @tableName: sys_thirdparty_product
 * @entityName: SysThirdpartyProduct
 * @author: llg
 * @history: 1.0
 */
public class SysThirdpartyProduct extends BaseEntity {

    /**
     * 唯一标识码
     */
    private String id;
    /**
     * 产品id
     */
    private String productId;
    /**
     * 编码
     */
    private String productCode;
    /**
     * 名称
     */
    private String productName;
    /**
     * 产品版本id
     */
    private String productVersionId;
    /**
     * 产品版本号
     */
    private String versionNumber;
    /**
     * 上级id
     */
    private String upId;
    /**
     * 层级
     */
    private Long lvl;
    /**
     * 排序号
     */
    private Long sorts;
    /**
     * 创建人id
     */
    private String orgId;
    /**
     * 状态(Y正常N删除)
     */
    private String sts;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 创建人id
     */
    private String createUserId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;
    /**
     * 修改人id
     */
    private String modifyUserId;
    private String sort;
    private String order;

    private List<SysThirdpartyProduct> chiledList;

    /**
     * 产品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 产品id
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 编码
     */
    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    /**
     * 编码
     */
    public String getProductCode() {
        return productCode;
    }

    /**
     * 名称
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 名称
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 产品版本id
     */
    public void setProductVersionId(String productVersionId) {
        this.productVersionId = productVersionId;
    }

    /**
     * 产品版本id
     */
    public String getProductVersionId() {
        return productVersionId;
    }

    /**
     * 产品版本号
     */
    public void setVersionNumber(String versionNumber) {
        this.versionNumber = versionNumber;
    }

    /**
     * 产品版本号
     */
    public String getVersionNumber() {
        return versionNumber;
    }

    /**
     * 上级id
     */
    public void setUpId(String upId) {
        this.upId = upId;
    }

    /**
     * 上级id
     */
    public String getUpId() {
        return upId;
    }

    /**
     * 层级
     */
    public void setLvl(Long lvl) {
        this.lvl = lvl;
    }

    /**
     * 层级
     */
    public Long getLvl() {
        return lvl;
    }

    /**
     * 排序号
     */
    public void setSorts(Long sorts) {
        this.sorts = sorts;
    }

    /**
     * 排序号
     */
    public Long getSorts() {
        return sorts;
    }

    /**
     * 创建人id
     */
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    /**
     * 创建人id
     */
    public String getOrgId() {
        return orgId;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建人id
     */
    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    /**
     * 创建人id
     */
    public String getCreateUserId() {
        return createUserId;
    }

    /**
     * 修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 修改人id
     */
    public void setModifyUserId(String modifyUserId) {
        this.modifyUserId = modifyUserId;
    }

    /**
     * 修改人id
     */
    public String getModifyUserId() {
        return modifyUserId;
    }


    public List<SysThirdpartyProduct> getChiledList() {
        return chiledList;
    }

    public void setChiledList(List<SysThirdpartyProduct> chiledList) {
        this.chiledList = chiledList;
    }

    //创建信息
    public void setCreate() {
        this.id = UUIDUtils.getUUID();
        this.orgId = "";
        this.sts = "Y";
        this.createUserId = String.valueOf(StpUtil.getLoginId());
        this.createTime = new Date();
        this.modifyTime = new Date();
        this.modifyUserId = String.valueOf(StpUtil.getLoginId());
    }


    //修改信息
    public void setUpdate() {
        this.modifyTime = new Date();
        this.modifyUserId = String.valueOf(StpUtil.getLoginId());
    }

    @Override
    public String getId() {
        return id;
    }

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

    @Override
    public String getSts() {
        return sts;
    }

    @Override
    public void setSts(String sts) {
        this.sts = sts;
    }

    @Override
    public String getSort() {
        return sort;
    }

    @Override
    public void setSort(String sort) {
        this.sort = sort;
    }

    @Override
    public String getOrder() {
        return order;
    }

    @Override
    public void setOrder(String order) {
        this.order = order;
    }
}
