Files
jx-callback/main.go
2019-02-15 17:53:22 +08:00

105 lines
2.7 KiB
Go

package main
import (
"flag"
"fmt"
"os"
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" // 导入缺省订单调度器
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxstore/misc"
"git.rosy.net.cn/jx-callback/business/jxstore/promotion"
"git.rosy.net.cn/jx-callback/business/jxutils/tasks"
"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/routers"
"github.com/astaxie/beego"
)
var (
GitCommit string
GitBranch string
GitState string
GitSummary string
BuildDate string
Version string
)
func Init() {
// globals.Init()
beegodb.Init()
defsch.Init()
api.Init()
cms.InitServiceInfo(Version, BuildDate, GitCommit)
promotion.Init()
misc.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 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
}
if err := tasks.RefreshWeimobToken(); err != nil {
globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err)
return
}
orderman.LoadPendingOrders()
if beego.BConfig.RunMode != "prod" {
beego.BConfig.WebConfig.DirectoryIndex = true
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}
beego.Run()
}
}