117 lines
2.8 KiB
Go
117 lines
2.8 KiB
Go
package model
|
|
|
|
import "go-common/library/time"
|
|
|
|
const (
|
|
// EnvPro is pro.
|
|
EnvPro = "pro"
|
|
// EnvTest is env.
|
|
EnvTest = "test"
|
|
// EnvDev is env.
|
|
EnvDev = "dev"
|
|
// MaxUploadSize for h5 upload
|
|
MaxUploadSize = 20 * 1024 * 1024
|
|
)
|
|
|
|
// feedback model const.
|
|
const (
|
|
// StateNoReply 未回复
|
|
StateNoReply = 0
|
|
// StateReplied 已回复
|
|
StateReplied = 1
|
|
// StateRepeated 二次追问
|
|
StateRepeated = 2
|
|
// StateOther 其它
|
|
StateOther = 4
|
|
|
|
// TypeCustomer 客户
|
|
TypeCustomer = 0
|
|
// TypeServer 客服
|
|
TypeServer = 1
|
|
// player cast screen
|
|
AndroidPlayerScreen = int64(464)
|
|
AndroidPlayerScreenNothing = int64(465)
|
|
AndroidPlayerScreenDlna = int64(466)
|
|
AndroidPlayerScreenTV = int64(470)
|
|
IOSPlayerScreen = int64(467)
|
|
IOSPlayerScreenNothing = int64(468)
|
|
IOSPlayerScreenDlna = int64(469)
|
|
IOSPlayerScreenTV = int64(471)
|
|
)
|
|
|
|
// Session is feedback session
|
|
type Session struct {
|
|
ID int64 `json:"id"`
|
|
Buvid string `json:"-"`
|
|
System string `json:"-"`
|
|
Version string `json:"-"`
|
|
Mid int64 `json:"-"`
|
|
Aid string `json:"-"`
|
|
Content string `json:"content"`
|
|
ImgURL string `json:"-"`
|
|
LogURL string `json:"-"`
|
|
Device string `json:"-"`
|
|
Channel string `json:"-"`
|
|
IP uint32 `json:"-"`
|
|
NetState string `json:"-"`
|
|
NetOperator string `json:"-"`
|
|
AgencyArea string `json:"-"`
|
|
Platform string `json:"-"`
|
|
Browser string `json:"-"`
|
|
Email string `json:"-"`
|
|
QQ string `json:"-"`
|
|
State int8 `json:"state"`
|
|
ReplyID string `json:"-"`
|
|
ReplyTime time.Time `json:"-"`
|
|
LasterTime time.Time `json:"-"`
|
|
CTime time.Time `json:"ctime"`
|
|
MTime time.Time `json:"-"`
|
|
}
|
|
|
|
// WebSession web session.
|
|
type WebSession struct {
|
|
Session *Session `json:"session,omitempty"`
|
|
Tag *Tag `json:"tag,omitempty"`
|
|
}
|
|
|
|
// Reply is feedback reply
|
|
type Reply struct {
|
|
ID int64 `json:"-"`
|
|
SessionID int64 `json:"-"`
|
|
ReplyID string `json:"reply_id"`
|
|
Type int8 `json:"type"`
|
|
Content string `json:"content"`
|
|
ImgURL string `json:"img_url"`
|
|
LogURL string `json:"log_url"`
|
|
CTime time.Time `json:"ctime"`
|
|
MTime time.Time `json:"-"`
|
|
}
|
|
|
|
// SsnAndTagID ssn and tagid.
|
|
type SsnAndTagID struct {
|
|
TagID int64 `json:"tag_id"`
|
|
SessionID int64 `json:"session_id"`
|
|
}
|
|
|
|
// Replys for sort by ctime asc
|
|
type Replys []Reply
|
|
|
|
func (t Replys) Len() int { return len(t) }
|
|
func (t Replys) Less(i, j int) bool {
|
|
return t[i].CTime < t[j].CTime
|
|
}
|
|
func (t Replys) Swap(i, j int) { t[i], t[j] = t[j], t[i] }
|
|
|
|
// FormPlatForm fro playerCheck.
|
|
func FormPlatForm(platStr string) (plat int) {
|
|
switch platStr {
|
|
case "web":
|
|
plat = 1
|
|
case "ios":
|
|
plat = 2
|
|
case "android":
|
|
plat = 3
|
|
}
|
|
return
|
|
}
|