You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
1.6 KiB
89 lines
1.6 KiB
package model |
|
|
|
import ( |
|
"sort" |
|
"strconv" |
|
"time" |
|
|
|
xtime "go-common/library/time" |
|
) |
|
|
|
// RelationLog is |
|
type RelationLog struct { |
|
Mid int64 `json:"mid"` |
|
Fid int64 `json:"fid"` |
|
MemberName string `json:"member_name"` |
|
FollowingName string `json:"following_name"` |
|
|
|
Source int32 `json:"source"` |
|
MTime xtime.Time `json:"mtime"` |
|
|
|
Attention int32 `json:"attention"` |
|
Black int32 `json:"black"` |
|
Whisper int32 `json:"whisper"` |
|
AttrField string `json:"attr_field"` |
|
AttrChange string `json:"attr_change"` |
|
} |
|
|
|
// FillAttrField is |
|
func (l *RelationLog) FillAttrField() { |
|
if l.Attention > 0 { |
|
l.AttrField = "attention" |
|
return |
|
} |
|
if l.Black > 0 { |
|
l.AttrField = "black" |
|
return |
|
} |
|
if l.Whisper > 0 { |
|
l.AttrField = "whisper" |
|
return |
|
} |
|
} |
|
|
|
// RelationLogList is |
|
type RelationLogList []*RelationLog |
|
|
|
// Len is |
|
func (rl RelationLogList) Len() int { |
|
return len(rl) |
|
} |
|
|
|
// Swap is |
|
func (rl RelationLogList) Swap(i, j int) { |
|
rl[i], rl[j] = rl[j], rl[i] |
|
} |
|
|
|
// Less is |
|
func (rl RelationLogList) Less(i, j int) bool { |
|
return rl[i].MTime < rl[j].MTime |
|
} |
|
|
|
// OrderByMTime is |
|
func (rl RelationLogList) OrderByMTime(desc bool) { |
|
sort.Sort(rl) |
|
} |
|
|
|
// ParseAction is |
|
func ParseAction(act string) int32 { |
|
i, _ := strconv.ParseInt(act, 10, 32) |
|
return int32(i) |
|
} |
|
|
|
// ParseSource is |
|
func ParseSource(src string) int32 { |
|
i, _ := strconv.ParseInt(src, 10, 64) |
|
return int32(i) |
|
} |
|
|
|
// ParseLogTime is |
|
func ParseLogTime(ts string) (xt xtime.Time, err error) { |
|
var ( |
|
t time.Time |
|
) |
|
if t, err = time.ParseInLocation("2006-01-02 15:04:05", ts, time.Local); err != nil { |
|
return |
|
} |
|
xt.Scan(t) |
|
return |
|
}
|
|
|