@@ -0,0 +1,77 @@
|
||||
package vipcardexperimentctrl
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/l/operatorlgmod"
|
||||
"91porn-server/models/v/vipcardexperimentmod"
|
||||
"91porn-server/web/service/vipcardexperimentser"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func Current(ctx *gin.Context) {
|
||||
experiment, err := vipcardexperimentser.Current(time.Now())
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, err.Error())
|
||||
return
|
||||
}
|
||||
if experiment == nil {
|
||||
common.ServeJSON(ctx, stderr.Success, gin.H{})
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, experiment)
|
||||
}
|
||||
|
||||
func Publish(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
experiment := vipcardexperimentmod.Experiment{}
|
||||
if err = ctx.ShouldBindJSON(&experiment); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
if err = vipcardexperimentser.Publish(&experiment, manager); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
body, _ := json.Marshal(experiment)
|
||||
_ = operatorlgmod.RecordOperation(manager, "VIP卡片A/B实验", "发布", string(body), ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, experiment)
|
||||
}
|
||||
|
||||
func Disable(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
request := vipcardexperimentser.DisableRequest{}
|
||||
if err = ctx.ShouldBindJSON(&request); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
if err = vipcardexperimentser.Disable(request.ExperimentID, manager); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
_ = operatorlgmod.RecordOperation(manager, "VIP卡片A/B实验", "停用", request.ExperimentID, ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, "")
|
||||
}
|
||||
|
||||
func Statistics(ctx *gin.Context) {
|
||||
experimentID := strings.TrimSpace(ctx.Query("experimentId"))
|
||||
response, err := vipcardexperimentser.Statistics(experimentID)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, response)
|
||||
}
|
||||
Reference in New Issue
Block a user