Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 25s
feat(admin): 新增工会管理功能 feat(activity): 添加活动管理相关服务 feat(user): 实现用户道具卡和积分管理 feat(guild): 新增工会成员管理功能 fix: 修复数据库连接配置 fix: 修正jwtoken导入路径 fix: 解决端口冲突问题 style: 统一代码格式和注释风格 style: 更新项目常量命名 docs: 添加项目框架和开发规范文档 docs: 更新接口文档注释 chore: 移除无用代码和文件 chore: 更新Makefile和配置文件 chore: 清理日志文件 test: 添加道具卡测试脚本
113 lines
3.0 KiB
Go
113 lines
3.0 KiB
Go
package activity
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"bindbox-game/internal/pkg/logger"
|
|
"bindbox-game/internal/repository/mysql"
|
|
"bindbox-game/internal/repository/mysql/dao"
|
|
"bindbox-game/internal/repository/mysql/model"
|
|
)
|
|
|
|
type Service interface {
|
|
CreateActivity(ctx context.Context, in CreateActivityInput) (*model.Activities, error)
|
|
ModifyActivity(ctx context.Context, id int64, in ModifyActivityInput) error
|
|
DeleteActivity(ctx context.Context, id int64) error
|
|
GetActivity(ctx context.Context, id int64) (*model.Activities, error)
|
|
ListActivities(ctx context.Context, in ListActivitiesInput) (items []*model.Activities, total int64, err error)
|
|
|
|
ListIssues(ctx context.Context, activityID int64, page, pageSize int) (items []*model.ActivityIssues, total int64, err error)
|
|
CreateIssue(ctx context.Context, activityID int64, in CreateIssueInput) (*model.ActivityIssues, error)
|
|
ModifyIssue(ctx context.Context, issueID int64, in ModifyIssueInput) error
|
|
DeleteIssue(ctx context.Context, issueID int64) error
|
|
|
|
CreateIssueRewards(ctx context.Context, issueID int64, rewards []CreateRewardInput) error
|
|
ListIssueRewards(ctx context.Context, issueID int64) (items []*model.ActivityRewardSettings, err error)
|
|
ModifyIssueReward(ctx context.Context, rewardID int64, in ModifyRewardInput) error
|
|
DeleteIssueReward(ctx context.Context, rewardID int64) error
|
|
|
|
ListDrawLogs(ctx context.Context, issueID int64, page, pageSize int) (items []*model.ActivityDrawLogs, total int64, err error)
|
|
|
|
GetCategoryNames(ctx context.Context, ids []int64) (map[int64]string, error)
|
|
}
|
|
|
|
type service struct {
|
|
logger logger.CustomLogger
|
|
readDB *dao.Query
|
|
writeDB *dao.Query
|
|
}
|
|
|
|
func New(l logger.CustomLogger, db mysql.Repo) Service {
|
|
return &service{
|
|
logger: l,
|
|
readDB: dao.Use(db.GetDbR()),
|
|
writeDB: dao.Use(db.GetDbW()),
|
|
}
|
|
}
|
|
|
|
type CreateActivityInput struct {
|
|
Name string
|
|
Banner string
|
|
ActivityCategoryID int64
|
|
Status int32
|
|
PriceDraw int64
|
|
IsBoss int32
|
|
StartTime *time.Time
|
|
EndTime *time.Time
|
|
}
|
|
|
|
type ModifyActivityInput struct {
|
|
Name string
|
|
Banner string
|
|
ActivityCategoryID int64
|
|
Status int32
|
|
PriceDraw int64
|
|
IsBoss int32
|
|
StartTime *time.Time
|
|
EndTime *time.Time
|
|
}
|
|
|
|
type ListActivitiesInput struct {
|
|
Name string
|
|
CategoryID int64
|
|
IsBoss *int32
|
|
Status *int32
|
|
Page int
|
|
PageSize int
|
|
}
|
|
|
|
type CreateIssueInput struct {
|
|
IssueNumber string
|
|
Status int32
|
|
Sort int32
|
|
}
|
|
|
|
type ModifyIssueInput struct {
|
|
IssueNumber string
|
|
Status int32
|
|
Sort int32
|
|
}
|
|
|
|
type CreateRewardInput struct {
|
|
ProductID int64
|
|
Name string
|
|
Weight int32
|
|
Quantity int64
|
|
OriginalQty int64
|
|
Level int32
|
|
Sort int32
|
|
IsBoss int32
|
|
}
|
|
|
|
type ModifyRewardInput struct {
|
|
ProductID *int64
|
|
Name string
|
|
Weight *int32
|
|
Quantity *int64
|
|
OriginalQty *int64
|
|
Level *int32
|
|
Sort *int32
|
|
IsBoss *int32
|
|
}
|