Files
arenax-server/internal/dao/internal/user_tasks.go
2025-06-10 09:50:23 +08:00

98 lines
3.3 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.

// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// UserTasksDao is the data access object for the table user_tasks.
type UserTasksDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of the current DAO.
columns UserTasksColumns // columns contains all the column names of Table for convenient usage.
handlers []gdb.ModelHandler // handlers for customized model modification.
}
// UserTasksColumns defines and stores column names for the table user_tasks.
type UserTasksColumns struct {
Id string // 用户任务唯一标识符
UserId string // 用户ID
TaskId string // 任务ID
Status string // 任务状态1=已领取2=进行中3=已完成4=已取消
SerialNumber string // 流水号,确保用户任务唯一性
CreatedAt string // 创建时间
UpdatedAt string // 更新时间
CompletedAt string // 任务完成时间
DeletedAt string // 软删除时间戳
StoreId string // 门店 id
}
// userTasksColumns holds the columns for the table user_tasks.
var userTasksColumns = UserTasksColumns{
Id: "id",
UserId: "user_id",
TaskId: "task_id",
Status: "status",
SerialNumber: "serial_number",
CreatedAt: "created_at",
UpdatedAt: "updated_at",
CompletedAt: "completed_at",
DeletedAt: "deleted_at",
StoreId: "store_id",
}
// NewUserTasksDao creates and returns a new DAO object for table data access.
func NewUserTasksDao(handlers ...gdb.ModelHandler) *UserTasksDao {
return &UserTasksDao{
group: "default",
table: "user_tasks",
columns: userTasksColumns,
handlers: handlers,
}
}
// DB retrieves and returns the underlying raw database management object of the current DAO.
func (dao *UserTasksDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of the current DAO.
func (dao *UserTasksDao) Table() string {
return dao.table
}
// Columns returns all column names of the current DAO.
func (dao *UserTasksDao) Columns() UserTasksColumns {
return dao.columns
}
// Group returns the database configuration group name of the current DAO.
func (dao *UserTasksDao) Group() string {
return dao.group
}
// Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation.
func (dao *UserTasksDao) Ctx(ctx context.Context) *gdb.Model {
model := dao.DB().Model(dao.table)
for _, handler := range dao.handlers {
model = handler(model)
}
return model.Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rolls back the transaction and returns the error if function f returns a non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note: Do not commit or roll back the transaction in function f,
// as it is automatically handled by this function.
func (dao *UserTasksDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}