achievement.go 2.4 KB
package v1

import (
	"encoding/json"

	"gitlab.fjmaimaimai.com/mmm-go/gocomm/pkg/log"
	"opp/controllers"
	"opp/protocol"
	"opp/services/chance"
)

//成果
type AchievementController struct {
	controllers.BaseController
}

//AchievementPool 成果池
// @router /achievementPool [post]
func (this *AchievementController) AchievementPool() {
	var msg *protocol.ResponseMessage
	defer func() {
		this.Resp(msg)
	}()
	var request *protocol.AchievementPoolRequest
	if err := json.Unmarshal(this.ByteBody, &request); err != nil {
		log.Error(err)
		msg = protocol.BadRequestParam(1)
		return
	}
	if b, m := this.Valid(request); !b {
		msg = m
		return
	}
	header := controllers.GetRequestHeader(this.Ctx)
	request.IncludeSubDepartment = false
	msg = protocol.NewReturnResponse(chance.AchievementPool(header, request))
}

//MyGrasp 我把握的
// @router /myGrasp [post]
func (this *AchievementController) MyGrasp() {
	var msg *protocol.ResponseMessage
	defer func() {
		this.Resp(msg)
	}()
	var request *protocol.MyGraspRequest
	if err := json.Unmarshal(this.ByteBody, &request); err != nil {
		log.Error(err)
		msg = protocol.BadRequestParam(1)
		return
	}
	if b, m := this.Valid(request); !b {
		msg = m
		return
	}
	header := controllers.GetRequestHeader(this.Ctx)
	msg = protocol.NewReturnResponse(chance.MyGrasp(header, request))
}

//AchievementDetail 成果详情
// @router /achievementDetail [post]
func (this *AchievementController) AchievementDetail() {
	var msg *protocol.ResponseMessage
	defer func() {
		this.Resp(msg)
	}()
	var request *protocol.AchievementDetailRequest
	if err := json.Unmarshal(this.ByteBody, &request); err != nil {
		log.Error(err)
		msg = protocol.BadRequestParam(1)
		return
	}
	if b, m := this.Valid(request); !b {
		msg = m
		return
	}
	header := controllers.GetRequestHeader(this.Ctx)
	msg = protocol.NewReturnResponse(chance.AchievementDetail(header, request))
}

//MyGraspStatistic 我把握的统计(按一级分类类型)
// @router /myGraspStatistic [post]
func (this *AchievementController) MyGraspStatistic() {
	var msg *protocol.ResponseMessage
	defer func() {
		this.Resp(msg)
	}()
	var request *protocol.MyGraspStatisticRequest
	if err := json.Unmarshal(this.ByteBody, &request); err != nil {
		log.Error(err)
		msg = protocol.BadRequestParam(1)
		return
	}
	if b, m := this.Valid(request); !b {
		msg = m
		return
	}
	header := controllers.GetRequestHeader(this.Ctx)
	msg = protocol.NewReturnResponse(chance.MyGraspStatistic(header, request))
}