邹方成 6ee627139c
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 40s
feat: 新增支付测试小程序与微信支付集成
feat(pay): 添加支付API基础结构
feat(miniapp): 创建支付测试小程序页面与配置
feat(wechatpay): 配置微信支付参数与证书
fix(guild): 修复成员列表查询条件
docs: 更新代码规范文档与需求文档
style: 统一前后端枚举显示与注释格式
refactor(admin): 重构用户奖励发放接口参数处理
test(title): 添加称号效果参数验证测试
2025-11-17 00:42:08 +08:00

33 lines
893 B
Go

package activity
import (
"context"
"errors"
"bindbox-game/internal/repository/mysql/model"
)
// CreateIssue 创建活动期
// 参数: activityID 活动ID, in 创建输入
// 返回: 新建期记录与错误
func (s *service) CreateIssue(ctx context.Context, activityID int64, in CreateIssueInput) (*model.ActivityIssues, error) {
exists, err := s.readDB.ActivityIssues.WithContext(ctx).Where(s.readDB.ActivityIssues.ActivityID.Eq(activityID), s.readDB.ActivityIssues.IssueNumber.Eq(in.IssueNumber)).Count()
if err != nil {
return nil, err
}
if exists > 0 {
return nil, errors.New("issue_number already exists")
}
item := &model.ActivityIssues{
ActivityID: activityID,
IssueNumber: in.IssueNumber,
Status: in.Status,
Sort: in.Sort,
}
err = s.writeDB.ActivityIssues.WithContext(ctx).Create(item)
if err != nil {
return nil, err
}
return item, nil
}