2025-08-27 20:52:15 +00:00
|
|
|
|
package model
|
|
|
|
|
|
|
2025-08-30 00:36:08 +08:00
|
|
|
|
import (
|
|
|
|
|
|
"blazing/cool"
|
|
|
|
|
|
)
|
2025-08-27 20:52:15 +00:00
|
|
|
|
|
2025-08-30 21:59:52 +08:00
|
|
|
|
// todo 还需要做一个记录任务奖励的表
|
2025-08-27 20:52:15 +00:00
|
|
|
|
const TableNameTask = "task"
|
|
|
|
|
|
|
|
|
|
|
|
// Task mapped from table <task>
|
|
|
|
|
|
type Task struct {
|
|
|
|
|
|
*cool.Model
|
|
|
|
|
|
PlayerID uint64 `gorm:"not null;index:idx_task_by_player_id;comment:'所属玩家ID'" json:"player_id"`
|
2025-08-31 08:42:53 +00:00
|
|
|
|
TaskID uint32 `gorm:"not null;comment:'任务ID'" json:"task_id"`
|
2025-11-29 19:26:56 +08:00
|
|
|
|
Data string `gorm:"type:jsonb;not null;comment:'全部数据'" json:"data"`
|
2025-08-27 20:52:15 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-09-23 15:01:52 +00:00
|
|
|
|
// TaskEX 单个任务的详细信息,包含任务步骤状态和整体状态
|
|
|
|
|
|
type TaskEX struct {
|
|
|
|
|
|
Task
|
|
|
|
|
|
Data []uint32 `struc:"[20]byte" orm:"data" json:"data"`
|
2025-08-30 21:59:52 +08:00
|
|
|
|
//LastResetTime time.Time `gorm:"not null;comment:'上次重置时间(UTC)'" json:"last_reset_time"` //这里是每天重置
|
2025-08-27 20:52:15 +00:00
|
|
|
|
// Status 任务整体状态:0-未接受,1-已接受,2-已完成未领取,3-已完成已领取
|
|
|
|
|
|
// json标签指定JSON字段名,与业务状态说明保持一致
|
2025-08-30 21:59:52 +08:00
|
|
|
|
//Status byte `json:"status"`
|
2025-08-27 20:52:15 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TableName PlayerInfo's table name
|
|
|
|
|
|
func (*Task) TableName() string {
|
2025-08-30 21:59:52 +08:00
|
|
|
|
return TableNameTask
|
2025-08-27 20:52:15 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GroupName PlayerInfo's table group
|
|
|
|
|
|
func (*Task) GroupName() string {
|
|
|
|
|
|
return "default"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-30 21:59:52 +08:00
|
|
|
|
func (t *Task) GetData() string {
|
|
|
|
|
|
return t.Data
|
|
|
|
|
|
}
|
|
|
|
|
|
func (t *Task) SetData(t1 string) {
|
|
|
|
|
|
t.Data = t1
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-27 20:52:15 +00:00
|
|
|
|
// NewPlayerInfo create a new PlayerInfo
|
|
|
|
|
|
func NewTask() *Task {
|
|
|
|
|
|
return &Task{
|
|
|
|
|
|
Model: cool.NewModel(),
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// init 创建表
|
|
|
|
|
|
func init() {
|
|
|
|
|
|
cool.CreateTable(&Task{})
|
|
|
|
|
|
}
|