feat : script service
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-01-23 14:48:44 +08:00
parent ab78141e7d
commit b3c49eaa34
17 changed files with 485 additions and 84 deletions
@@ -8,13 +8,12 @@ import (
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/service"
"git.icechen.cn/monorepo/backend/pkg/api"
"git.icechen.cn/monorepo/backend/pkg/proto/brahma/murders"
"git.icechen.cn/monorepo/backend/pkg/rpc"
"github.com/go-playground/validator/v10"
"github.com/gofiber/fiber/v2"
ctxLogger "github.com/luizsuper/ctxLoggers"
"github.com/pkg/errors"
"go.uber.org/zap"
"google.golang.org/grpc"
"log"
"strconv"
"time"
)
@@ -90,25 +89,20 @@ func DeleteScriptsH(ctx *fiber.Ctx) error {
}
func GetScriptApi(ctx *fiber.Ctx) error {
//todo:调通中间层
//todo:换成服务
conn, err := grpc.Dial("localhost:3000", grpc.WithInsecure(), grpc.WithBlock())
if err != nil {
log.Fatalf("did not connect: %v", err)
}
outgoingContext, cancelFunc := pkg.TransFiberCtx2NewOutgoingContext(ctx, 3*time.Second)
defer conn.Close()
defer cancelFunc()
c := murders.NewMurdersClient(conn)
c := murders.NewMurdersClient(rpc.GetServiceConn("murder"))
page := ctx.Query("page", "1")
limit := ctx.Query("size", "10")
query := ctx.Query("query", "")
p, err := strconv.Atoi(page)
if err != nil {
ctxLogger.Error(ctx.UserContext(), pageIsNotInt.Error(), zap.String("page", page))
return pageIsNotInt
}
l, err := strconv.Atoi(limit)
if err != nil {
ctxLogger.Error(ctx.UserContext(), limitIsNotInt.Error(), zap.String("limit", limit))
@@ -116,11 +110,13 @@ func GetScriptApi(ctx *fiber.Ctx) error {
}
validate := validator.New()
err = validate.Var(p, "gte=0")
if err != nil {
ctxLogger.Error(ctx.UserContext(), limitIsNotInt.Error(), zap.String("limit", limit))
return api.WarpFError(err)
}
err = validate.Var(l, "gte=-1")
if err != nil {
ctxLogger.Error(ctx.UserContext(), limitIsNotInt.Error(), zap.String("limit", limit))
@@ -129,10 +125,11 @@ func GetScriptApi(ctx *fiber.Ctx) error {
p64 := int64(p)
l64 := int64(l)
condition := murders.QueryCondition{
Page: &p64,
Size: &l64,
QueryMap: nil,
Page: &p64,
Size: &l64,
Query: &query,
}
scripts, err := c.GetScripts(outgoingContext, &condition)