Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"http.go",
"question.go",
],
importpath = "go-common/app/admin/main/answer/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/admin/main/answer/conf:go_default_library",
"//app/admin/main/answer/model:go_default_library",
"//app/admin/main/answer/service:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/middleware/permit:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,50 @@
package http
import (
"go-common/app/admin/main/answer/conf"
"go-common/app/admin/main/answer/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/permit"
)
var (
answerSvc *service.Service
permitX *permit.Permit
)
// Init init http sever instance.
func Init(c *conf.Config, s *service.Service) {
answerSvc = s
permitX = permit.New(c.Auth)
// init inner router
engine := bm.DefaultServer(c.BM)
innerRouter(engine)
// init inner server
if err := engine.Start(); err != nil {
log.Error("xhttp.Serve inner error(%v)", err)
panic(err)
}
}
// innerRouter init inner router.
func innerRouter(e *bm.Engine) {
// health check
e.Ping(ping)
//internal api
que := e.Group("/x/admin/answer/v3")
{
que.GET("/types", types)
que.GET("/questions", permitX.Permit("ANSWER_LIST"), quesList)
que.POST("/upload", permitX.Permit("ANSWER_UPLOAD"), uploadQsts)
que.POST("/question/edit", permitX.Permit("ANSWER_EDIT"), queEdit)
que.POST("/question/disable", permitX.Permit("ANSWER_DISABLE"), queDisable)
que.GET("/question/history", queHistory)
que.GET("/history", history)
que.GET("/load/img", loadImg)
}
}
// ping check server ok.
func ping(c *bm.Context) {}

View File

@@ -0,0 +1,117 @@
package http
import (
"context"
"go-common/app/admin/main/answer/model"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
"mime/multipart"
)
func queDisable(c *bm.Context) {
var (
err error
)
arg := new(struct {
Qids []int64 `form:"id,split"`
Operator string `form:"operator"`
})
if err = c.Bind(arg); err != nil {
return
}
if len(arg.Qids) > model.MaxCount {
c.JSON(nil, ecode.RequestErr)
return
}
username, ok := c.Get("username")
if !ok {
c.JSON(nil, ecode.AccessDenied)
return
}
arg.Operator = username.(string)
if err = answerSvc.BatchUpdateState(c, arg.Qids, model.StageDisable, arg.Operator); err != nil {
c.JSON(nil, err)
return
}
// if arg.State == 1 {
// answerSvc.CreateBFSImg(c, arg.Qids)
// }
c.JSON(nil, nil)
}
func quesList(c *bm.Context) {
var (
err error
arg = new(model.ArgQue)
)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(answerSvc.QuestionList(c, arg))
}
func types(c *bm.Context) {
c.JSON(answerSvc.Types(c))
}
func uploadQsts(c *bm.Context) {
var (
f multipart.File
h *multipart.FileHeader
err error
)
f, h, err = c.Request.FormFile("file")
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
username, ok := c.Get("username")
if !ok {
c.JSON(nil, ecode.AccessDenied)
return
}
c.JSON(answerSvc.UploadQsts(c, f, h, username.(string)))
}
func queEdit(c *bm.Context) {
var (
err error
arg = new(model.QuestionDB)
)
if err = c.Bind(arg); err != nil {
return
}
username, ok := c.Get("username")
if !ok {
c.JSON(nil, ecode.AccessDenied)
return
}
arg.Operator = username.(string)
c.JSON(answerSvc.QuestionEdit(c, arg))
}
func loadImg(c *bm.Context) {
c.JSON(nil, answerSvc.LoadImg(context.Background()))
}
func queHistory(c *bm.Context) {
var (
err error
arg = new(model.ArgHistory)
)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(answerSvc.QueHistory(c, arg))
}
func history(c *bm.Context) {
var (
err error
arg = new(model.ArgHistory)
)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(answerSvc.History(c, arg))
}