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) } }