package main

import (
	log "github.com/donnie4w/go-logger/logger"
	_ "jy/admin"
	_ "jy/admin/audit"
	_ "jy/admin/distribution"
	_ "jy/admin/task"
	"jy/extract"
	_ "jy/front"
	. "jy/router"
	u "jy/util"
	"net/http"
	_ "net/http/pprof"
	qu "qfw/util"
	"qfw/util/elastic"
	"qfw/util/redis"
	"regexp"
)

func init() {
	log.SetConsole(false)
	log.SetLevel(log.DEBUG)
	log.SetRollingDaily("./", "out.log")
	qu.ReadConfig(&u.Config)
	//抽取price和number相关
	qu.ReadConfig("./res/pricenumber.json", &u.PriceNumberConfig)
	/*
		qu.ReadConfig("./res/brandrule.json", &util.BrandRules)
		qu.ReadConfig("./res/goods.json", &util.GoodsConfig)
		qu.ReadConfig("./res/brand.json", &util.BrandConfig)
		初始化品牌和商品
		util.InitBrand()
		util.InitGoods()
	*/
	//初始化util
	u.UtilInit()
	//初始化redis
	redis.InitRedisBySize(qu.ObjToString(u.Config["redis"]), 50, 30, 240)
	//初始化elastic连接
	//"winner=172.17.145.179:2710,buyer=172.17.145.179:2711"
	elastic.InitElasticSize(qu.ObjToString(u.Config["elasticsearch"]), qu.IntAllDef(3, 30))
	//if eClient, err := elastic.NewClient(elastic.SetURL(qu.ObjToString(util.Config["elasticsearch"]))); err != nil {
	//	log.Debug(util.Config["elasticsearch"])
	//	log.Fatal("ElasticClient err:", err)
	//} else {
	//	util.ElasticClient = eClient

	u.QYK_RedisName = qu.ObjToString(u.Config["redis_qyk"])
	u.WinnerDB = qu.IntAll(u.Config["redis_winner_db"])
	u.BuyerDB = qu.IntAll(u.Config["redis_buyer_db"])
	u.AgencyDB = qu.IntAll(u.Config["redis_agency_db"])

	//}

}

func main() {
	extract.ExtractUdp() 		//udp通知抽取
	//extract.ClearUdp()   		//udp通知清理
	go extract.Export()
	//go heart.HeartMonitor()	//心跳监测
	go Router.Run(":" + qu.ObjToString(u.Config["port"]))
	go log.Debug("启动..", qu.ObjToString(u.Config["port"]))

	go func() {
		http.ListenAndServe("localhost:10000", nil)
	}()

	//临时调试
	testMain()

	lock := make(chan bool)
	<-lock
}

//验证规则
func testMain()  {
	//特殊-情况
	/*
		项目负责人姓 否决投标/ 投标报价
	投标人 中标候选人排序 工期
	名 入围情况 （万元）
	上海浦兴路桥建设工程有限
	第1中标候选人 孙天霞 365 否 18565.5918
	公司
	上海城建市政工程（集
	第2中标候选人 马利锋 365 否 18616.3385
	团）有限公司

	项目负责 报价初步甄 投标报价
	投标人 中标候选人排序 工期 否决投标
	人姓名 别情况 （万元）
	上海建工二建集团有限
	第一中标候选人 杨培 540 否 16837.5217
	公司
	红阳建工集团有限公司 第二中标候选人 余小妮 540 否 16873.914
	上海公路桥梁（集
	李学卫 540 否 16949.5766
	团）有限公司

	投标报价
	（万元）
	中铁十四局集团有限公
	司  第一中标候选人  陈帅华  1097  60365.2278
	上海隧道工程有限公司  第二中标候选人  钱佳俊  1097  60352.0288
	中铁上海工程局集团有
	限公司  崔振兴  1097  60370.0609
	*/

	text :=``


	var winnerReg82 = regexp.MustCompile("投标人.*\n.*[(（]万元[)）]\n元[)）]\n"+
		"(.*)\\s(第[1一]中标候)\n.*\\s([0-9]+[.][0-9]+|[0-9]+)\n(.*公司)\\s(选人)\n" +
		"(.*)\\s(第[2二]中标候)\n.*\\s([0-9]+[.][0-9]+|[0-9]+)\n(.*公司)\\s(选人)\n")
	if 	winnerReg82.MatchString(text) {
		text = winnerReg82.ReplaceAllString(text,"\n$2$5:$1$4 中标金额:$3 万元\n$7$10:$6$9 中标金额:$8 万元\n")
		log.Debug(text)
	}else {
		log.Debug("不匹配")
	}
	log.Debug(text)
}



