书籍列表接口新增参数

This commit is contained in:
2025-08-13 15:19:42 +08:00
parent 6ccc87f2bf
commit 8afe651c64
201 changed files with 6987 additions and 1066 deletions

101
internal/model/task.go Normal file
View File

@ -0,0 +1,101 @@
package model
import (
"github.com/gogf/gf/v2/os/gtime"
)
type Task struct {
Id int64 `json:"id" orm:"id"`
TaskType uint `json:"taskType" orm:"task_type"`
Title string `json:"title" orm:"title"`
Description string `json:"description" orm:"description"`
RewardPoints uint `json:"rewardPoints" orm:"reward_points"`
Limit uint `json:"limit" orm:"limit"`
LimitType int `json:"limitType" orm:"limit_type"`
Status int `json:"status" orm:"status"`
StartTime *gtime.Time `json:"startTime" orm:"start_time"`
EndTime *gtime.Time `json:"endTime" orm:"end_time"`
CreatedAt *gtime.Time `json:"createdAt" orm:"created_at"`
UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at"`
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at"`
}
type TaskListIn struct {
Page int
Size int
Title string // 可选,按标题模糊搜索
Status int // 可选,按状态筛选
}
type TaskListOut struct {
Total int
List []Task
}
type TaskAddIn struct {
TaskType uint
Title string
Description string
RewardPoints uint
Limit uint
LimitType int
Status int
StartTime *gtime.Time
EndTime *gtime.Time
}
type TaskEditIn struct {
Id int64
TaskType uint
Title string
Description string
RewardPoints uint
Limit uint
LimitType int
Status int
StartTime *gtime.Time
EndTime *gtime.Time
}
type TaskDelIn struct {
Id int64
}
type TaskCRUDOut struct {
Success bool
}
// App端任务列表项包含用户完成情况
// CompletedCount: 用户已完成次数
// IsCompleted: 用户今日/周期内是否已完成
// LastActionTime: 最近一次完成时间
type TaskAppListItem struct {
Id int64 `json:"id" orm:"id" dc:"任务ID"`
TaskType uint `json:"taskType" orm:"task_type" dc:"任务类型1=首次登录2=广告3=发布书籍"`
Title string `json:"title" orm:"title" dc:"任务标题"`
Description string `json:"description" orm:"description" dc:"任务描述"`
RewardPoints uint `json:"rewardPoints" orm:"reward_points" dc:"完成任务奖励的积分数"`
DailyLimit uint `json:"dailyLimit" orm:"daily_limit" dc:"每天可参与次数NULL 表示不限"`
LimitType int `json:"limitType" orm:"limit_type" dc:"限制类型1=不限2=每日3=每周4=仅一次"`
Status int `json:"status" orm:"status" dc:"状态1=启用2=禁用"`
StartTime *gtime.Time `json:"startTime" orm:"start_time" dc:"任务开始时间"`
EndTime *gtime.Time `json:"endTime" orm:"end_time" dc:"任务结束时间"`
CompletedCount int `json:"completedCount" orm:"-" dc:"用户已完成次数"`
IsCompleted bool `json:"isCompleted" orm:"-" dc:"是否已完成"`
LastActionTime *gtime.Time `json:"lastActionTime" orm:"-" dc:"最近完成时间"`
}
type TaskAppListOut struct {
List []TaskAppListItem `json:"list"`
}
// App端任务列表查询参数
type TaskAppListIn struct {
UserId int64 `json:"userId" dc:"用户ID"`
}
// 简化的任务列表项,只包含任务类型和奖励积分
type TaskSimpleItem struct {
TaskType uint `json:"taskType" orm:"task_type" dc:"任务类型1=首次登录2=广告3=发布书籍"`
RewardPoints uint `json:"rewardPoints" orm:"reward_points" dc:"完成任务奖励的积分数"`
}
type TaskSimpleListOut struct {
List []TaskSimpleItem `json:"list"`
}