bilibili-backup/app/admin/ep/saga/model/wechat.go
2019-04-22 02:59:20 +00:00

192 lines
5.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import "time"
// MaxWechatLen ...
const MaxWechatLen = 254 //企业微信内容最大长度
// AppConfig def
type AppConfig struct {
AppID int // 企业微信SAGA应用的appId
AppSecret string // 企业微信SAGA应用的secret
}
// Notification def
type Notification struct {
ToUser string `json:"touser"`
ToParty string `json:"toparty"`
ToTag string `json:"totag"`
MsgType string `json:"msgtype"`
AgentID int `json:"agentid"`
}
// Text def
type Text struct {
Content string `json:"content"`
}
// TxtNotification 文本消息
type TxtNotification struct {
Notification
Body Text `json:"text"`
Safe int `json:"safe"`
}
// AllowUserInfo 应用可见名单列表
type AllowUserInfo struct {
Users []*UserInfo `json:"user"`
}
// UserInfo only contain userid now
type UserInfo struct {
UserID string `json:"userid"`
}
// QueryContactLogRequest Query Contact Log Request.
type QueryContactLogRequest struct {
Pagination
UserID int64 `form:"user_id"`
UserName string `form:"user_name"`
OperateUser string `form:"operate_user"`
OperateType string `form:"operate_type"`
}
// QueryContactRequest Query Contact Log Request.
type QueryContactRequest struct {
Pagination
}
// AboundContactLog Abound Contact Log.
type AboundContactLog struct {
ContactLog
Name string `json:"machine_name"`
}
// ContactLog Contact Log.
type ContactLog struct {
ID int64 `json:"-" gorm:"column:id"`
Username string `json:"username" gorm:"column:username"`
MachineID int64 `json:"machine_id" gorm:"column:machine_id"`
OperateType string `json:"operate_type" gorm:"column:operation_type"`
OperateResult string `json:"operate_result" gorm:"column:operation_result"`
OperateTime time.Time `json:"operate_time" gorm:"column:ctime;default:current_timestamp"`
UTime time.Time `json:"-" gorm:"column:mtime;default:current_timestamp on update current_timestamp"`
Type int `json:"type" gorm:"column:type"`
}
// Contact Contact info.
type Contact struct {
ID int64 `json:"-" gorm:"column:id"`
Username string `json:"user_name" gorm:"column:user_name"`
UserID string `json:"user_id" gorm:"column:user_id"`
}
// PaginateContactLog Paginate Contact Log.
type PaginateContactLog struct {
Total int64 `json:"total"`
PageNum int `json:"page_num"`
PageSize int `json:"page_size"`
MachineLogs []*AboundContactLog `json:"machine_logs"`
}
// PaginateContact Paginate Contact.
type PaginateContact struct {
Total int64 `json:"total"`
PageNum int `json:"page_num"`
PageSize int `json:"page_size"`
Contacts []*ContactInfo `json:"contacts"`
}
// CreateChatReq ...
type CreateChatReq struct {
Name string `json:"name" validate:"required"`
Owner string `json:"owner" validate:"required"`
UserList []string `json:"userlist" validate:"required"`
ChatID string `json:"chatid" validate:"required"`
}
// WechatCreateLog ...
type WechatCreateLog struct {
ID int `json:"id" gorm:"column:id"`
Name string `json:"name" gorm:"column:name"`
Owner string `json:"owner" gorm:"column:owner"`
ChatID string `json:"chatid" gorm:"column:chatid"`
Cuser string `json:"cuser" gorm:"column:cuser"`
Ctime time.Time `form:"ctime" json:"ctime" gorm:"column:ctime"`
Status int `form:"status" json:"status" gorm:"column:status"` //1创建 2修改 3同步中 4同步完成 5同步失败
}
// WechatChatLog ...
type WechatChatLog struct {
ID int `json:"id" gorm:"column:id"`
ChatID string `json:"chatid" gorm:"column:chatid"`
MsgType string `json:"msgtype" gorm:"column:msgtype"`
Content string `json:"content" gorm:"column:content"`
Safe int `json:"safe" gorm:"column:safe"`
Status int `form:"status" json:"status" gorm:"column:status"` //1成功 0失败
}
// WechatMessageLog ...
type WechatMessageLog struct {
ID int `json:"id" gorm:"column:id"`
Touser string `json:"touser" gorm:"column:touser"`
Content string `json:"content" gorm:"column:content"`
Status int `form:"status" json:"status" gorm:"column:status"` //1成功 0失败
}
// ChatResp ...
type ChatResp struct {
ErrCode int `json:"errcode"`
ErrMsg string `json:"errmsg"`
}
// CreateChatResp ...
type CreateChatResp struct {
*ChatResp
ChatID string `json:"chatid"`
}
// CreateChatLog ...
type CreateChatLog struct {
*WechatCreateLog
Buttons []string `json:"buttons"`
}
// CreateChatLogResp ...
type CreateChatLogResp struct {
Total int `json:"total"`
*Pagination
Logs []*CreateChatLog `json:"logs,omitempty"`
}
// GetChatResp ...
type GetChatResp struct {
*ChatResp
ChatInfo *CreateChatReq `json:"chat_info"`
}
// SendChatReq ...
type SendChatReq struct {
ChatID string `json:"chatid"`
MsgType string `json:"msgtype"`
Text struct {
Content string `json:"content"`
} `json:"text"`
Safe int `json:"safe"`
}
// SendMessageReq ...
type SendMessageReq struct {
Touser []string `json:"touser"`
Content string `json:"content"`
}
// UpdateChatReq ...
type UpdateChatReq struct {
ChatID string `json:"chatid"`
Name string `json:"name"`
Owner string `json:"owner"`
AddUserList []string `json:"add_user_list"`
DelUserList []string `json:"del_user_list"`
}