You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

57 lines
1.1 KiB

package prize
import (
"MangheGo/api/v1/prize"
"MangheGo/internal/dao"
"MangheGo/internal/model/do"
"MangheGo/internal/model/entity"
"MangheGo/internal/service"
"context"
)
type (
sPrize struct{}
)
func init() {
service.RegisterPrize(New())
}
func New() service.IPrize {
return &sPrize{}
}
func (s *sPrize) GetPrizeList(ctx context.Context) (prizeList []*entity.Prize, err error) {
err = dao.Prize.Ctx(ctx).OrderDesc("level").Scan(&prizeList)
return
}
func (s *sPrize) EditPrize(ctx context.Context, req *prize.EditPrizeReq) (err error) {
if req.Id == 0 {
_, err = dao.Prize.Ctx(ctx).Data(do.Prize{
Name: req.Name,
ImgUrl: req.ImgUrl,
Level: req.Level,
Odds: req.Odds,
}).Insert()
} else {
_, err = dao.Prize.Ctx(ctx).Data(do.Prize{
Name: req.Name,
ImgUrl: req.ImgUrl,
Level: req.Level,
Odds: req.Odds,
}).WherePri(req.Id).Update()
}
if err != nil {
return err
}
return
}
func (s *sPrize) DeletePrize(ctx context.Context, id int) (err error) {
_, err = dao.Prize.Ctx(ctx).WherePri(id).Delete()
if err != nil {
return err
}
return
}