书籍列表接口新增参数

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

View File

@ -0,0 +1,93 @@
package sign_in_reward_details
import (
"context"
"server/internal/dao"
"server/internal/model"
"server/internal/model/do"
"server/internal/service"
"server/utility/ecode"
)
type sSignInRewardDetails struct{}
func init() {
service.RegisterSignInRewardDetails(New())
}
func New() *sSignInRewardDetails {
return &sSignInRewardDetails{}
}
// Create 新增签到奖励明细
func (s *sSignInRewardDetails) Create(ctx context.Context, in *model.SignInRewardDetail) (int64, error) {
id, err := dao.SignInRewardDetails.Ctx(ctx).Data(do.SignInRewardDetails{
RuleId: in.RuleId,
DayNumber: in.DayNumber,
RewardType: in.RewardType,
Quantity: in.Quantity,
Status: in.Status,
}).InsertAndGetId()
if err != nil {
return 0, ecode.New(10001, "sign_in_reward_detail_create_failed")
}
return id, nil
}
// Update 编辑签到奖励明细
func (s *sSignInRewardDetails) Update(ctx context.Context, in *model.SignInRewardDetail) error {
_, err := dao.SignInRewardDetails.Ctx(ctx).Data(do.SignInRewardDetails{
RuleId: in.RuleId,
DayNumber: in.DayNumber,
RewardType: in.RewardType,
Quantity: in.Quantity,
Status: in.Status,
}).Where(do.SignInRewardDetails{Id: in.Id}).Update()
if err != nil {
return ecode.New(10002, "sign_in_reward_detail_update_failed")
}
return nil
}
// Delete 删除签到奖励明细
func (s *sSignInRewardDetails) Delete(ctx context.Context, in *model.SignInRewardDetailDeleteIn) (*model.SignInRewardDetailDeleteOut, error) {
_, err := dao.SignInRewardDetails.Ctx(ctx).Where(do.SignInRewardDetails{Id: in.Id}).Delete()
if err != nil {
return &model.SignInRewardDetailDeleteOut{Success: false}, ecode.New(10003, "sign_in_reward_detail_delete_failed")
}
return &model.SignInRewardDetailDeleteOut{Success: true}, nil
}
// Get 查询单个签到奖励明细
func (s *sSignInRewardDetails) Get(ctx context.Context, in *model.SignInRewardDetailGetIn) (*model.SignInRewardDetailGetOut, error) {
var detail model.SignInRewardDetail
err := dao.SignInRewardDetails.Ctx(ctx).Where(do.SignInRewardDetails{Id: in.Id}).Scan(&detail)
if err != nil {
return nil, ecode.New(10004, "sign_in_reward_detail_query_failed")
}
if detail.Id == 0 {
return nil, ecode.New(10006, "sign_in_reward_detail_not_found")
}
return &model.SignInRewardDetailGetOut{SignInRewardDetail: detail}, nil
}
// List 根据 ruleId 查询签到奖励明细列表
func (s *sSignInRewardDetails) List(ctx context.Context, in *model.SignInRewardDetailListIn) (*model.SignInRewardDetailListOut, error) {
var list []model.SignInRewardDetail
err := dao.SignInRewardDetails.Ctx(ctx).Where(do.SignInRewardDetails{RuleId: in.RuleId}).Order("day_number asc").Scan(&list)
if err != nil {
return nil, ecode.New(10005, "sign_in_reward_detail_query_failed")
}
return &model.SignInRewardDetailListOut{List: list}, nil
}
// SetStatus 设置签到奖励明细状态
func (s *sSignInRewardDetails) SetStatus(ctx context.Context, in *model.SignInRewardDetailSetStatusIn) (*model.SignInRewardDetailSetStatusOut, error) {
_, err := dao.SignInRewardDetails.Ctx(ctx).Data(do.SignInRewardDetails{
Status: in.Status,
}).Where(do.SignInRewardDetails{Id: in.Id}).Update()
if err != nil {
return &model.SignInRewardDetailSetStatusOut{Success: false}, ecode.New(10007, "sign_in_reward_detail_update_failed")
}
return &model.SignInRewardDetailSetStatusOut{Success: true}, nil
}