package com.goafanti.achievement.bo;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.goafanti.common.constant.AFTConstants;
import com.goafanti.common.utils.StringUtils;

public class AchievementPartnerListBo {
	private String		id;

	/**
	 * 编号
	 */
	private Integer		serialNumber;

	/**
	 * 数据类别 (0--成果, 1--技术, 2--项目)
	 */
	private Integer		dataCategory;

	/**
	 * 名称
	 */
	private String		name;

	/**
	 * 关键词
	 */
	private String		keyword;

	/**
	 * 类型(0--专利, 2--软著, 3--项目, 4--版权, 5--工业设计, 6--配方, 7--非标)
	 */
	private Integer		category;

	/**
	 * 所有人类型(0-个人,1-组织)
	 */
	private Integer		ownerType;

	/**
	 * 发布时间
	 */
	private Date		releaseDate;
	
	/**
	 * 创建时间
	 */
	private Date		createTime;

	/**
	 * 应用领域1
	 */
	private Integer		fieldA;

	/**
	 * 应用领域2
	 */
	private Integer		fieldB;

	/**
	 * 成熟度
	 */
	private Integer		maturity;

	/**
	 * 议价方式
	 */
	private Integer		bargainingMode;

	/**
	 * 标价
	 */
	private BigDecimal	transferPrice;
	
	
	/**
	 * 描述
	 */
	private String	introduction;

	/**
	 * 描述
	 */
	private String	technicalPictureUrl;
	
	/**
	 * 成熟度中文描述
	 */
	/**
	 *  是否属于精品 0 - 否	, 1 - 是
	 */
	private Integer boutique;
	
	private String maturityS;
	
	private String countInterest;
	
	private String buyIntention;
	
	/**
	 * 所有人地址
	 */
	private String 	ownerPostalAddress;
	
	public Integer getFieldA() {
		return fieldA;
	}

	public void setFieldA(Integer fieldA) {
		this.fieldA = fieldA;
	}

	public Integer getFieldB() {
		return fieldB;
	}

	public void setFieldB(Integer fieldB) {
		this.fieldB = fieldB;
	}

	public Integer getMaturity() {
		return maturity;
	}

	public void setMaturity(Integer maturity) {
		this.maturity = maturity;
	}

	public Integer getBargainingMode() {
		return bargainingMode;
	}

	public void setBargainingMode(Integer bargainingMode) {
		this.bargainingMode = bargainingMode;
	}

	public BigDecimal getTransferPrice() {
		return transferPrice;
	}

	public void setTransferPrice(BigDecimal transferPrice) {
		this.transferPrice = transferPrice;
	}

	public String getId() {
		return id;
	}

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

	public Integer getSerialNumber() {
		return serialNumber;
	}

	public void setSerialNumber(Integer serialNumber) {
		this.serialNumber = serialNumber;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getDataCategory() {
		return dataCategory;
	}

	public void setDataCategory(Integer dataCategory) {
		this.dataCategory = dataCategory;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getKeyword() {
		return keyword;
	}

	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getCategory() {
		return category;
	}

	public void setCategory(Integer category) {
		this.category = category;
	}

	@JsonFormat(shape = Shape.STRING)
	public Integer getOwnerType() {
		return ownerType;
	}

	public void setOwnerType(Integer ownerType) {
		this.ownerType = ownerType;
	}

	public Date getReleaseDate() {
		return releaseDate;
	}

	public void setReleaseDate(Date releaseDate) {
		this.releaseDate = releaseDate;
	}

	public String getReleaseDateFormattedDate() {
		if (this.releaseDate == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getReleaseDate(), AFTConstants.YYYYMMDDHHMMSS);
		}
	}

	public void setReleaseDateFormattedDate(String releaseDateFormattedDate) {

	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getTechnicalPictureUrl() {
		return technicalPictureUrl;
	}

	public void setTechnicalPictureUrl(String technicalPictureUrl) {
		this.technicalPictureUrl = technicalPictureUrl;
	}

	
	
	public String getMaturityS() {
		return maturityS;
	}

	public void setMaturityS(String maturityS) {
		this.maturityS = maturityS;
	}

	

	public String getCountInterest() {
		return String.valueOf(Integer.valueOf(countInterest)+20);
	}

	public void setCountInterest(String countInterest) {
		
		this.countInterest =countInterest;
	}

	public Integer getBoutique() {
		return boutique;
	}

	public void setBoutique(Integer boutique) {
		this.boutique = boutique;
	}

	public String getBuyIntention() {
		return buyIntention;
	}

	public void setBuyIntention(String buyIntention) {
		this.buyIntention = buyIntention;
	}

	public String getOwnerPostalAddress() {
		if (StringUtils.isEmpty(ownerPostalAddress)) {
			return "湖南长沙";
		}
		return ownerPostalAddress;
	}

	public void setOwnerPostalAddress(String ownerPostalAddress) {
		this.ownerPostalAddress = ownerPostalAddress;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public String getCreateTimeFormattedDate() {
		if (this.createTime == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS);
		}
	}
	
	
	
}
