修改周卡逻辑

dev_aagame_provider
zhora 2 months ago
parent 40c0a7b8d6
commit b7983ffcab
  1. 28
      call/config.go
  2. 45
      call/pay.go
  3. 18
      call/reload.go
  4. 33
      common/activity.go
  5. 6
      common/config.go
  6. 21
      common/share.go
  7. 2
      modules/backend/migrate.go
  8. 4
      modules/backend/values/gm.go
  9. 68
      modules/web/handler/activity.go
  10. 1
      modules/web/routers/routers.go
  11. 11
      modules/web/routers/routers_weekCard.go

@ -57,7 +57,6 @@ var (
configActivitySign []*common.ConfigActivitySign configActivitySign []*common.ConfigActivitySign
configActivityBreakGift []*common.ConfigActivityBreakGift configActivityBreakGift []*common.ConfigActivityBreakGift
configShareRobot []*common.ConfigShareRobot configShareRobot []*common.ConfigShareRobot
configActivityWeekCard *common.ConfigActivityWeekCard
configActivitySlots []*common.ConfigActivitySlots configActivitySlots []*common.ConfigActivitySlots
configActivityLuckyShop []*common.ConfigActivityLuckyShop configActivityLuckyShop []*common.ConfigActivityLuckyShop
configServerFlag []*common.ConfigServerFlag configServerFlag []*common.ConfigServerFlag
@ -97,6 +96,8 @@ var (
configShareMu sync.Mutex configShareMu sync.Mutex
configShareMap map[int]*common.ConfigShare configShareMap map[int]*common.ConfigShare
configWeekCard *common.ConfigWeekCard
) )
var ( var (
@ -1676,17 +1677,30 @@ func GetConfigShareRobotByID(robotID int) *common.ConfigShareRobot {
return nil return nil
} }
func LoadConfigActivityWeekCard() (err error) { func LoadConfigWeekCard() (err error) {
one := new(common.ConfigActivityWeekCard) one := new(common.ConfigWeekCard)
if err := db.Mysql().Get(one); err != nil { if _, err = db.Mysql().QueryAll("switch = 1", "", &common.ConfigWeekCard{}, &one); err != nil {
log.Error("err:%v", err)
return err return err
} }
configActivityWeekCard = one if one.AwardData != "" {
var awardData []common.WeekCardDay
err = json.Unmarshal([]byte(one.AwardData), &awardData)
if err != nil {
log.Error("unmarshal err, %s", err.Error())
return
}
one.AwardDetails = make(map[int]common.WeekCardDay)
for _, v := range awardData {
one.AwardDetails[v.Day] = v
}
}
configWeekCard = one
return nil return nil
} }
func GetConfigActivityWeekCard() *common.ConfigActivityWeekCard { func GetConfigWeekCard() *common.ConfigWeekCard {
return configActivityWeekCard return configWeekCard
} }
func LoadConfigActivitySlots() (err error) { func LoadConfigActivitySlots() (err error) {

@ -16,7 +16,6 @@ import (
"server/pb" "server/pb"
"server/util" "server/util"
"sort" "sort"
"strings"
"time" "time"
"github.com/gogo/protobuf/proto" "github.com/gogo/protobuf/proto"
@ -645,7 +644,7 @@ func ActivityBreakGift(r *common.RechargeOrder, product *common.ConfigPayProduct
} }
func ActivityWeekCard(r *common.RechargeOrder, product *common.ConfigPayProduct) { func ActivityWeekCard(r *common.RechargeOrder, product *common.ConfigPayProduct) {
con := GetConfigActivityWeekCard() con := GetConfigWeekCard()
if con == nil { if con == nil {
return return
} }
@ -669,28 +668,30 @@ func ActivityWeekCard(r *common.RechargeOrder, product *common.ConfigPayProduct)
}) })
UploadActivityData(r.UID, common.ActivityIDWeekCard, common.ActivityDataJoin, product.Value) UploadActivityData(r.UID, common.ActivityIDWeekCard, common.ActivityDataJoin, product.Value)
// 自动领第一天的 // 自动领第一天的
cons := GetConfigActivityWeekCard() cons := GetConfigWeekCard()
cardInfo := GetUserWeekCard(r.UID) cardInfo := GetUserWeekCard(r.UID)
var rewardList []int64 var rewardList []int64
rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) _ = rewardList
if err != nil { _ = cons
log.Error("err:%v", err) //rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5)
} //if err != nil {
rewardList = append([]int64{cons.DayOneReward}, rewardList...) // log.Error("err:%v", err)
rewardList = append(rewardList, 0) //}
if cardInfo.ID <= 0 || len(cardInfo.Rewards) == 0 { //rewardList = append([]int64{cons.DayOneReward}, rewardList...)
cardInfo.Day = 0 //rewardList = append(rewardList, 0)
rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) //if cardInfo.ID <= 0 || len(cardInfo.Rewards) == 0 {
if err != nil { // cardInfo.Day = 0
log.Error("err:%v", err) // rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5)
} // if err != nil {
rewardList = append([]int64{cons.DayOneReward}, rewardList...) // log.Error("err:%v", err)
rewardList = append(rewardList, 0) // }
cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",") // rewardList = append([]int64{cons.DayOneReward}, rewardList...)
db.Mysql().Update(&common.ActivityWeekCardData{UID: r.UID}, map[string]interface{}{ // rewardList = append(rewardList, 0)
"rewards": cardInfo.Rewards, // cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",")
}) // db.Mysql().Update(&common.ActivityWeekCardData{UID: r.UID}, map[string]interface{}{
} // "rewards": cardInfo.Rewards,
// })
//}
rewards, _ := util.StringToInt64Slice(cardInfo.Rewards, ",") rewards, _ := util.StringToInt64Slice(cardInfo.Rewards, ",")
if cardInfo.Day >= len(rewards) { if cardInfo.Day >= len(rewards) {
log.Error("The weekly card has been collected") log.Error("The weekly card has been collected")

@ -385,15 +385,6 @@ func CommonReload(c map[int][]func(*pb.ReloadGameConfig) error) {
return nil return nil
}} }}
} }
//if _, ok := c[common.ReloadConfigActivityWeekCard]; !ok {
// c[common.ReloadConfigActivityWeekCard] = []func(*pb.ReloadGameConfig) error{func(rgc *pb.ReloadGameConfig) error {
// if err := LoadConfigActivityWeekCard(); err != nil {
// log.Error("error : [%s]", err.Error())
// return err
// }
// return nil
// }}
//}
if _, ok := c[common.ReloadConfigActivitySlots]; !ok { if _, ok := c[common.ReloadConfigActivitySlots]; !ok {
c[common.ReloadConfigActivitySlots] = []func(*pb.ReloadGameConfig) error{func(rgc *pb.ReloadGameConfig) error { c[common.ReloadConfigActivitySlots] = []func(*pb.ReloadGameConfig) error{func(rgc *pb.ReloadGameConfig) error {
if err := LoadConfigActivitySlots(); err != nil { if err := LoadConfigActivitySlots(); err != nil {
@ -632,4 +623,13 @@ func CommonReload(c map[int][]func(*pb.ReloadGameConfig) error) {
return nil return nil
}} }}
} }
if _, ok := c[common.ReloadConfigWeekCard]; !ok {
c[common.ReloadConfigWeekCard] = []func(*pb.ReloadGameConfig) error{func(rgc *pb.ReloadGameConfig) error {
if err := LoadConfigWeekCard(); err != nil {
log.Error("error : [%s]", err.Error())
return err
}
return nil
}}
}
} }

@ -297,18 +297,6 @@ func (c *ConfigActivityBreakGift) TableName() string {
return "config_activity_break_gift" return "config_activity_break_gift"
} }
type ConfigActivityWeekCard struct {
ID int `gorm:"primarykey"`
DayOneReward int64 `gorm:"column:day_one_reward;type:bigint(20);default:0;comment:第一天奖励" web:"day_one_reward"` // 下限
MiniLimit int64 `gorm:"column:mini_limit;type:bigint(20);default:0;comment:下限" web:"mini_limit"` // 下限
RewardAmount int64 `gorm:"column:reward_amount;type:bigint(20);default:0;comment:第二到第6天奖励金额" web:"reward_amount"` // 第二到第6天奖励金额
Discount int64 `gorm:"column:discount;type:bigint(20);default:0;comment:第二到第6天奖励金额" web:"discount"` // 满减券折扣
}
func (c *ConfigActivityWeekCard) TableName() string {
return "config_activity_week_card"
}
const ( const (
ActivityWeekCardTicketExpireTime = 48 * 3600 // 两个小时 ActivityWeekCardTicketExpireTime = 48 * 3600 // 两个小时
) )
@ -675,3 +663,24 @@ type PddLotteryHistory struct {
func (m *PddLotteryHistory) TableName() string { func (m *PddLotteryHistory) TableName() string {
return "pdd_lottery_history" return "pdd_lottery_history"
} }
type WeekCardDay struct {
Day int // 天数
AwardUpper int // 奖励上限
AwardLower int // 奖励下限
}
type ConfigWeekCard struct {
ID int `gorm:"primarykey"`
Switch int `gorm:"column:switch;type:int(11);default:0;comment:开关(1开2关)" json:"Switch" web:"switch"`
Amount int64 `gorm:"column:amount;type:int(20);default:50000;comment:周卡价格" json:"Amount" web:"amount"`
// []WeekCardDay json
AwardData string `gorm:"column:award_data;type:varchar(512);default:'';comment:奖励数据" json:"awardData" web:"award_data"`
AwardDetails map[int]WeekCardDay `gorm:"-"`
UpdatedBase
}
func (c *ConfigWeekCard) TableName() string {
return "config_week_card"
}

@ -43,7 +43,6 @@ const (
ReloadConfigActivitySign // 签到配置 ReloadConfigActivitySign // 签到配置
ReloadConfigActivityBreakGift // 破产礼包 ReloadConfigActivityBreakGift // 破产礼包
ReloadConfigShareRobot // 分享机器人 ReloadConfigShareRobot // 分享机器人
ReloadConfigActivityWeekCard // 周卡
ReloadConfigActivitySlots // slots奖池活动 ReloadConfigActivitySlots // slots奖池活动
ReloadConfigActivityLuckyShop // 幸运商店活动 ReloadConfigActivityLuckyShop // 幸运商店活动
ReloadConfigServerFlag // 服务器配置 ReloadConfigServerFlag // 服务器配置
@ -73,6 +72,7 @@ const (
ReloadConfigShareBanner ReloadConfigShareBanner
ReloadTypeConfigWithdrawWeight ReloadTypeConfigWithdrawWeight
ReloadTypeConfigShareRankAward ReloadTypeConfigShareRankAward
ReloadConfigWeekCard // 周卡
ReloadTypeExcel ReloadTypeExcel
) )
@ -148,8 +148,6 @@ func GetConfigStructByType(t int) (interface{}, interface{}) {
return &ConfigActivityBreakGift{}, &[]ConfigActivityBreakGift{} return &ConfigActivityBreakGift{}, &[]ConfigActivityBreakGift{}
case ReloadConfigShareRobot: case ReloadConfigShareRobot:
return &ConfigShareRobot{}, &[]ConfigShareRobot{} return &ConfigShareRobot{}, &[]ConfigShareRobot{}
case ReloadConfigActivityWeekCard:
return &ConfigActivityWeekCard{}, &[]ConfigActivityWeekCard{}
case ReloadConfigActivitySlots: case ReloadConfigActivitySlots:
return &ConfigActivitySlots{}, &[]ConfigActivitySlots{} return &ConfigActivitySlots{}, &[]ConfigActivitySlots{}
case ReloadConfigActivityLuckyShop: case ReloadConfigActivityLuckyShop:
@ -202,6 +200,8 @@ func GetConfigStructByType(t int) (interface{}, interface{}) {
return &ConfigWithdrawChannels{}, &[]ConfigWithdrawChannels{} return &ConfigWithdrawChannels{}, &[]ConfigWithdrawChannels{}
case ReloadTypeConfigShareRankAward: case ReloadTypeConfigShareRankAward:
return &ConfigShareRankAward{}, &[]ConfigShareRankAward{} return &ConfigShareRankAward{}, &[]ConfigShareRankAward{}
case ReloadConfigWeekCard:
return &ConfigWeekCard{}, &[]ConfigWeekCard{}
default: default:
return nil, nil return nil, nil
} }

@ -255,6 +255,7 @@ type ConfigShare struct {
BetRebate int64 `gorm:"column:bet_rebate;type:int(11);default:0;comment:客损返利(*1万)" web:"bet_rebate"` BetRebate int64 `gorm:"column:bet_rebate;type:int(11);default:0;comment:客损返利(*1万)" web:"bet_rebate"`
RechargeRebate int64 `gorm:"column:recharge_rebate;type:int(11);default:0;comment:充值返利(*1万)" web:"recharge_rebate"` RechargeRebate int64 `gorm:"column:recharge_rebate;type:int(11);default:0;comment:充值返利(*1万)" web:"recharge_rebate"`
InviteRebate int64 `gorm:"column:invite_rebate;type:int(11);default:0;comment:拉人奖励" web:"invite_rebate"` InviteRebate int64 `gorm:"column:invite_rebate;type:int(11);default:0;comment:拉人奖励" web:"invite_rebate"`
InviteRebateTotal int64 `gorm:"column:invite_rebate_total;type:int(11);default:80500;comment:拉人总奖励" web:"invite_rebate_total"`
BeInviteRebate int64 `gorm:"column:be_invite_rebate;type:int(11);default:10;comment:被拉人奖励" web:"be_invite_rebate"` BeInviteRebate int64 `gorm:"column:be_invite_rebate;type:int(11);default:10;comment:被拉人奖励" web:"be_invite_rebate"`
RewardTiers string `gorm:"column:reward_tiers;type:varchar(256);default:'[]';comment:返利层级配置" web:"reward_tiers"` RewardTiers string `gorm:"column:reward_tiers;type:varchar(256);default:'[]';comment:返利层级配置" web:"reward_tiers"`
SubRewardTiers []ConfigShareTiers `gorm:"-"` SubRewardTiers []ConfigShareTiers `gorm:"-"`
@ -518,20 +519,20 @@ func (c *ConfigShareRankAward) TableName() string {
type ShareRankData struct { type ShareRankData struct {
ID int64 `gorm:"column:id;type:bigint(20);primaryKey;autoIncrement:true" json:"id"` ID int64 `gorm:"column:id;type:bigint(20);primaryKey;autoIncrement:true" json:"id"`
UID int `gorm:"column:uid;type:bigint(11);not null;uniqueIndex:rank_idx,priority:3;comment:玩家id" json:"uid"` // 玩家id UID int `gorm:"column:uid;type:bigint(11);not null;uniqueIndex:rank_idx,priority:3;comment:玩家id" json:"uid"` // 玩家id
RankCycle int `gorm:"column:rank_cycle;type:int(11);default:0;uniqueIndex:rank_idx,priority:1;comment:排行榜周期(1:日,2:周,3:月)" json:"rank_cycle"` // 排行榜周期(1:日,2:周,3:月) RankCycle int `gorm:"column:rank_cycle;type:int(11);default:0;uniqueIndex:rank_idx,priority:1;comment:排行榜周期(1:日,2:周,3:月)" json:"rank_cycle"` // 排行榜周期(1:日,2:周,3:月)
RankAt int64 `gorm:"column:rank_at;type:bigint(20);not null;uniqueIndex:rank_idx,priority:2;comment:排行榜开始日期" json:"rank_at"` // 排行榜开始日期 RankAt int64 `gorm:"column:rank_at;type:bigint(20);not null;uniqueIndex:rank_idx,priority:2;comment:排行榜开始日期" json:"rank_at"` // 排行榜开始日期
RankValue int64 `gorm:"column:rank_value;type:bigint(20);not null;comment:玩家数值" json:"rank_value"` // 玩家数值 RankValue int64 `gorm:"column:rank_value;type:bigint(20);not null;comment:玩家数值" json:"rank_value"` // 玩家数值
IsRobot int `gorm:"column:is_robot;type:int(11);not null;comment:是不是机器人(0:不是,1:是)" json:"is_robot"` // 是不是机器人(0:不是,1:是) IsRobot int `gorm:"column:is_robot;type:int(11);not null;comment:是不是机器人(0:不是,1:是)" json:"is_robot"` // 是不是机器人(0:不是,1:是)
UserAward int `gorm:"column:user_award;type:int(11);not null;comment:玩家奖励比例(*10000)" json:"user_award"` // 玩家奖励比例(*10000) UserAward int `gorm:"column:user_award;type:int(11);not null;comment:玩家奖励比例(*10000)" json:"user_award"` // 玩家奖励比例(*10000)
UserAwardCount int64 `gorm:"column:user_award_count;type:bigint(20);not null;comment:玩家奖励数量" json:"user_award_count"` // 玩家奖励数量 UserAwardCount int64 `gorm:"column:user_award_count;type:bigint(20);not null;comment:玩家奖励数量" json:"user_award_count"` // 玩家奖励数量
Rank int `gorm:"column:rank;type:int(11);default:0;comment:排名" json:"rank"` // 玩家奖励比例(*10000) Rank int `gorm:"column:rank;type:int(11);default:0;comment:排名" json:"rank"` // 玩家奖励比例(*10000)
UpdatedAt int64 `gorm:"column:updated_at;type:bigint(20);not null;comment:更新时间" json:"updated_at"` // 更新时间 UpdatedAt int64 `gorm:"column:updated_at;type:bigint(20);not null;comment:更新时间" json:"updated_at"` // 更新时间
} }
type ShareRankDataWithUser struct { type ShareRankDataWithUser struct {
ShareRankData `gorm:"embedded"` // RankData的所有字段会展开到表中 ShareRankData `gorm:"embedded"` // RankData的所有字段会展开到表中
UserInfo PlayerDBInfo `gorm:"embedded"` // UserInfo的所有字段也会展开到同一张表中 UserInfo PlayerDBInfo `gorm:"embedded"` // UserInfo的所有字段也会展开到同一张表中
} }
func (c *ShareRankData) TableName() string { func (c *ShareRankData) TableName() string {

@ -96,7 +96,6 @@ func MigrateDB() {
new(common.ActivitySignData), new(common.ActivitySignData),
new(common.ConfigActivityBreakGift), new(common.ConfigActivityBreakGift),
new(common.ConfigShareRobot), new(common.ConfigShareRobot),
new(common.ConfigActivityWeekCard),
new(common.ActivityWeekCardData), new(common.ActivityWeekCardData),
new(common.ConfigActivitySlots), new(common.ConfigActivitySlots),
new(common.ActivitySlotsData), new(common.ActivitySlotsData),
@ -150,6 +149,7 @@ func MigrateDB() {
new(common.ConfigShareRankAward), new(common.ConfigShareRankAward),
new(common.ShareRankData), new(common.ShareRankData),
new(common.LuckyWheelReward), new(common.LuckyWheelReward),
new(common.ConfigWeekCard),
) )
if err != nil { if err != nil {
panic("Migrate db fail") panic("Migrate db fail")

@ -145,8 +145,6 @@ func GetControlType(path string) int {
return common.ReloadConfigActivityBreakGift return common.ReloadConfigActivityBreakGift
case "shareRobot": case "shareRobot":
return common.ReloadConfigShareRobot return common.ReloadConfigShareRobot
case "weekCard":
return common.ReloadConfigActivityWeekCard
case "slots": case "slots":
return common.ReloadConfigActivitySlots return common.ReloadConfigActivitySlots
case "luckyShop": case "luckyShop":
@ -206,6 +204,8 @@ func GetControlType(path string) int {
return common.ReloadConfigShareBanner return common.ReloadConfigShareBanner
case "shareRankAward": case "shareRankAward":
return common.ReloadTypeConfigShareRankAward return common.ReloadTypeConfigShareRankAward
case "weekCard":
return common.ReloadConfigWeekCard
default: default:
return 0 return 0
} }

@ -13,7 +13,6 @@ import (
"server/util" "server/util"
"sort" "sort"
"strconv" "strconv"
"strings"
"time" "time"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@ -1335,39 +1334,41 @@ func ActivityWeekCardInfo(c *gin.Context) {
} }
resp := &values.ActivityWeekCardInfoResp{} resp := &values.ActivityWeekCardInfoResp{}
a.Data = resp a.Data = resp
cons := call.GetConfigActivityWeekCard() cons := call.GetConfigWeekCard()
_ = cons
cardInfo := new(common.ActivityWeekCardData) cardInfo := new(common.ActivityWeekCardData)
if a.UID > 0 { if a.UID > 0 {
cardInfo = call.GetUserWeekCard(a.UID) cardInfo = call.GetUserWeekCard(a.UID)
} }
var rewardList []int64 var rewardList []int64
var err error var err error
rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) _ = err
if err != nil { //rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5)
log.Error("err:%v", err) //if err != nil {
} // log.Error("err:%v", err)
rewardList = append([]int64{cons.DayOneReward}, rewardList...) //}
rewardList = append(rewardList, 0) //rewardList = append([]int64{cons.DayOneReward}, rewardList...)
if cardInfo.ID <= 0 || len(cardInfo.Rewards) == 0 { //rewardList = append(rewardList, 0)
cardInfo.Day = 0 //if cardInfo.ID <= 0 || len(cardInfo.Rewards) == 0 {
rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5) // cardInfo.Day = 0
if err != nil { // rewardList, err = util.GenerateRandomSequence(cons.RewardAmount, cons.MiniLimit, 5)
log.Error("err:%v", err) // if err != nil {
} // log.Error("err:%v", err)
rewardList = append([]int64{cons.DayOneReward}, rewardList...) // }
rewardList = append(rewardList, 0) // rewardList = append([]int64{cons.DayOneReward}, rewardList...)
if cardInfo.ID <= 0 { // rewardList = append(rewardList, 0)
cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",") // if cardInfo.ID <= 0 {
if a.UID > 0 { // cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",")
db.Mysql().Create(cardInfo) // if a.UID > 0 {
} // db.Mysql().Create(cardInfo)
} else { // }
cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",") // } else {
db.Mysql().Update(&common.ActivityWeekCardData{UID: a.UID}, map[string]interface{}{ // cardInfo.Rewards = strings.Join(util.Int64SliceToStringSlice(rewardList), ",")
"rewards": cardInfo.Rewards, // db.Mysql().Update(&common.ActivityWeekCardData{UID: a.UID}, map[string]interface{}{
}) // "rewards": cardInfo.Rewards,
} // })
} // }
//}
if rewardList == nil { if rewardList == nil {
rewardList, _ = util.StringToInt64Slice(cardInfo.Rewards, ",") rewardList, _ = util.StringToInt64Slice(cardInfo.Rewards, ",")
@ -1380,11 +1381,12 @@ func ActivityWeekCardInfo(c *gin.Context) {
resp.RechargeStatus = false resp.RechargeStatus = false
} }
for _, item := range rewardList { for _, item := range rewardList {
resp.RewardList = append(resp.RewardList, values.WeekCardInfo{ _ = item
Min: cons.MiniLimit, //resp.RewardList = append(resp.RewardList, values.WeekCardInfo{
Max: cons.RewardAmount - cons.MiniLimit*4, // Min: cons.MiniLimit,
Val: item, // Max: cons.RewardAmount - cons.MiniLimit*4,
}) // Val: item,
//})
} }
resp.Status = true resp.Status = true
if config.GetBase().Release { if config.GetBase().Release {

@ -58,6 +58,7 @@ func SetUpRouter() *gin.Engine {
popUp(auth) popUp(auth)
luckyWheel(auth) luckyWheel(auth)
pdd(auth) pdd(auth)
weekCard(auth)
} }
provider := r.Group("provider/") provider := r.Group("provider/")
if config.GetBase().Release { if config.GetBase().Release {

@ -0,0 +1,11 @@
package routers
import (
"github.com/gin-gonic/gin"
"server/modules/web/handler"
)
func weekCard(e *gin.RouterGroup) {
e.POST("/weekCard/info", handler.ActivityWeekCardInfo)
e.POST("/weekCard/draw", handler.ActivityWeekCardDraw)
}
Loading…
Cancel
Save