作者 tangxvhui

自动创建赛季

@@ -488,3 +488,96 @@ func (c RankController) RankRangeMove() { @@ -488,3 +488,96 @@ func (c RankController) RankRangeMove() {
488 msg = protocol.NewReturnResponse(nil, err) 488 msg = protocol.NewReturnResponse(nil, err)
489 return 489 return
490 } 490 }
  491 +
  492 +//RankTypeConfig 赛季榜单的一些特殊配置(自动创建赛季)
  493 +//@router /rank/type/config_set
  494 +func (c RankController) RankTypeConfigSet() {
  495 + var msg *protocol.ResponseMessage
  496 + defer func() {
  497 + c.ResposeJson(msg)
  498 + }()
  499 + type Parameter struct {
  500 + RankTypeId int64 `json:"rank_type_id"`
  501 + AutoCreate int `json:"auto_create"` //【0:不自动创建】【1:自动创建】
  502 + AutoCreateDay int64 `json:"auto_create_day"` //赛季时间, 单位:天
  503 + }
  504 + var param Parameter
  505 + if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
  506 + log.Error("json 解析失败 err:%s", err)
  507 + msg = protocol.BadRequestParam("1")
  508 + return
  509 + }
  510 + companyid := c.GetCompanyId()
  511 + var (
  512 + err error
  513 + rankType *models.RankType
  514 + )
  515 + rankType, err = models.GetRankById(param.RankTypeId)
  516 + if err != nil {
  517 + log.Error("获取rank_type数据失败:%s", err)
  518 + e := protocol.NewErrWithMessage("1")
  519 + msg = protocol.NewReturnResponse(nil, e)
  520 + return
  521 + }
  522 + if rankType.CompanyId != companyid {
  523 + log.Error("公司不匹配")
  524 + e := protocol.NewErrWithMessage("1")
  525 + msg = protocol.NewReturnResponse(nil, e)
  526 + return
  527 + }
  528 + v := models.RankTypeConfigSet{
  529 + AutoCreate: param.AutoCreate,
  530 + AutoCreateLength: param.AutoCreateDay,
  531 + }
  532 + bt, _ := json.Marshal(v)
  533 + rankType.ConfigSet = string(bt)
  534 + err = models.UpdateRankById(rankType, []string{"ConfigSet"})
  535 + if err != nil {
  536 + log.Error("更新rank_type数据失败;%s", err)
  537 + e := protocol.NewErrWithMessage("1")
  538 + msg = protocol.NewReturnResponse(nil, e)
  539 + return
  540 + }
  541 + msg = protocol.NewReturnResponse(nil, nil)
  542 + return
  543 +}
  544 +
  545 +//RankTypeConfig 赛季榜单的一些特殊配置(自动创建赛季)
  546 +//@router /rank/type/config_show
  547 +func (c RankController) RankTypeConfigShow() {
  548 + var msg *protocol.ResponseMessage
  549 + defer func() {
  550 + c.ResposeJson(msg)
  551 + }()
  552 + type Parameter struct {
  553 + RankTypeId int64 `json:"rank_type_id"`
  554 + }
  555 + var param Parameter
  556 + if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
  557 + log.Error("json 解析失败 err:%s", err)
  558 + msg = protocol.BadRequestParam("1")
  559 + return
  560 + }
  561 + companyid := c.GetCompanyId()
  562 + var (
  563 + err error
  564 + rankType *models.RankType
  565 + )
  566 + rankType, err = models.GetRankById(param.RankTypeId)
  567 + if err != nil {
  568 + log.Error("获取rank_type数据失败:%s", err)
  569 + e := protocol.NewErrWithMessage("1")
  570 + msg = protocol.NewReturnResponse(nil, e)
  571 + return
  572 + }
  573 + if rankType.CompanyId != companyid {
  574 + log.Error("公司不匹配")
  575 + e := protocol.NewErrWithMessage("1")
  576 + msg = protocol.NewReturnResponse(nil, e)
  577 + return
  578 + }
  579 + v := &models.RankTypeConfigSet{}
  580 + json.Unmarshal([]byte(rankType.ConfigSet), v)
  581 + msg = protocol.NewReturnResponse(v, nil)
  582 + return
  583 +}
@@ -15,6 +15,7 @@ type RankType struct { @@ -15,6 +15,7 @@ type RankType struct {
15 CreateAt time.Time `orm:"column(create_at);type(timestamp);null" description:"创建时间"` 15 CreateAt time.Time `orm:"column(create_at);type(timestamp);null" description:"创建时间"`
16 UpdateAt time.Time `orm:"column(update_at);type(timestamp);null" description:"更新时间"` 16 UpdateAt time.Time `orm:"column(update_at);type(timestamp);null" description:"更新时间"`
17 Type int8 `orm:"column(type)"` 17 Type int8 `orm:"column(type)"`
  18 + ConfigSet string `orm:"column(config_set)"`
18 } 19 }
19 20
20 func (t *RankType) TableName() string { 21 func (t *RankType) TableName() string {
@@ -37,6 +38,11 @@ const ( @@ -37,6 +38,11 @@ const (
37 RANK_STATUS_NO int8 = 2 //禁用 38 RANK_STATUS_NO int8 = 2 //禁用
38 ) 39 )
39 40
  41 +type RankTypeConfigSet struct {
  42 + AutoCreate int `json:"auto_create"` //【0:不自动创建】【1:自动创建】
  43 + AutoCreateLength int64 `json:"auto_create_length"` //【创建的赛季间隔,单位:天】
  44 +}
  45 +
40 // AddRank insert a new Rank into database and returns 46 // AddRank insert a new Rank into database and returns
41 // last inserted Id on success. 47 // last inserted Id on success.
42 func AddRank(m *RankType) (id int64, err error) { 48 func AddRank(m *RankType) (id int64, err error) {
@@ -109,6 +109,8 @@ func init() { @@ -109,6 +109,8 @@ func init() {
109 beego.NSRouter("/type/list", &controllers.RankController{}, "post:GetRankType"), 109 beego.NSRouter("/type/list", &controllers.RankController{}, "post:GetRankType"),
110 beego.NSRouter("/type/edit", &controllers.RankController{}, "post:EditRankType"), 110 beego.NSRouter("/type/edit", &controllers.RankController{}, "post:EditRankType"),
111 beego.NSRouter("/type/forbid_allow", &controllers.RankController{}, "post:RankTypeForbidAllow"), 111 beego.NSRouter("/type/forbid_allow", &controllers.RankController{}, "post:RankTypeForbidAllow"),
  112 + beego.NSRouter("/type/config_set", &controllers.RankController{}, "post:RankTypeConfigSet"),
  113 + beego.NSRouter("/type/config_show", &controllers.RankController{}, "post:RankTypeConfigShow"),
112 beego.NSRouter("/season/add", &controllers.RankController{}, "post:RankSeasonAdd"), 114 beego.NSRouter("/season/add", &controllers.RankController{}, "post:RankSeasonAdd"),
113 beego.NSRouter("/season/list", &controllers.RankController{}, "post:RankSeasonList"), 115 beego.NSRouter("/season/list", &controllers.RankController{}, "post:RankSeasonList"),
114 beego.NSRouter("/season/edit", &controllers.RankController{}, "post:RankSeasonEdit"), 116 beego.NSRouter("/season/edit", &controllers.RankController{}, "post:RankSeasonEdit"),
@@ -822,3 +822,5 @@ func RankRangeMove(fromId int64, toId int64, relationId []int64, companyid int64 @@ -822,3 +822,5 @@ func RankRangeMove(fromId int64, toId int64, relationId []int64, companyid int64
822 o.Commit() 822 o.Commit()
823 return nil 823 return nil
824 } 824 }
  825 +
  826 +// func SetAutoCreateRank