Files
arenax-server/internal/controller/reward/reward_v1_update.go
2025-07-07 11:11:14 +08:00

43 lines
1.2 KiB
Go

package reward
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model"
"server/internal/service"
"server/api/reward/v1"
)
func (c *ControllerV1) Update(ctx context.Context, req *v1.UpdateReq) (res *v1.UpdateRes, err error) {
fromCtx := g.RequestFromCtx(ctx)
operatorId := fromCtx.GetCtxVar("id").Int64()
operatorRole := fromCtx.GetCtxVar("role").String()
out, err := service.Reward().Update(ctx, &model.RewardUpdateIn{
Id: req.Id,
Name: req.Name,
RewardTypeId: int64(req.RewardType),
GameId: req.GameId,
Img: req.Img,
QQGoodsId: req.QQGoodsId,
QQGoodsIdStr: req.QQGoodsIdStr,
OperatorId: operatorId,
OperatorRole: operatorRole,
Status: req.Status,
ExpireType: req.ExpireType,
ExpireDays: req.ExpireDays,
ValidFrom: req.ValidFrom,
ValidTo: req.ValidTo,
DailyTotalLimit: int64(req.DailyTotalLimit),
TotalLimit: int64(req.TotalLimit),
UserDailyLimit: int64(req.UserDailyLimit),
UserTotalLimit: int64(req.UserTotalLimit),
GrantQuantity: int64(req.GrantQuantity),
Source: req.Source,
})
if err != nil {
return nil, err
}
return &v1.UpdateRes{Success: out.Success}, nil
}