/* * Copyright [duowan.com] * Web Site: http://www.duowan.com * Since 2005 - 2012 */ package com.fpcms.model; import java.util.List; import java.util.Properties; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotBlank; import com.fpcms.common.util.HttpStatusCheckUtil; import com.fpcms.common.util.KeywordUtil; import com.fpcms.common.util.PropertyHelper; import com.fpcms.common.util.StringHelper; /** * tableName: cms_site [CmsSite] * * @author badqiu email:badqiu(a)gmail.com * @version 1.0 * @since 1.0 */ public class CmsSite implements java.io.Serializable{ private static final long serialVersionUID = 5454155825314635342L; //date formats //可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息 //columns START /** * 网站域名 db_column: site_domain */ @Length(max=30) @NotBlank private java.lang.String siteDomain; /** * 网站名称 db_column: site_name */ @Length(max=100) @NotBlank private java.lang.String siteName; /** * 网站描述 db_column: site_desc */ @Length(max=60) private java.lang.String siteDesc; /** * 网站对应的城市 db_column: city */ @Length(max=40) private java.lang.String city; /** * 网站关键词 db_column: keyword */ @Length(max=120) private java.lang.String keyword; /** * 备注 db_column: remarks */ @Length(max=100) private java.lang.String remarks; /** * 公司 db_column: company */ @Length(max=50) private java.lang.String company; /** * 联系人 db_column: contact_name */ @Length(max=50) private java.lang.String contactName; /** * 移动电话 db_column: mobile */ @Length(max=20) private java.lang.String mobile; /** * QQ db_column: qq */ @Length(max=20) private java.lang.String qq; /** * 邮件 db_column: email */ @Email @Length(max=20) private java.lang.String email; /** * 创建时间 db_column: date_created */ private java.util.Date dateCreated; /** * 更新时间 db_column: date_last_modified */ private java.util.Date dateLastModified; @Length(max=50) private java.lang.String author; //columns END /** * 360收录数 */ private int record360; /** * google收录数 */ private int recordGoogle; /** * 百度收录数 */ private int recordBaidu; /** * 360关键词排名 */ private int rank360; /** * google关键词排名 */ private int rankGoogle; /** * 百度关键词排名 */ private int rankBaidu; /** * 重定向的site */ private String redirectSite; /** * 每日生成的文章数量 */ private int dailyGenContentCount; /** * 扩展属性:key_value字段 */ private Properties props = new Properties(); /** * IP地址 */ private String ip; /** * http状态 */ private String httpStatus; private String htmlLayout; public CmsSite(){ } public CmsSite( java.lang.String siteDomain ){ this.siteDomain = siteDomain; } public java.lang.String getSiteDomain() { return this.siteDomain; } public void setSiteDomain(java.lang.String value) { this.siteDomain = StringUtils.trim(value); } public java.lang.String getSiteName() { return this.siteName; } public void setSiteName(java.lang.String value) { this.siteName = StringUtils.trim(value); } public java.lang.String getSiteDesc() { return this.siteDesc; } public void setSiteDesc(java.lang.String value) { this.siteDesc = value; } public java.lang.String getCity() { return this.city; } public void setCity(java.lang.String value) { this.city = StringUtils.trim(value); } public List<String> getKeywordList() { return KeywordUtil.toTokenizerList(this.keyword); } public java.lang.String getKeyword() { return this.keyword; } public void setKeyword(java.lang.String value) { this.keyword = StringUtils.trim(value); } public java.lang.String getRemarks() { return this.remarks; } public void setRemarks(java.lang.String value) { this.remarks = value; } public java.lang.String getCompany() { return this.company; } public void setCompany(java.lang.String value) { this.company = StringUtils.trim(value); } public java.lang.String getContactName() { return this.contactName; } public void setContactName(java.lang.String value) { this.contactName = value; } public java.lang.String getMobile() { return this.mobile; } public void setMobile(java.lang.String value) { this.mobile = StringUtils.trim(value); } public java.lang.String getQq() { return this.qq; } public void setQq(java.lang.String value) { this.qq = StringUtils.trim(value); } public java.lang.String getEmail() { return this.email; } public void setEmail(java.lang.String value) { this.email = StringUtils.trim(value); } public java.util.Date getDateCreated() { return dateCreated; } public void setDateCreated(java.util.Date dateCreated) { this.dateCreated = dateCreated; } public java.util.Date getDateLastModified() { return dateLastModified; } public void setDateLastModified(java.util.Date dateLastModified) { this.dateLastModified = dateLastModified; } public java.lang.String getAuthor() { return author; } public void setAuthor(java.lang.String author) { this.author = author; } public int getRecord360() { return record360; } public void setRecord360(int record360) { this.record360 = record360; } public int getRecordGoogle() { return recordGoogle; } public void setRecordGoogle(int recordGoogle) { this.recordGoogle = recordGoogle; } public int getRecordBaidu() { return recordBaidu; } public void setRecordBaidu(int recordBaidu) { this.recordBaidu = recordBaidu; } public int getRank360() { return rank360; } public void setRank360(int rank360) { this.rank360 = rank360; } public int getRankGoogle() { return rankGoogle; } public void setRankGoogle(int rankGoogle) { this.rankGoogle = rankGoogle; } public int getRankBaidu() { return rankBaidu; } public void setRankBaidu(int rankBaidu) { this.rankBaidu = rankBaidu; } public String getRedirectSite() { return redirectSite; } public void setRedirectSite(String redirectSite) { this.redirectSite = StringUtils.trim(redirectSite); } public int getDailyGenContentCount() { return dailyGenContentCount; } public void setDailyGenContentCount(int dailyGenContentCount) { this.dailyGenContentCount = dailyGenContentCount; } public String getProps() { return PropertyHelper.toString(props); } public void setProps(String props) { this.props = PropertyHelper.loadFromString(props); } public Properties getProperties() { return this.props; } public String getProperty(String key) { return this.props.getProperty(key); } public String getProperty(String key,String defaultValue) { return this.props.getProperty(key,defaultValue); } public void setProperty(String key,String value) { this.props.setProperty(key, value); } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getHttpStatus() { return httpStatus; } public void setHttpStatus(String httpStatus) { this.httpStatus = StringUtils.substring(httpStatus,0,Math.min(40, StringUtils.length(httpStatus))); } public String getHtmlLayout() { return htmlLayout; } public void setHtmlLayout(String pageLayout) { this.htmlLayout = pageLayout; } public boolean isHttpSuccess() { return HttpStatusCheckUtil.isHttpSuccess(httpStatus); } public String getYesterdayOuterLinked() { return StringHelper.getYesterdayOuterLinked(siteDomain); } public String toString() { return ToStringBuilder.reflectionToString(this); } public int hashCode() { return new HashCodeBuilder() .append(getSiteDomain()) .toHashCode(); } public boolean equals(Object obj) { if(this == obj) return true; if(obj instanceof CmsSite == false) return false; CmsSite other = (CmsSite)obj; return new EqualsBuilder() .append(getSiteDomain(),other.getSiteDomain()) .isEquals(); } }