You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
2.7 KiB

package main
import (
"dsDataex/MyService/Auth/AuthController"
"dsDataex/MyService/Auth/AuthGrpc"
"dsDataex/MyService/Auth/AuthGrpc/AuthGrpcProto"
"dsDataex/MyService/DataEX/DataexController"
"dsDataex/Utils/CacheUtil"
"dsDataex/Utils/ConfigUtil"
"dsDataex/Utils/ES7SqlUtil"
"dsDataex/Utils/ES7Util"
_ "dsDataex/docs"
"fmt"
"github.com/gin-gonic/gin"
ginSwagger "github.com/swaggo/gin-swagger"
"github.com/swaggo/gin-swagger/swaggerFiles"
"golang.org/x/sync/errgroup"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
"log"
"net"
)
var (
r *gin.Engine
s *grpc.Server
g errgroup.Group
)
func GrpcServerInit() {
s = grpc.NewServer()
AuthGrpcProto.RegisterAuthGrpcServiceServer(s, &AuthGrpc.Rpc{})
reflection.Register(s)
}
func GinServerInit() {
gin.SetMode(gin.DebugMode)
r = gin.Default()
//r.Static("/myView", "./myView")
r.GET("/", func(c *gin.Context) {
c.JSON(200, "dsDataEX GO !!!")
})
//r.Use(Utils.Cors())
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
rgroup := r.Group("v1")
//数据交换、汇集
DataexController.Routers(rgroup)
//接入系统鉴权
AuthController.Routers(rgroup)
//Mock Service for Swagger ,path 前面增加 mock/
//SwagMock.Init(r)
}
// @title DataEX
// @version 1.0
// @description DataEX Service using GO!!! create by zhangjun 2020-06-03
// @termsOfService http://swagger.io/terms/
// @contact.name API Support
// @contact.url http://www.swagger.io/support
// @contact.email 53766543@qq.com
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @host 127.0.0.1:9009
// @BasePath /
// @query.collection.format multi
// @securityDefinitions.basic BasicAuth
func main() {
fmt.Println("Dsideal DataEX GO GO GO !!!")
fmt.Println("ES Server :" + ES7Util.ServerVersion)
fmt.Println("ES Server :" + ES7SqlUtil.ServerVersion)
//var sql="select city_name,area_name,org_name,school_typename,left(data_content.class_code,5) as grade,data_content.class_code as class ,data_content.xm from user_student where enable_flag=1 and data_content.b_use=true"
//
//fmt.Println(ES7SqlUtil.SqlQueryJson(sql))
//
//fmt.Println(ES7SqlUtil.SqlQueryTxt(sql))
CacheUtil.OrgtreeCacheInit()
//fmt.Println(ES7TypeUtil.GetES7Type("safety","data_id"))
GinServerInit()
g.Go(func() error {
fmt.Printf("dsDataEX Gin服务启动成功,服务端口: %s\n", ConfigUtil.ProjectPort)
return r.Run(":" + ConfigUtil.ProjectPort)
})
GrpcServerInit()
g.Go(func() error {
lis, _ := net.Listen("tcp", ":"+ConfigUtil.ProjectGrpc)
fmt.Printf("dsDataEX GRPC服务发布成功,服务端口: %s\n", ConfigUtil.ProjectGrpc)
return s.Serve(lis)
})
if err := g.Wait(); err != nil {
log.Fatal(err)
}
}