104 lines
2.5 KiB
Go
104 lines
2.5 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"net/http"
|
|
"os"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
|
|
"git.rosy.net.cn/jx-callback/business/jxstore/qorcms"
|
|
"git.rosy.net.cn/jx-callback/globals"
|
|
"git.rosy.net.cn/jx-callback/globals/api"
|
|
"git.rosy.net.cn/jx-callback/globals/beegodb"
|
|
"git.rosy.net.cn/jx-callback/legacy/tasks"
|
|
_ "git.rosy.net.cn/jx-callback/routers"
|
|
"github.com/astaxie/beego"
|
|
)
|
|
|
|
var (
|
|
GitCommit string
|
|
GitBranch string
|
|
GitState string
|
|
GitSummary string
|
|
BuildDate string
|
|
Version string
|
|
)
|
|
|
|
func Init() {
|
|
// globals.Init()
|
|
beegodb.Init()
|
|
api.Init()
|
|
}
|
|
|
|
// 返回true表示非运行服务
|
|
func checkCmdFlags() bool {
|
|
var flagGitCommit bool
|
|
var flagGitBranch bool
|
|
var flagGitState bool
|
|
var flagGitSummary bool
|
|
var flagBuildDate bool
|
|
var flagVersion bool
|
|
var flagFullInfo bool
|
|
|
|
flag.BoolVar(&flagGitCommit, "gitcommit", false, "get gitcommit info")
|
|
flag.BoolVar(&flagGitBranch, "gitbranch", false, "get gitbranch info")
|
|
flag.BoolVar(&flagGitState, "gitstate", false, "get gitstate info")
|
|
flag.BoolVar(&flagGitSummary, "gitsummary", false, "get gitsummary info")
|
|
flag.BoolVar(&flagBuildDate, "builddate", false, "get builddate info")
|
|
flag.BoolVar(&flagVersion, "version", false, "get version info")
|
|
flag.BoolVar(&flagFullInfo, "fullinfo", false, "get fullinfo info")
|
|
flag.Parse()
|
|
|
|
if flagGitCommit || flagFullInfo {
|
|
fmt.Println(GitCommit)
|
|
}
|
|
if flagGitBranch || flagFullInfo {
|
|
fmt.Println(GitBranch)
|
|
}
|
|
if flagGitState || flagFullInfo {
|
|
fmt.Println(GitState)
|
|
}
|
|
if flagGitSummary || flagFullInfo {
|
|
fmt.Println(GitSummary)
|
|
}
|
|
if flagBuildDate || flagFullInfo {
|
|
fmt.Println(BuildDate)
|
|
}
|
|
if flagVersion || flagFullInfo {
|
|
fmt.Println(Version)
|
|
}
|
|
|
|
return len(os.Args) > 1
|
|
}
|
|
|
|
func main() {
|
|
if !checkCmdFlags() {
|
|
Init()
|
|
if beego.BConfig.RunMode == "prod" {
|
|
if err := tasks.RefreshWeixinToken(); err != nil {
|
|
globals.SugarLogger.Errorf("RefreshWeixinToken failed with error:%s", err)
|
|
return
|
|
}
|
|
if err := tasks.RefreshElmToken(); err != nil {
|
|
globals.SugarLogger.Errorf("RefreshElmToken failed with error:%s", err)
|
|
return
|
|
}
|
|
orderman.LoadPendingOrders()
|
|
}
|
|
if beego.AppConfig.DefaultBool("enableStore", false) {
|
|
qorcms.Init()
|
|
mux := http.NewServeMux()
|
|
curAdmin := qorcms.GetAdmin()
|
|
curAdmin.MountTo("/admin", mux)
|
|
beego.Handler("/admin/*", mux)
|
|
}
|
|
|
|
if beego.BConfig.RunMode == "dev" {
|
|
beego.BConfig.WebConfig.DirectoryIndex = true
|
|
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
|
|
}
|
|
beego.Run()
|
|
}
|
|
}
|