增加任务接口逻辑
This commit is contained in:
41
internal/model/nh_task_asset_model.go
Executable file
41
internal/model/nh_task_asset_model.go
Executable file
@@ -0,0 +1,41 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
"time"
|
||||
)
|
||||
|
||||
var _ NhTaskAssetModel = (*customNhTaskAssetModel)(nil)
|
||||
|
||||
type (
|
||||
// NhTaskAssetModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customNhTaskAssetModel.
|
||||
NhTaskAssetModel interface {
|
||||
nhTaskAssetModel
|
||||
withSession(session sqlx.Session) NhTaskAssetModel
|
||||
AddUserPoint(ctx context.Context, uid int, points int) error
|
||||
}
|
||||
|
||||
customNhTaskAssetModel struct {
|
||||
*defaultNhTaskAssetModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewNhTaskAssetModel returns a model for the database table.
|
||||
func NewNhTaskAssetModel(conn sqlx.SqlConn) NhTaskAssetModel {
|
||||
return &customNhTaskAssetModel{
|
||||
defaultNhTaskAssetModel: newNhTaskAssetModel(conn),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *customNhTaskAssetModel) withSession(session sqlx.Session) NhTaskAssetModel {
|
||||
return NewNhTaskAssetModel(sqlx.NewSqlConnFromSession(session))
|
||||
}
|
||||
|
||||
func (m *customNhTaskAssetModel) AddUserPoint(ctx context.Context, uid int, points int) error {
|
||||
insertOrUpdate := fmt.Sprintf("INSERT INTO %s (`uid`, `points`, `create_time`) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE `points` = `points` + ?", m.table)
|
||||
_, err := m.conn.ExecCtx(ctx, insertOrUpdate, uid, points, time.Now().Unix(), points)
|
||||
return err
|
||||
}
|
||||
106
internal/model/nh_task_asset_model_gen.go
Executable file
106
internal/model/nh_task_asset_model_gen.go
Executable file
@@ -0,0 +1,106 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// versions:
|
||||
// goctl version: 1.7.3
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/stores/builder"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
"github.com/zeromicro/go-zero/core/stringx"
|
||||
|
||||
"github.com/shopspring/decimal"
|
||||
)
|
||||
|
||||
var (
|
||||
nhTaskAssetFieldNames = builder.RawFieldNames(&NhTaskAsset{})
|
||||
nhTaskAssetRows = strings.Join(nhTaskAssetFieldNames, ",")
|
||||
nhTaskAssetRowsExpectAutoSet = strings.Join(stringx.Remove(nhTaskAssetFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
nhTaskAssetRowsWithPlaceHolder = strings.Join(stringx.Remove(nhTaskAssetFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
nhTaskAssetModel interface {
|
||||
Insert(ctx context.Context, data *NhTaskAsset) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int) (*NhTaskAsset, error)
|
||||
FindOneByUid(ctx context.Context, uid int) (*NhTaskAsset, error)
|
||||
Update(ctx context.Context, data *NhTaskAsset) error
|
||||
Delete(ctx context.Context, id int) error
|
||||
}
|
||||
|
||||
defaultNhTaskAssetModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
NhTaskAsset struct {
|
||||
Id int `db:"id"`
|
||||
Uid int `db:"uid"`
|
||||
Points decimal.Decimal `db:"points"` // 积分值
|
||||
ElitePoints decimal.Decimal `db:"elite_points"` // 高级积分
|
||||
Keys int `db:"keys"` // 宝箱钥匙
|
||||
CreateTime int `db:"create_time"` // 创建时间
|
||||
}
|
||||
)
|
||||
|
||||
func newNhTaskAssetModel(conn sqlx.SqlConn) *defaultNhTaskAssetModel {
|
||||
return &defaultNhTaskAssetModel{
|
||||
conn: conn,
|
||||
table: "`nh_task_asset`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetModel) Delete(ctx context.Context, id int) error {
|
||||
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
|
||||
_, err := m.conn.ExecCtx(ctx, query, id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetModel) FindOne(ctx context.Context, id int) (*NhTaskAsset, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", nhTaskAssetRows, m.table)
|
||||
var resp NhTaskAsset
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, id)
|
||||
switch err {
|
||||
case nil:
|
||||
return &resp, nil
|
||||
case sqlx.ErrNotFound:
|
||||
return nil, ErrNotFound
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetModel) FindOneByUid(ctx context.Context, uid int) (*NhTaskAsset, error) {
|
||||
var resp NhTaskAsset
|
||||
query := fmt.Sprintf("select %s from %s where `uid` = ? limit 1", nhTaskAssetRows, m.table)
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, uid)
|
||||
switch err {
|
||||
case nil:
|
||||
return &resp, nil
|
||||
case sqlx.ErrNotFound:
|
||||
return nil, ErrNotFound
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetModel) Insert(ctx context.Context, data *NhTaskAsset) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?)", m.table, nhTaskAssetRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.Points, data.ElitePoints, data.Keys)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetModel) Update(ctx context.Context, newData *NhTaskAsset) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhTaskAssetRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Uid, newData.Points, newData.ElitePoints, newData.Keys, newData.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
29
internal/model/nh_task_asset_record_model.go
Executable file
29
internal/model/nh_task_asset_record_model.go
Executable file
@@ -0,0 +1,29 @@
|
||||
package model
|
||||
|
||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
|
||||
var _ NhTaskAssetRecordModel = (*customNhTaskAssetRecordModel)(nil)
|
||||
|
||||
type (
|
||||
// NhTaskAssetRecordModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customNhTaskAssetRecordModel.
|
||||
NhTaskAssetRecordModel interface {
|
||||
nhTaskAssetRecordModel
|
||||
withSession(session sqlx.Session) NhTaskAssetRecordModel
|
||||
}
|
||||
|
||||
customNhTaskAssetRecordModel struct {
|
||||
*defaultNhTaskAssetRecordModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewNhTaskAssetRecordModel returns a model for the database table.
|
||||
func NewNhTaskAssetRecordModel(conn sqlx.SqlConn) NhTaskAssetRecordModel {
|
||||
return &customNhTaskAssetRecordModel{
|
||||
defaultNhTaskAssetRecordModel: newNhTaskAssetRecordModel(conn),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *customNhTaskAssetRecordModel) withSession(session sqlx.Session) NhTaskAssetRecordModel {
|
||||
return NewNhTaskAssetRecordModel(sqlx.NewSqlConnFromSession(session))
|
||||
}
|
||||
91
internal/model/nh_task_asset_record_model_gen.go
Executable file
91
internal/model/nh_task_asset_record_model_gen.go
Executable file
@@ -0,0 +1,91 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// versions:
|
||||
// goctl version: 1.7.3
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/stores/builder"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
"github.com/zeromicro/go-zero/core/stringx"
|
||||
)
|
||||
|
||||
var (
|
||||
nhTaskAssetRecordFieldNames = builder.RawFieldNames(&NhTaskAssetRecord{})
|
||||
nhTaskAssetRecordRows = strings.Join(nhTaskAssetRecordFieldNames, ",")
|
||||
nhTaskAssetRecordRowsExpectAutoSet = strings.Join(stringx.Remove(nhTaskAssetRecordFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
nhTaskAssetRecordRowsWithPlaceHolder = strings.Join(stringx.Remove(nhTaskAssetRecordFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
nhTaskAssetRecordModel interface {
|
||||
Insert(ctx context.Context, data *NhTaskAssetRecord) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int) (*NhTaskAssetRecord, error)
|
||||
Update(ctx context.Context, data *NhTaskAssetRecord) error
|
||||
Delete(ctx context.Context, id int) error
|
||||
}
|
||||
|
||||
defaultNhTaskAssetRecordModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
NhTaskAssetRecord struct {
|
||||
Id int `db:"id"`
|
||||
Uid int `db:"uid"`
|
||||
EventId uint64 `db:"event_id"` // 日志事件
|
||||
AssetField string `db:"asset_field"` // 积分或钥匙字段
|
||||
Count float64 `db:"count"` // 数量 正数获得,负数消耗
|
||||
Remark string `db:"remark"` // 备注
|
||||
ProvideUid uint `db:"provide_uid"` // 贡献人,当事件为返利事件
|
||||
CreateTime int `db:"create_time"` // 创建时间
|
||||
}
|
||||
)
|
||||
|
||||
func newNhTaskAssetRecordModel(conn sqlx.SqlConn) *defaultNhTaskAssetRecordModel {
|
||||
return &defaultNhTaskAssetRecordModel{
|
||||
conn: conn,
|
||||
table: "`nh_task_asset_record`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetRecordModel) Delete(ctx context.Context, id int) error {
|
||||
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
|
||||
_, err := m.conn.ExecCtx(ctx, query, id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetRecordModel) FindOne(ctx context.Context, id int) (*NhTaskAssetRecord, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", nhTaskAssetRecordRows, m.table)
|
||||
var resp NhTaskAssetRecord
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, id)
|
||||
switch err {
|
||||
case nil:
|
||||
return &resp, nil
|
||||
case sqlx.ErrNotFound:
|
||||
return nil, ErrNotFound
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetRecordModel) Insert(ctx context.Context, data *NhTaskAssetRecord) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?)", m.table, nhTaskAssetRecordRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.EventId, data.AssetField, data.Count, data.Remark, data.ProvideUid)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetRecordModel) Update(ctx context.Context, data *NhTaskAssetRecord) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhTaskAssetRecordRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, data.Uid, data.EventId, data.AssetField, data.Count, data.Remark, data.ProvideUid, data.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskAssetRecordModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
@@ -9,6 +9,20 @@ import (
|
||||
|
||||
var _ NhTaskModel = (*customNhTaskModel)(nil)
|
||||
|
||||
const (
|
||||
// 0=follow_twitter,1=bind_twitter,2=cast_twitter,3=publish_twitter,4=repost_twitter,5=watch_youtube,6=follow_youtube,7=bind_discord,8=join_telegram,9=daily_pay
|
||||
TASKTYPE_FOLLOW_TWITTER = 0
|
||||
TASKTYPE_BIND_TWITTER = 1
|
||||
TASKTYPE_CAST_TWITTER = 2
|
||||
TASKTYPE_PUBLISH_TWITTER = 3
|
||||
TASKTYPE_REPOST_TWITTER = 4
|
||||
TASKTYPE_WATCH_YOUTUBE = 5
|
||||
TASKTYPE_FOLLOW_YOUTUBE = 6
|
||||
TASKTYPE_BIND_DISCORD = 7
|
||||
TASKTYPE_JOIN_TELEGRAM = 8
|
||||
TASKTYPE_DAILY_PAY = 9
|
||||
)
|
||||
|
||||
type (
|
||||
// NhTaskModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customNhTaskModel.
|
||||
|
||||
@@ -44,7 +44,8 @@ type (
|
||||
Description string `db:"description"` // 描述
|
||||
Points int `db:"points"` // 积分数量
|
||||
ButtonText string `db:"button_text"` // 按钮上的文字
|
||||
Type int8 `db:"type"` // 0=一次性任务,1=每天任务
|
||||
Type int8 `db:"type"` // 0=follow_twitter,1=bind_twitter,2=cast_twitter,3=publish_twitter,4=repost_twitter,5=watch_youtube,6=follow_youtube,7=bind_discord,8=join_telegram,9=daily_pay
|
||||
Url string `db:"url"` // 跳转链接
|
||||
Status int8 `db:"status"` // 0=不启用,1=启用
|
||||
StartAt sql.NullTime `db:"start_at"` // 开始时间
|
||||
EndAt sql.NullTime `db:"end_at"` // 结束时间
|
||||
@@ -81,14 +82,14 @@ func (m *defaultNhTaskModel) FindOne(ctx context.Context, id uint) (*NhTask, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskModel) Insert(ctx context.Context, data *NhTask) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, nhTaskRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.CommunityId, data.Title, data.SubTitle, data.Description, data.Points, data.ButtonText, data.Type, data.Status, data.StartAt, data.EndAt)
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, nhTaskRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.CommunityId, data.Title, data.SubTitle, data.Description, data.Points, data.ButtonText, data.Type, data.Url, data.Status, data.StartAt, data.EndAt)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskModel) Update(ctx context.Context, data *NhTask) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhTaskRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, data.CommunityId, data.Title, data.SubTitle, data.Description, data.Points, data.ButtonText, data.Type, data.Status, data.StartAt, data.EndAt, data.Id)
|
||||
_, err := m.conn.ExecCtx(ctx, query, data.CommunityId, data.Title, data.SubTitle, data.Description, data.Points, data.ButtonText, data.Type, data.Url, data.Status, data.StartAt, data.EndAt, data.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
37
internal/model/nh_task_progress_model.go
Executable file
37
internal/model/nh_task_progress_model.go
Executable file
@@ -0,0 +1,37 @@
|
||||
package model
|
||||
|
||||
import "github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
|
||||
var _ NhTaskProgressModel = (*customNhTaskProgressModel)(nil)
|
||||
|
||||
const (
|
||||
// 任务的阶段, 0:未完成 1:待校验 2:已完成未领取 3:已领取
|
||||
TASK_PROGRESS_NOT_FINISHED = 0
|
||||
TASK_PROGRESS_WAIT_VERIFY = 1
|
||||
TASK_PROGRESS_WAIT_REWARD = 2
|
||||
TASK_PROGRESS_REWARDED = 3
|
||||
)
|
||||
|
||||
type (
|
||||
// NhTaskProgressModel is an interface to be customized, add more methods here,
|
||||
// and implement the added methods in customNhTaskProgressModel.
|
||||
NhTaskProgressModel interface {
|
||||
nhTaskProgressModel
|
||||
withSession(session sqlx.Session) NhTaskProgressModel
|
||||
}
|
||||
|
||||
customNhTaskProgressModel struct {
|
||||
*defaultNhTaskProgressModel
|
||||
}
|
||||
)
|
||||
|
||||
// NewNhTaskProgressModel returns a model for the database table.
|
||||
func NewNhTaskProgressModel(conn sqlx.SqlConn) NhTaskProgressModel {
|
||||
return &customNhTaskProgressModel{
|
||||
defaultNhTaskProgressModel: newNhTaskProgressModel(conn),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *customNhTaskProgressModel) withSession(session sqlx.Session) NhTaskProgressModel {
|
||||
return NewNhTaskProgressModel(sqlx.NewSqlConnFromSession(session))
|
||||
}
|
||||
106
internal/model/nh_task_progress_model_gen.go
Executable file
106
internal/model/nh_task_progress_model_gen.go
Executable file
@@ -0,0 +1,106 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// versions:
|
||||
// goctl version: 1.7.3
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/stores/builder"
|
||||
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||
"github.com/zeromicro/go-zero/core/stringx"
|
||||
)
|
||||
|
||||
var (
|
||||
nhTaskProgressFieldNames = builder.RawFieldNames(&NhTaskProgress{})
|
||||
nhTaskProgressRows = strings.Join(nhTaskProgressFieldNames, ",")
|
||||
nhTaskProgressRowsExpectAutoSet = strings.Join(stringx.Remove(nhTaskProgressFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
|
||||
nhTaskProgressRowsWithPlaceHolder = strings.Join(stringx.Remove(nhTaskProgressFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
|
||||
)
|
||||
|
||||
type (
|
||||
nhTaskProgressModel interface {
|
||||
Insert(ctx context.Context, data *NhTaskProgress) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id int) (*NhTaskProgress, error)
|
||||
FindOneByUidTaskIdTaskSeq(ctx context.Context, uid int, taskId uint, taskSeq int) (*NhTaskProgress, error)
|
||||
Update(ctx context.Context, data *NhTaskProgress) error
|
||||
Delete(ctx context.Context, id int) error
|
||||
}
|
||||
|
||||
defaultNhTaskProgressModel struct {
|
||||
conn sqlx.SqlConn
|
||||
table string
|
||||
}
|
||||
|
||||
NhTaskProgress struct {
|
||||
Id int `db:"id"`
|
||||
Uid int `db:"uid"`
|
||||
TaskId uint `db:"task_id"` // 任务id
|
||||
TaskSeq int `db:"task_seq"` // 用于可重复任务的序列号
|
||||
Stage int8 `db:"stage"` // 任务的阶段, 0:未完成 1:待校验 2:已完成未领取 3:已领取
|
||||
CreatedAt time.Time `db:"created_at"` // 创建时间
|
||||
UpdatedAt time.Time `db:"updated_at"` // 修改时间
|
||||
}
|
||||
)
|
||||
|
||||
func newNhTaskProgressModel(conn sqlx.SqlConn) *defaultNhTaskProgressModel {
|
||||
return &defaultNhTaskProgressModel{
|
||||
conn: conn,
|
||||
table: "`nh_task_progress`",
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskProgressModel) Delete(ctx context.Context, id int) error {
|
||||
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
|
||||
_, err := m.conn.ExecCtx(ctx, query, id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskProgressModel) FindOne(ctx context.Context, id int) (*NhTaskProgress, error) {
|
||||
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", nhTaskProgressRows, m.table)
|
||||
var resp NhTaskProgress
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, id)
|
||||
switch err {
|
||||
case nil:
|
||||
return &resp, nil
|
||||
case sqlx.ErrNotFound:
|
||||
return nil, ErrNotFound
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskProgressModel) FindOneByUidTaskIdTaskSeq(ctx context.Context, uid int, taskId uint, taskSeq int) (*NhTaskProgress, error) {
|
||||
var resp NhTaskProgress
|
||||
query := fmt.Sprintf("select %s from %s where `uid` = ? and `task_id` = ? and `task_seq` = ? limit 1", nhTaskProgressRows, m.table)
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, uid, taskId, taskSeq)
|
||||
switch err {
|
||||
case nil:
|
||||
return &resp, nil
|
||||
case sqlx.ErrNotFound:
|
||||
return nil, ErrNotFound
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskProgressModel) Insert(ctx context.Context, data *NhTaskProgress) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?)", m.table, nhTaskProgressRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.TaskId, data.TaskSeq, data.Stage)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskProgressModel) Update(ctx context.Context, newData *NhTaskProgress) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhTaskProgressRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Uid, newData.TaskId, newData.TaskSeq, newData.Stage, newData.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskProgressModel) tableName() string {
|
||||
return m.table
|
||||
}
|
||||
Reference in New Issue
Block a user