Browse Source

投标决策分析 中标企业 为银行的数据调整

wangshan 4 years ago
parent
commit
c626d532b3

+ 2 - 1
src/jfw/modules/bigmember/src/config.json

@@ -48,5 +48,6 @@
 	"keyMaxLength":30,
 	"warnMailbox":["wangshan@topnet.net.cn","2308734067@qq.com"],
 	"warnMbTitle":"中标预测失败提醒",
-	"timeSpan":2
+	"timeSpan":2,
+	"regWinner":".+[司院厂所心处普行]$"
 }

+ 1 - 0
src/jfw/modules/bigmember/src/config/config.go

@@ -29,6 +29,7 @@ type config struct {
 	WarnMailbox         []string
 	WarnMbTitle         string
 	TimeSpan            int
+	RegWinner           string
 }
 type followConfig struct {
 	Normal int

+ 7 - 0
src/jfw/modules/bigmember/src/service/analysis/analysis.go

@@ -7,6 +7,7 @@ import (
 	"db"
 	"entity"
 	qutil "qfw/util"
+	"regexp"
 	"strconv"
 	"strings"
 	"time"
@@ -56,11 +57,17 @@ const (
 )
 
 var P_Starttime = "1514736000" //2018.01.01
+
+var RegWinner = regexp.MustCompile(".+[司院厂所心处普]$")
+
 //
 func init() {
 	now := time.Now()
 	newDate := time.Date(now.Year()-Config.TimeSpan, 1, 1, 0, 0, 0, 0, time.Local).Unix()
 	P_Starttime = strconv.FormatInt(newDate, 10)
+	if Config.RegWinner != "" {
+		RegWinner = regexp.MustCompile(Config.RegWinner)
+	}
 }
 
 //根据项目名称获取项目信息

+ 12 - 4
src/jfw/modules/bigmember/src/service/analysis/decision.go

@@ -35,7 +35,6 @@ type DecParam struct {
 }
 
 var regExperts = regexp.MustCompile("^[\\p{Han}]{2,4}$")
-var regWinner = regexp.MustCompile(".+[司院厂所心处普]$")
 var decisionLock = map[string]*sync.Mutex{}
 
 //试用用户分析
@@ -438,7 +437,7 @@ func getDecInfo(decQuery, buyer_buyerClass string, dec *DecParam) map[string]int
 				if len(aggsMap) > 0 {
 					var buckets = []*DecWinnerInfo{}
 					for _, v := range aggsMap {
-						if !regWinner.MatchString(qutil.ObjToString(v["key"])) {
+						if !RegWinner.MatchString(qutil.ObjToString(v["key"])) {
 							continue
 						}
 						//类似项目金额
@@ -578,8 +577,17 @@ func Sequence(seqData []map[string]interface{}) []map[string]interface{} {
 	var sequenceArr9 = []map[string]interface{}{}
 	for k, v := range seqData {
 		var score = 0
-		if v["s_winner"] == nil || !regWinner.MatchString(qutil.ObjToString(v["s_winner"].(string))) {
-			continue
+		if v["s_winner"] == nil {
+			var s_winner = qutil.ObjToString(v["s_winner"])
+			var s_length = 0
+			for _, v := range strings.Split(s_winner, ",") {
+				if RegWinner.MatchString(v) {
+					s_length += 1
+				}
+			}
+			if s_length == 0 {
+				continue
+			}
 		}
 		//评审专家
 		review_experts := []string{}