作者 tangxvhui

自动创建赛季

... ... @@ -488,3 +488,96 @@ func (c RankController) RankRangeMove() {
msg = protocol.NewReturnResponse(nil, err)
return
}
//RankTypeConfig 赛季榜单的一些特殊配置(自动创建赛季)
//@router /rank/type/config_set
func (c RankController) RankTypeConfigSet() {
var msg *protocol.ResponseMessage
defer func() {
c.ResposeJson(msg)
}()
type Parameter struct {
RankTypeId int64 `json:"rank_type_id"`
AutoCreate int `json:"auto_create"` //【0:不自动创建】【1:自动创建】
AutoCreateDay int64 `json:"auto_create_day"` //赛季时间, 单位:天
}
var param Parameter
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
log.Error("json 解析失败 err:%s", err)
msg = protocol.BadRequestParam("1")
return
}
companyid := c.GetCompanyId()
var (
err error
rankType *models.RankType
)
rankType, err = models.GetRankById(param.RankTypeId)
if err != nil {
log.Error("获取rank_type数据失败:%s", err)
e := protocol.NewErrWithMessage("1")
msg = protocol.NewReturnResponse(nil, e)
return
}
if rankType.CompanyId != companyid {
log.Error("公司不匹配")
e := protocol.NewErrWithMessage("1")
msg = protocol.NewReturnResponse(nil, e)
return
}
v := models.RankTypeConfigSet{
AutoCreate: param.AutoCreate,
AutoCreateLength: param.AutoCreateDay,
}
bt, _ := json.Marshal(v)
rankType.ConfigSet = string(bt)
err = models.UpdateRankById(rankType, []string{"ConfigSet"})
if err != nil {
log.Error("更新rank_type数据失败;%s", err)
e := protocol.NewErrWithMessage("1")
msg = protocol.NewReturnResponse(nil, e)
return
}
msg = protocol.NewReturnResponse(nil, nil)
return
}
//RankTypeConfig 赛季榜单的一些特殊配置(自动创建赛季)
//@router /rank/type/config_show
func (c RankController) RankTypeConfigShow() {
var msg *protocol.ResponseMessage
defer func() {
c.ResposeJson(msg)
}()
type Parameter struct {
RankTypeId int64 `json:"rank_type_id"`
}
var param Parameter
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
log.Error("json 解析失败 err:%s", err)
msg = protocol.BadRequestParam("1")
return
}
companyid := c.GetCompanyId()
var (
err error
rankType *models.RankType
)
rankType, err = models.GetRankById(param.RankTypeId)
if err != nil {
log.Error("获取rank_type数据失败:%s", err)
e := protocol.NewErrWithMessage("1")
msg = protocol.NewReturnResponse(nil, e)
return
}
if rankType.CompanyId != companyid {
log.Error("公司不匹配")
e := protocol.NewErrWithMessage("1")
msg = protocol.NewReturnResponse(nil, e)
return
}
v := &models.RankTypeConfigSet{}
json.Unmarshal([]byte(rankType.ConfigSet), v)
msg = protocol.NewReturnResponse(v, nil)
return
}
... ...
... ... @@ -15,6 +15,7 @@ type RankType struct {
CreateAt time.Time `orm:"column(create_at);type(timestamp);null" description:"创建时间"`
UpdateAt time.Time `orm:"column(update_at);type(timestamp);null" description:"更新时间"`
Type int8 `orm:"column(type)"`
ConfigSet string `orm:"column(config_set)"`
}
func (t *RankType) TableName() string {
... ... @@ -37,6 +38,11 @@ const (
RANK_STATUS_NO int8 = 2 //禁用
)
type RankTypeConfigSet struct {
AutoCreate int `json:"auto_create"` //【0:不自动创建】【1:自动创建】
AutoCreateLength int64 `json:"auto_create_length"` //【创建的赛季间隔,单位:天】
}
// AddRank insert a new Rank into database and returns
// last inserted Id on success.
func AddRank(m *RankType) (id int64, err error) {
... ...
... ... @@ -109,6 +109,8 @@ func init() {
beego.NSRouter("/type/list", &controllers.RankController{}, "post:GetRankType"),
beego.NSRouter("/type/edit", &controllers.RankController{}, "post:EditRankType"),
beego.NSRouter("/type/forbid_allow", &controllers.RankController{}, "post:RankTypeForbidAllow"),
beego.NSRouter("/type/config_set", &controllers.RankController{}, "post:RankTypeConfigSet"),
beego.NSRouter("/type/config_show", &controllers.RankController{}, "post:RankTypeConfigShow"),
beego.NSRouter("/season/add", &controllers.RankController{}, "post:RankSeasonAdd"),
beego.NSRouter("/season/list", &controllers.RankController{}, "post:RankSeasonList"),
beego.NSRouter("/season/edit", &controllers.RankController{}, "post:RankSeasonEdit"),
... ...
... ... @@ -822,3 +822,5 @@ func RankRangeMove(fromId int64, toId int64, relationId []int64, companyid int64
o.Commit()
return nil
}
// func SetAutoCreateRank
... ...