123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package upcrmmodel
- import (
- "encoding/json"
- "fmt"
- "go-common/library/time"
- systime "time"
- )
- const (
- //BusinessTypeArticleAudit 1
- BusinessTypeArticleAudit = 1
- )
- const (
- //DateStr date format
- DateStr = "2006-01-02"
- //CreditLogTableCount all credit log table count
- CreditLogTableCount = 100
- )
- //ArgCreditLogAdd arg
- type ArgCreditLogAdd struct {
- Type int `form:"type" json:"type"` // 日志类型,具体与业务方确定
- OpType int `form:"op_type" json:"optype"` // 操作类型,具体与业务方确定
- Reason int `form:"reason" json:"reason"` // 原因类型,具体与业务方确定
- BusinessType int `form:"bussiness_type" json:"business_type"` // 业务类型
- Mid int64 `form:"mid" validate:"required" json:"mid"` // 用户id
- Oid int64 `form:"oid" json:"oid"` // 对象类型,如aid
- UID int `form:"uid" json:"uid"` // 管理员id
- Content string `form:"content" json:"content"` // 日志内容描述
- CTime time.Time `form:"ctime" json:"ctime"` // 创建时间
- Extra json.RawMessage `form:"extra" json:"extra,omitempty"` // 额外字段,与业务方确定
- }
- //ArgMidDate arg
- type ArgMidDate struct {
- Mid int64 `form:"mid" validate:"required"`
- Days int `form:"days"` // 最近n天内的数据,1表示最近1天(今天),2表示最近2天,默认为0
- FromDate string `form:"from_date"` // 2006-01-02
- ToDate string `form:"to_date"` // 2006-01-02
- ScoreType int `form:"score_type" default:"3"` // 分数类型, 1,2,3,参见ScoreTypeCredit
- }
- //GetScoreParam arg
- type GetScoreParam struct {
- Mid int64
- FromDate systime.Time
- ToDate systime.Time
- ScoreType int
- }
- //ArgGetLogHistory arg
- type ArgGetLogHistory struct {
- Mid int64 `form:"mid" validate:"required"`
- FromDate systime.Time `form:"from_date"`
- ToDate systime.Time `form:"to_date"`
- Limit int `form:"limit" default:"20"`
- }
- //CreditLog db struct
- type CreditLog struct {
- ID uint `gorm:"primary_key" json:"-"`
- Type int
- OpType int
- Reason int
- BusinessType int
- Mid int64
- Oid int64
- UID int `gorm:"column:uid"`
- Content string
- CTime time.Time `gorm:"column:ctime"`
- MTime time.Time `gorm:"column:mtime"`
- Extra string `sql:"type:text;" json:"-"`
- }
- //TableName table name
- func (c *CreditLog) TableName() string {
- return getTableName(c.Mid)
- }
- func getTableName(mid int64) string {
- return fmt.Sprintf("credit_log_%02d", mid%CreditLogTableCount)
- }
- //CopyFrom copy
- func (c *CreditLog) CopyFrom(arg *ArgCreditLogAdd) *CreditLog {
- c.Type = arg.Type
- c.OpType = arg.OpType
- c.BusinessType = arg.BusinessType
- c.Reason = arg.Reason
- c.Mid = arg.Mid
- c.Oid = arg.Oid
- c.UID = arg.UID
- c.Content = arg.Content
- c.CTime = arg.CTime
- c.MTime = arg.CTime
- c.Extra = string(arg.Extra)
- return c
- }
- //SimpleCreditLog db struct
- type SimpleCreditLog struct {
- ID uint `gorm:"primary_key" json:"-"`
- Type int `json:"type"`
- OpType int `json:"op_type"`
- Reason int `json:"reason"`
- BusinessType int `json:"business_type"`
- Mid int64 `json:"mid"`
- Oid int64 `json:"oid"`
- CTime time.Time `gorm:"column:ctime" json:"ctime"`
- }
- //TableName table name
- func (c *SimpleCreditLog) TableName() string {
- return getTableName(c.Mid)
- }
- //SimpleCreditLogWithContent log with content
- type SimpleCreditLogWithContent struct {
- SimpleCreditLog
- Content string `form:"content" json:"content"` // 日志内容描述
- }
|