Jianghan 5 lat temu
rodzic
commit
cc6d155009

+ 22 - 14
src/config.json

@@ -1,16 +1,24 @@
 {
-    "port": "7000",
-    "mgodb": "192.168.3.207:27092",
-    "dbsize": 5,
-    "dbname": "datatag",
-    "mgodben": "192.168.3.207:27092",
-    "dbnameen": "enterprise",
-    "mongoenc": "winner_enterprise",
-    "subday": 15,
-    "preview_href": "http://192.168.20.128:5500/data-preview.html",
-    "elasticsearchxs": "http://172.17.145.170:9800",
-    "elasticsearch": "http://127.0.0.1:9800",
-    "elasticsearch_index": "bidding_v2",
-    "elasticsearch_type": "bidding",
-    "elasticPoolSize": 10
+  "port": "7000",
+  "mgodb": "192.168.3.207:27092",
+  "dbsize": 5,
+  "dbname": "datatag",
+  "mgodben": "192.168.3.207:27092",
+  "dbnameen": "enterprise",
+  "mongoenc": "winner_enterprise",
+  "subday": 15,
+  "preview_href": "http://192.168.20.128:5500/data-preview.html",
+  "elasticsearchxs": "http://172.17.145.170:9800",
+  "elasticsearch": "http://127.0.0.1:9800",
+  "elasticsearch_index": "bidding_v2",
+  "elasticsearch_type": "bidding",
+  "elasticPoolSize": 10,
+  "mail": {
+    "host": "smtp.exmail.qq.com",
+    "port": 465,
+    "user": "public03@topnet.net.cn",
+    "pwd": "ue9Rg9Sf4CVtdm5a",
+    "retry": 3,
+    "to": "wangjianghan@topnet.net.cn"
+  }
 }

+ 35 - 15
src/service/private_service.go

@@ -5,12 +5,14 @@ import (
 	"fmt"
 	"log"
 	qu "qfw/util"
+	gm "qfw/util/mail"
 	"regexp"
 	"sort"
 	"strings"
+	"sync"
 	"time"
 	"unicode/utf8"
-	"util"
+	. "util"
 
 	"github.com/go-xweb/xweb"
 	"gopkg.in/mgo.v2/bson"
@@ -22,6 +24,8 @@ var (
 	emailreg *regexp.Regexp = regexp.MustCompile(`\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}`)
 	pre      *regexp.Regexp = regexp.MustCompile("https://www.jianyu360.com/article/content/")
 	suf      *regexp.Regexp = regexp.MustCompile("(.html).*")
+
+	udptaskmap = &sync.Map{}
 )
 
 type Private struct {
@@ -38,13 +42,13 @@ func (f *Private) Keydatademo(world string) {
 	if len(destr) > 10 {
 		ctime := destr[:10]
 		ctimeint := qu.Int64All(ctime)
-		if time.Now().Sub(time.Unix(ctimeint, 0)).Hours()/24 < util.Subday {
-			tagfield, _ := util.Mgo.FindOneByField("tags", bson.M{"s_dataid": world}, bson.M{"i_extfieldstype": 1, "i_estotal": 1, "s_customername": 1})
+		if time.Now().Sub(time.Unix(ctimeint, 0)).Hours()/24 < Subday {
+			tagfield, _ := Mgo.FindOneByField("tags", bson.M{"s_dataid": world}, bson.M{"i_extfieldstype": 1, "i_estotal": 1, "s_customername": 1})
 			if (*tagfield) != nil && len(*tagfield) > 0 {
-				if qu.Int64All((*tagfield)["i_extfieldstype"]) == util.Standard {
-					tmp["fieldtype"] = util.Standardstr
-				} else if qu.Int64All((*tagfield)["i_extfieldstype"]) == util.Advanced {
-					tmp["fieldtype"] = util.Advancedstr
+				if qu.Int64All((*tagfield)["i_extfieldstype"]) == Standard {
+					tmp["fieldtype"] = Standardstr
+				} else if qu.Int64All((*tagfield)["i_extfieldstype"]) == Advanced {
+					tmp["fieldtype"] = Advancedstr
 				} else {
 					f.ServeJson(map[string]string{
 						"err": "参数失效",
@@ -53,7 +57,7 @@ func (f *Private) Keydatademo(world string) {
 				}
 				tmp["total"] = qu.Int64All((*tagfield)["i_estotal"])
 				tmp["customername"] = qu.ObjToString((*tagfield)["s_customername"])
-				datas, _ := util.Mgo.Find("tagsdata", bson.M{"s_dataid": world}, `{"publishtime":-1}`, nil, false, -1, -1)
+				datas, _ := Mgo.Find("tagsdata", bson.M{"s_dataid": world}, `{"publishtime":-1}`, nil, false, -1, -1)
 				if (*datas) != nil && len(*datas) > 0 {
 					matchskey := make(map[string]bool)
 					rdata := make([]map[string]interface{}, 0)
@@ -85,7 +89,7 @@ func (f *Private) Keydatademo(world string) {
 							detail := string([]rune(qu.ObjToString(v["detail"]))[:150])
 							v["detail"] = detail + "..."
 						}
-						if qu.Int64All((*tagfield)["i_extfieldstype"]) == util.Advanced {
+						if qu.Int64All((*tagfield)["i_extfieldstype"]) == Advanced {
 							legal_person := strings.TrimSpace(qu.ObjToString(v["legal_person"]))
 							if utf8.RuneCountInString(legal_person) > 1 {
 								legal_person := []rune(legal_person)
@@ -136,8 +140,8 @@ func (f *Private) Keydataoption(world string) {
 	if err == nil && len(destr) > 10 {
 		ctime := destr[:10]
 		ctimeint := qu.Int64All(ctime)
-		if time.Now().Sub(time.Unix(ctimeint, 0)).Hours()/24 < util.Subday {
-			res, _ := util.Mgo.FindOne("tags", bson.M{"s_dataid": world})
+		if time.Now().Sub(time.Unix(ctimeint, 0)).Hours()/24 < Subday {
+			res, _ := Mgo.FindOne("tags", bson.M{"s_dataid": world})
 			if nil != res && len(*res) > 0 {
 				feedback := make(map[string]interface{})
 				feedback["s_dataid"] = world
@@ -149,7 +153,7 @@ func (f *Private) Keydataoption(world string) {
 
 				tmps := make([]map[string]interface{}, 0)
 				for _, tt := range tmp["urls"].([]interface{}) {
-					ttres, _ := util.Mgo.FindOne("tagsdata", bson.M{"s_jyhref": tt})
+					ttres, _ := Mgo.FindOne("tagsdata", bson.M{"s_jyhref": tt})
 					if nil != ttres && len(*ttres) > 0 {
 						tmps = append(tmps, *ttres)
 					}
@@ -174,7 +178,7 @@ func (f *Private) Keydataoption(world string) {
 					keyssort = append(keyssort, v.Key)
 				}
 				feedback["o_matchkey"] = keyssort
-				pid := util.Mgo.Save("feedback", feedback)
+				pid := Mgo.Save("feedback", feedback)
 				if len(pid) < 1 {
 					log.Println("mongo save err")
 					return
@@ -191,12 +195,13 @@ func (f *Private) Keydataoption(world string) {
 					savetmp["s_buyerclass"] = qu.ObjToString(v["buyerclass"])
 					savetmp["s_subtype"] = qu.ObjToString(v["subtype"])
 					savetmp["s_purchasing"] = qu.ObjToString(v["s_purchasing"])
-					util.Mgo.Save("feedback_info", savetmp)
+					Mgo.Save("feedback_info", savetmp)
 				}
 				f.ServeJson(map[string]string{
 					"code": "1",
 					"err":  "保存成功",
 				})
+				go sendMail()		//发送邮件
 				return
 			}
 		}
@@ -212,6 +217,9 @@ type keynum struct {
 	Num int
 }
 
+var gmail *gm.GmailAuth
+
+
 func urlToId(url string) string {
 	url = pre.ReplaceAllString(url, "")
 	url = suf.ReplaceAllString(url, "")
@@ -221,7 +229,7 @@ func urlToId(url string) string {
 
 func deletefields(fieldnum int,data *map[string]interface{}) map[string]interface{}{
 	rdata := make(map[string]interface{})
-	one, _ := util.Mgo.FindOne("code_fields", bson.M{})
+	one, _ := Mgo.FindOne("code_fields", bson.M{})
 	if one != nil && len(*one) > 0 {
 		for _,v:=range (*one)[fmt.Sprintf("%d",fieldnum)].([]interface{}){
 			if (*data)[qu.ObjToString(v)]!= nil{
@@ -231,3 +239,15 @@ func deletefields(fieldnum int,data *map[string]interface{}) map[string]interfac
 	}
 	return rdata
 }
+
+func sendMail() {
+	gmail = &gm.GmailAuth{
+		SmtpHost: qu.ObjToString(JkMail["host"]),
+		SmtpPort: qu.IntAll(JkMail["port"]),
+		User:     qu.ObjToString(JkMail["user"]),
+		Pwd:      qu.ObjToString(JkMail["pwd"]),
+	}
+	b := gm.GSendMail("jy@jianyu360.cn", qu.ObjToString(JkMail["to"]), "", "", "反馈消息", "反馈反馈反馈", "", "", gmail)
+	qu.Debug(b)
+}
+

+ 9 - 7
src/util/config.go

@@ -7,13 +7,14 @@ import (
 )
 
 var (
-	Sysconfig map[string]interface{} //配置文件
-	Mgo       *mongodb.MongodbSim
-	MgoEn     *mongodb.MongodbSim
+	Sysconfig       map[string]interface{} //配置文件
+	Mgo             *mongodb.MongodbSim
+	MgoEn           *mongodb.MongodbSim
 	EsIndex, EsType string
-	MgoEnC    string
-	Subday    float64
-	PreviewHref	string			//数据预览地址
+	MgoEnC          string
+	Subday          float64
+	JkMail			map[string]interface{}
+	PreviewHref string //数据预览地址
 )
 
 var (
@@ -48,6 +49,7 @@ func initMgoEn() {
 }
 
 func InitOther() {
+	JkMail, _ = Sysconfig["mail"].(map[string]interface{})
 	initCitys()
 	initInfoType()
 	initBuyerClass()
@@ -124,6 +126,6 @@ func initScopeClass() {
 }
 
 func initEs() {
-	EsIndex, EsType = qu.ObjToString(Sysconfig["elasticsearch_index"]),qu.ObjToString(Sysconfig["elasticsearch_type"])
+	EsIndex, EsType = qu.ObjToString(Sysconfig["elasticsearch_index"]), qu.ObjToString(Sysconfig["elasticsearch_type"])
 	elastic.InitElasticSize(qu.ObjToString(Sysconfig["elasticsearch"]), qu.IntAllDef(qu.Int64All(Sysconfig["elasticPoolSize"]), 30))
 }

+ 12 - 4
src/web/templates/private/rule_create.html

@@ -840,8 +840,8 @@
         dataMap["s_customername"] = $('#cusName').val();
         dataMap["s_tagname"] = $('#tagName').val();
         dataMap["s_salesperson"] = $('#saleName').val();
-        dataMap["s_globaladdkeymatch"] = $('#g_addkey').val();
-        dataMap["s_globalnotkeymatch"] = $('#g_notkey').val();
+        dataMap["s_globaladdkey"] = $('#g_addkey').val();
+        dataMap["s_globalnotkey"] = $('#g_notkey').val();
         if (dataMap["s_customername"] == "" || dataMap["s_tagname"] == "" || dataMap["s_salesperson"] == "") {
             alert("请填写必须字段!")
             return
@@ -929,9 +929,10 @@
             success:function(r){
                 com.maskHide();
                 if(r.rep){
-                    showTip("生成成功",1000);
+                    dataMap.i_estotal = r.count
+                    showTip("数据生成成功", 1000);
                 }else{
-                    showTip("生成失败",1000);
+                    showTip("数据生成失败",1000);
                 }
             }
         })
@@ -1129,6 +1130,13 @@
                 ]
             });
             $('#modal-preview').modal("show");
+            if (dataMap.i_extfieldstype == 1) {
+                var str = "标准字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+                $('#dataCount').html(str)
+            } else {
+                var str = "高级字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+                $('#dataCount').html(str)
+            }
         }else {
             alert("请先保存规则");
         }

+ 4 - 3
src/web/templates/private/rule_edit.html

@@ -956,8 +956,8 @@
     function saveTag() {
         dataMap["s_customername"] = $('#cusName').val();
         dataMap["s_tagname"] = $('#tagName').val();
-        dataMap["s_globaladdkeymatch"] = $('#g_addkey').val();
-        dataMap["s_globalnotkeymatch"] = $('#g_notkey').val();
+        dataMap["s_globaladdkey"] = $('#g_addkey').val();
+        dataMap["s_globalnotkey"] = $('#g_notkey').val();
         if (dataMap["s_customername"] == "" || dataMap["s_tagname"] == "" || dataMap["s_salesperson"] == "") {
             alert("请填写必须字段!")
             return
@@ -1007,8 +1007,9 @@
                 com.maskHide();
                 if (r.rep) {
                     dataMap.i_estotal = r.count
+                    showTip("数据生成成功", 1000);
                 } else {
-                    showTip("生成失败", 1000);
+                    showTip("数据生成失败", 1000);
                 }
             }
         })