forked from studygolang/studygolang
-
Notifications
You must be signed in to change notification settings - Fork 0
/
resource.go
72 lines (60 loc) · 1.82 KB
/
resource.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Copyright 2013 The StudyGolang Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// http://studygolang.com
// Author: polaris [email protected]
package model
import "time"
const (
LinkForm = "只是链接"
ContentForm = "包括内容"
)
// 资源信息
type Resource struct {
Id int `json:"id" xorm:"pk autoincr"`
Title string `json:"title"`
Form string `json:"form"`
Content string `json:"content"`
Url string `json:"url"`
Uid int `json:"uid"`
Catid int `json:"catid"`
CatName string `json:"-" xorm:"-"`
Lastreplyuid int `json:"lastreplyuid"`
Lastreplytime OftenTime `json:"lastreplytime"`
Tags string `json:"tags"`
Ctime OftenTime `json:"ctime" xorm:"created"`
Mtime OftenTime `json:"mtime" xorm:"<-"`
// 排行榜阅读量
RankView int `json:"rank_view" xorm:"-"`
}
func (this *Resource) BeforeInsert() {
if this.Tags == "" {
this.Tags = AutoTag(this.Title+this.CatName, this.Content, 4)
}
this.Lastreplytime = NewOftenTime()
}
// 资源扩展(计数)信息
type ResourceEx struct {
Id int `json:"-" xorm:"pk"`
Viewnum int `json:"viewnum"`
Cmtnum int `json:"cmtnum"`
Likenum int `json:"likenum"`
Mtime time.Time `json:"mtime" xorm:"<-"`
}
type ResourceInfo struct {
Resource `xorm:"extends"`
ResourceEx `xorm:"extends"`
}
func (*ResourceInfo) TableName() string {
return "resource"
}
// 资源分类信息
type ResourceCat struct {
Catid int `json:"catid" xorm:"pk autoincr"`
Name string `json:"name"`
Intro string `json:"intro"`
Ctime string `json:"ctime" xorm:"<-"`
}
func (*ResourceCat) TableName() string {
return "resource_category"
}