Compare commits

...

3 Commits

Author SHA1 Message Date
majun 4cbc79f962 编写奖品增删改查接口v1 5 months ago
majun f1f28c4ffe 初始修改数据库 6 months ago
majun d5c65cd6bc 初始修改v1 6 months ago
  1. 0
      api/v1/.gitkeep
  2. 13
      api/v1/prize/prize.go
  3. 13
      internal/cmd/cmd.go
  4. 0
      internal/controller/.gitkeep
  5. 71
      internal/controller/prize/prize.go
  6. 19
      internal/controller/record/record.go
  7. 2
      internal/dao/internal/prize.go
  8. 10
      internal/logic/logic.go
  9. 57
      internal/logic/prize/prize.go
  10. 1
      internal/model/do/prize.go
  11. 1
      internal/model/entity/prize.go
  12. 0
      internal/service/.gitkeep
  13. 35
      internal/service/prize.go
  14. 3
      main.go

0
api/v1/.gitkeep

13
api/v1/prize/prize.go

@ -0,0 +1,13 @@
package prize
type EditPrizeReq struct {
Id int `dc:"奖品id"`
Name string `v:"required#奖品名称不能为空" dc:"奖品名称"`
ImgUrl string `v:"required#奖品图片不能为空" dc:"奖品图片"`
Level int `v:"required#奖品等级不能为空" dc:"奖品等级"`
Odds float64 `v:"required#奖品抽取概率不能为空" dc:"奖品抽取概率"`
}
type DeletePrizeReq struct {
Id int `v:"required#奖品id不能为空" dc:"奖品id"`
}

13
internal/cmd/cmd.go

@ -1,6 +1,8 @@
package cmd
import (
"MangheGo/internal/controller/prize"
"MangheGo/internal/controller/record"
"MangheGo/internal/logic/middleware"
"context"
@ -16,9 +18,16 @@ var (
Brief: "start http server",
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
s := g.Server()
s.Group("/", func(group *ghttp.RouterGroup) {
s.Group("/api/prize_activity", func(group *ghttp.RouterGroup) {
group.Middleware(middleware.MiddlewareCORS)
group.POST("/get-prize-list", prize.Prize().GetPrizeList)
group.POST("/get-records-by-jwcode", record.Record().GetRecordsByJwcode)
group.POST("/get-top-prize-records", record.Record().GetTopPrizeRecords)
})
s.Group("/api/prize_backend", func(group *ghttp.RouterGroup) {
group.Middleware(middleware.MiddlewareCORS)
group.POST("/edit-prize", prize.Prize().EditPrize)
group.POST("/delete-prize", prize.Prize().DeletePrize)
})
s.Run()
return nil

0
internal/controller/.gitkeep

71
internal/controller/prize/prize.go

@ -0,0 +1,71 @@
package prize
import (
"MangheGo/api/v1/prize"
"MangheGo/internal/model/dto"
"MangheGo/internal/service"
"github.com/gogf/gf/v2/net/ghttp"
)
type cPrize struct{}
func Prize() *cPrize {
return &cPrize{}
}
func (c cPrize) GetPrizeList(r *ghttp.Request) {
res, err := service.Prize().GetPrizeList(r.Context())
if err != nil {
r.Response.WriteJsonExit(dto.Result{
Code: 400,
Message: err.Error(),
})
}
r.Response.WriteJsonExit(dto.Result{
Code: 200,
Message: "success",
Data: res,
})
}
func (c cPrize) EditPrize(r *ghttp.Request) {
var req *prize.EditPrizeReq
if err := r.Parse(&req); err != nil {
r.Response.WriteJsonExit(dto.Result{
Code: 400,
Message: err.Error(),
})
}
err := service.Prize().EditPrize(r.Context(), req)
if err != nil {
r.Response.WriteJsonExit(dto.Result{
Code: 400,
Message: err.Error(),
})
}
r.Response.WriteJsonExit(dto.Result{
Code: 200,
Message: "success",
})
}
func (c cPrize) DeletePrize(r *ghttp.Request) {
var req *prize.DeletePrizeReq
if err := r.Parse(&req); err != nil {
r.Response.WriteJsonExit(dto.Result{
Code: 400,
Message: err.Error(),
})
}
err := service.Prize().DeletePrize(r.Context(), req.Id)
if err != nil {
r.Response.WriteJsonExit(dto.Result{
Code: 400,
Message: err.Error(),
})
}
r.Response.WriteJsonExit(dto.Result{
Code: 200,
Message: "success",
})
}

19
internal/controller/record/record.go

@ -0,0 +1,19 @@
package record
import (
"github.com/gogf/gf/v2/net/ghttp"
)
type cRecord struct{}
func Record() *cRecord {
return &cRecord{}
}
func (c cRecord) GetRecordsByJwcode(r *ghttp.Request) {
}
func (c cRecord) GetTopPrizeRecords(r *ghttp.Request) {
}

2
internal/dao/internal/prize.go

@ -23,7 +23,6 @@ type PrizeColumns struct {
Id string // 奖品ID
Name string // 奖品名称
ImgUrl string // 奖品图片
Limit string // 奖品期限
Level string // 奖品等级
Odds string // 奖品抽取概率
CreatedAt string // 创建时间
@ -35,7 +34,6 @@ var prizeColumns = PrizeColumns{
Id: "id",
Name: "name",
ImgUrl: "img_url",
Limit: "limit",
Level: "level",
Odds: "odds",
CreatedAt: "created_at",

10
internal/logic/logic.go

@ -0,0 +1,10 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package logic
import (
_ "MangheGo/internal/logic/middleware"
_ "MangheGo/internal/logic/prize"
)

57
internal/logic/prize/prize.go

@ -0,0 +1,57 @@
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
}

1
internal/model/do/prize.go

@ -15,7 +15,6 @@ type Prize struct {
Id interface{} // 奖品ID
Name interface{} // 奖品名称
ImgUrl interface{} // 奖品图片
Limit interface{} // 奖品期限
Level interface{} // 奖品等级
Odds interface{} // 奖品抽取概率
CreatedAt *gtime.Time // 创建时间

1
internal/model/entity/prize.go

@ -13,7 +13,6 @@ type Prize struct {
Id uint `json:"id" orm:"id" description:"奖品ID"` // 奖品ID
Name string `json:"name" orm:"name" description:"奖品名称"` // 奖品名称
ImgUrl string `json:"imgUrl" orm:"img_url" description:"奖品图片"` // 奖品图片
Limit string `json:"limit" orm:"limit" description:"奖品期限"` // 奖品期限
Level int `json:"level" orm:"level" description:"奖品等级"` // 奖品等级
Odds float64 `json:"odds" orm:"odds" description:"奖品抽取概率"` // 奖品抽取概率
CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` // 创建时间

0
internal/service/.gitkeep

35
internal/service/prize.go

@ -0,0 +1,35 @@
// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================
package service
import (
"MangheGo/api/v1/prize"
"MangheGo/internal/model/entity"
"context"
)
type (
IPrize interface {
GetPrizeList(ctx context.Context) (prizeList []*entity.Prize, err error)
EditPrize(ctx context.Context, req *prize.EditPrizeReq) (err error)
DeletePrize(ctx context.Context, id int) (err error)
}
)
var (
localPrize IPrize
)
func Prize() IPrize {
if localPrize == nil {
panic("implement not found for interface IPrize, forgot register?")
}
return localPrize
}
func RegisterPrize(i IPrize) {
localPrize = i
}

3
main.go

@ -3,8 +3,11 @@ package main
import (
_ "MangheGo/internal/packed"
_ "MangheGo/internal/logic"
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
"github.com/gogf/gf/v2/os/gctx"
"MangheGo/internal/cmd"

Loading…
Cancel
Save