You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.7 KiB
Go
69 lines
1.7 KiB
Go
package article
|
|
|
|
type LianV1Article struct {
|
|
Id uint64 `xorm:"<- not null" ` //id
|
|
Title string `xorm:"<- not null" json:"title"` //标题
|
|
Type uint64 `xorm:"<- not null"` //类型
|
|
Ctime int64 `xorm:"<- not null ctime" ` // 发布时间
|
|
Brief string `xorm:"<- not null" json:"brief"` //简介
|
|
Content string `xorm:"<- not null" json:"content"` //内容
|
|
Stocks string `xorm:"<- not null" json:"stocks"` //股票代码
|
|
}
|
|
|
|
func NewLianV1Article(cfg ...articleConfiguration) *LianV1Article {
|
|
article := &LianV1Article{}
|
|
articleConfigurations(cfg).apply(article)
|
|
return article
|
|
}
|
|
|
|
type articleConfiguration func(*LianV1Article)
|
|
type articleConfigurations []articleConfiguration
|
|
|
|
func (cfg articleConfigurations) apply(article *LianV1Article) {
|
|
for _, c := range cfg {
|
|
c(article)
|
|
}
|
|
}
|
|
|
|
func WithArticleId(arg uint64) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Id = arg
|
|
}
|
|
}
|
|
|
|
func WithArticleTitle(arg string) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Title = arg
|
|
}
|
|
}
|
|
|
|
func WithArticleType(arg uint64) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Type = arg
|
|
}
|
|
}
|
|
|
|
func WithArticleCtime(arg int64) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Ctime = arg
|
|
}
|
|
}
|
|
|
|
func WithArticleBrief(arg string) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Brief = arg
|
|
}
|
|
}
|
|
|
|
func WithArticleContent(arg string) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Content = arg
|
|
}
|
|
}
|
|
|
|
func WithArticleStocks(arg string) articleConfiguration {
|
|
return func(article *LianV1Article) {
|
|
article.Stocks = arg
|
|
}
|
|
}
|