🔥 代码结构调整

This commit is contained in:
李寻欢
2024-07-05 09:32:39 +08:00
parent 42ac0a5ae0
commit d07b3b9456
40 changed files with 77 additions and 77 deletions

View File

@@ -1,4 +1,4 @@
package model
package dto
// FriendItem
// @description: 好友列表数据

View File

@@ -1,4 +1,4 @@
package model
package dto
// LeiGodLoginResp
// @description: 雷神登录返回

View File

@@ -1,4 +1,4 @@
package model
package dto
import (
"encoding/xml"

View File

@@ -1,4 +1,4 @@
package model
package dto
// MorningPost
// @description: 每日早报返回结构体

View File

@@ -1,4 +1,4 @@
package model
package dto
// Response
// @description: 基础返回结构体

View File

@@ -1,4 +1,4 @@
package model
package dto
// RobotUserInfo
// @description: 机器人用户信息

View File

@@ -0,0 +1,39 @@
package entity
import (
"github.com/google/uuid"
"go-wechat/common/types"
"gorm.io/gorm"
"strings"
)
// AiAssistant
// @description: AI助手表
type AiAssistant struct {
Id string `json:"id" gorm:"type:varchar(32);primarykey"`
CreatedAt types.DateTime `json:"createdAt"`
Name string `json:"name" gorm:"type:varchar(10);not null;comment:'名称'"`
Personality string `json:"personality" gorm:"type:varchar(999);not null;comment:'人设'"`
Model string `json:"dto" gorm:"type:varchar(50);not null;comment:'使用的模型'"`
Enable bool `json:"enable" gorm:"type:tinyint(1);not null;default:1;comment:'是否启用'"`
}
// TableName
// @description: 表名
// @receiver AiAssistant
// @return string
func (AiAssistant) TableName() string {
return "t_ai_assistant"
}
// BeforeCreate
// @description: 创建数据库对象之前生成UUID
// @receiver m
// @param *gorm.DB
// @return err
func (m *AiAssistant) BeforeCreate(*gorm.DB) (err error) {
if m.Id == "" {
m.Id = strings.ReplaceAll(uuid.New().String(), "-", "")
}
return
}

49
model/entity/friend.go Normal file
View File

@@ -0,0 +1,49 @@
package entity
import (
"time"
)
// Friend
// @description: 好友列表
type Friend struct {
Wxid string `json:"wxid"` // 微信原始Id
CustomAccount string `json:"customAccount"` // 微信号
Nickname string `json:"nickname"` // 昵称
Pinyin string `json:"pinyin"` // 昵称拼音大写首字母
PinyinAll string `json:"pinyinAll"` // 昵称全拼
LastActive time.Time `json:"lastActive"` // 最后活跃时间
EnableAi bool `json:"enableAI" gorm:"type:tinyint(1) default 0 not null"` // 是否使用AI
AiModel string `json:"aiModel"` // AI模型
Prompt string `json:"prompt"` // 提示词
EnableChatRank bool `json:"enableChatRank" gorm:"type:tinyint(1) default 0 not null"` // 是否使用聊天排行
EnableWelcome bool `json:"enableWelcome" gorm:"type:tinyint(1) default 0 not null"` // 是否启用迎新
EnableSummary bool `json:"enableSummary" gorm:"type:tinyint(1) default 0 not null"` // 是否启用总结
EnableNews bool `json:"enableNews" gorm:"type:tinyint(1) default 0 not null"` // 是否启用新闻
ClearMember int `json:"clearMember"` // 清理成员配置(多少天未活跃的)
IsOk bool `json:"isOk" gorm:"type:tinyint(1) default 0 not null"` // 是否正常
}
func (Friend) TableName() string {
return "t_friend"
}
// GroupUser
// @description: 群成员
type GroupUser struct {
GroupId string `json:"groupId"` // 群Id
Wxid string `json:"wxid"` // 微信Id
Account string `json:"account"` // 账号
HeadImage string `json:"headImage"` // 头像
Nickname string `json:"nickname"` // 昵称
IsMember bool `json:"isMember" gorm:"type:tinyint(1) default 0 not null"` // 是否群成员
IsAdmin bool `json:"isAdmin" gorm:"type:tinyint(1) default 0 not null"` // 是否群主
JoinTime time.Time `json:"joinTime"` // 加入时间
LastActive time.Time `json:"lastActive"` // 最后活跃时间
LeaveTime *time.Time `json:"leaveTime"` // 离开时间
SkipChatRank bool `json:"skipChatRank" gorm:"type:tinyint(1) default 0 not null"` // 是否跳过聊天排行
}
func (GroupUser) TableName() string {
return "t_group_user"
}

25
model/entity/message.go Normal file
View File

@@ -0,0 +1,25 @@
package entity
import (
"go-wechat/types"
"time"
)
// Message
// @description: 消息数据库结构体
type Message struct {
MsgId int64 `gorm:"primaryKey"` // 消息Id
CreateTime int // 发送时间戳
CreateAt time.Time // 发送时间
Type types.MessageType // 消息类型
Content string // 内容
DisplayFullContent string // 显示的完整内容
FromUser string // 发送者
GroupUser string // 群成员
ToUser string // 接收者
Raw string // 原始通知字符串
}
func (Message) TableName() string {
return "t_message"
}

View File

@@ -0,0 +1,13 @@
package entity
// PluginData
// @description: 插件数据
type PluginData struct {
UserId string `json:"userId"` // 用户Id
PluginCode string `json:"pluginCode"` // 插件编码
Data string `json:"data"` // 数据
}
func (PluginData) TableName() string {
return "t_plugin_data"
}

41
model/vo/friend.go Normal file
View File

@@ -0,0 +1,41 @@
package vo
import (
"go-wechat/common/types"
)
// FriendItem
// @description: 好友列表数据
type FriendItem struct {
CustomAccount string // 微信号
Nickname string // 昵称
Pinyin string // 昵称拼音大写首字母
PinyinAll string // 昵称全拼
Wxid string // 微信原始Id
LastActive types.DateTime // 最后活跃时间
EnableAi bool // 是否使用AI
AiModel string // AI模型
Prompt string // AI助手或者自定义提示词
EnableChatRank bool // 是否使用聊天排行
EnableWelcome bool // 是否使用迎新
EnableCommand bool // 是否启用指令
EnableSummary bool // 是否启用总结
EnableNews bool // 是否启用新闻
ClearMember int // 清理成员配置(多少天未活跃的)
IsOk bool // 是否还在通讯库(群聊是要还在群里也算)
}
// GroupUserItem
// @description: 群成员列表数据
type GroupUserItem struct {
Wxid string `json:"wxid"` // 微信Id
Account string `json:"account"` // 账号
HeadImage string `json:"headImage"` // 头像
Nickname string `json:"nickname"` // 昵称
IsMember bool `json:"isMember" ` // 是否群成员
IsAdmin bool `json:"isAdmin"` // 是否群主
JoinTime types.DateTime `json:"joinTime"` // 加入时间
LastActive types.DateTime `json:"lastActive"` // 最后活跃时间
LeaveTime types.DateTime `json:"leaveTime"` // 离开时间
SkipChatRank bool `json:"skipChatRank" ` // 是否跳过聊天排行
}

8
model/vo/leigod.go Normal file
View File

@@ -0,0 +1,8 @@
package vo
// LeiGodAccount
// @description: 雷神账号
type LeiGodAccount struct {
Account string `json:"account"` // 账号
Password string `json:"password"` // 密码
}

8
model/vo/message.go Normal file
View File

@@ -0,0 +1,8 @@
package vo
// TextMessageItem
// @description: 文字消息
type TextMessageItem struct {
Nickname string `json:"nickname"`
Message string `json:"message"`
}