Explorar o código

标准库建设,前段后台修改

apple %!s(int64=5) %!d(string=hai) anos
pai
achega
9096a56a7e

+ 6 - 0
src/config.json

@@ -8,6 +8,12 @@
     "elasticsearch_index": "winner_enterprise",
     "elasticsearch_type": "winnerent",
     "elasticsearch_db": "winner_enterprise",
+    "elasticsearch_buyer_index": "buyer_enterprise",
+    "elasticsearch_buyer_type": "buyerent",
+    "elasticsearch_buyer_db": "buyer_enterprise",
+    "elasticsearch_agency_index": "agency_enterprise",
+    "elasticsearch_agency_type": "agencyent",
+    "elasticsearch_agency_db": "agency_enterprise",
     "redis_qyk": "127.0.0.1:6379",
     "redis_winner_db": "1",
     "redis_buyer_db": "2",

+ 166 - 178
src/jy/admin/audit/agencyinfo.go

@@ -1,15 +1,17 @@
 package audit
 
 import (
+	"encoding/json"
 	"github.com/gin-gonic/gin"
 	"gopkg.in/mgo.v2/bson"
 	. "jy/admin"
-	"jy/clear"
 	. "jy/mongodbutil"
 	"jy/util"
 	"log"
 	"qfw/util/elastic"
+	"strconv"
 	"strings"
+	"time"
 )
 
 /**
@@ -23,206 +25,192 @@ func init() {
 	//save
 	Admin.POST("/audit/agency_info/save", func(c *gin.Context) {
 		_id := c.PostForm("_id")
-		company_name := c.PostForm("company_name")
-		alias := c.PostForm("alias")
+		agency_name := c.PostForm("agency_name")
+		history_name := strings.ReplaceAll(c.PostForm("history_name"),";",";")
+		area_code := c.PostForm("area_code")
+		agency_type :=c.PostForm("type")
+		ranks :=c.PostForm("ranks")
 		province := c.PostForm("province")
 		city := c.PostForm("city")
 		district := c.PostForm("district")
-		capital := c.PostForm("capital")
-		company_address := c.PostForm("company_address")
-		if strings.TrimSpace(company_name) == "" {
+		address := c.PostForm("address")
+		wechat_accounts := strings.ReplaceAll(c.PostForm("wechat_accounts"),";",";")
+		website := c.PostForm("website")
+		contact := c.PostForm("contact")
+		contacts := make([]map[string]interface{},0)
+		jsonerr :=json.Unmarshal([]byte(contact),&contacts)
+		if strings.TrimSpace(agency_name) == "" {
 			c.JSON(200, gin.H{"rep": 400})
 			return
 		}
-		capitalfloat := clear.ObjToMoney([]interface{}{capital, ""})[0]
+		//构建map
 		e := make(map[string]interface{})
-		e["company_name"] = company_name
-		e["alias"] = alias
+		e["agency_name"] = agency_name
+		if len(history_name)>0{
+			e["history_name"] = strings.Split(history_name,";")
+		}else {
+			e["history_name"] =[]string{}
+		}
+		e["area_code"] = area_code
+		e["type"] = agency_type
+		e["ranks"] = ranks
 		e["province"] = province
 		e["city"] = city
 		e["district"] = district
-		e["capital"] = capitalfloat
-		e["company_address"] = company_address
+		e["address"] = address
+		if len(wechat_accounts)>0{
+			e["wechat_accounts"] = strings.Split(wechat_accounts,";")
+		}else {
+			e["wechat_accounts"] = []string{}
+		}
+		e["website"] = website
+		if jsonerr != nil {
+			e["contact"] = []map[string]interface{}{}
+		}else {
+			for k,v := range contacts{
+				if v["updatetime"] == nil{
+					contacts[k]["updatetime"]=time.Now().Unix()
+				}
+			}
+			e["contact"] = contacts
+		}
+
+
 		var sid string
-		if strings.TrimSpace(_id) != "" && bson.IsObjectIdHex(_id) {
+		if bson.IsObjectIdHex(_id) {
+			//更新
 			sid = _id
-			tmpb := Mgo.Update("enterprise_qyxy", bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": bson.M{
-				"company_name":    company_name,
-				"alias":           alias,
-				"province":        province,
-				"city":            city,
-				"district":        district,
-				"capital":         capitalfloat,
-				"company_address": company_address,
-			}}, false, false)
+			delete(e,"_id")
+			delete(e,"agency_name")
+			//转换失败不更新
+			if jsonerr!= nil {
+				delete(e,"contact")
+			}
+			tmpb := Mgo.Update(util.ElasticClientAgencyDB, bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": e}, false, false)
+			//更新es
 			if tmpb {
 				escon := elastic.GetEsConn()
 				defer elastic.DestoryEsConn(escon)
-				_, err := escon.Update().Index(util.ElasticClientIndex).Type(util.ElasticClientType).
-					Id(sid).Doc(map[string]interface{}{
-					"company_name":    company_name,
-					"alias":           alias,
-					"province":        province,
-					"city":            city,
-					"district":        district,
-					"capital":         capitalfloat,
-					"company_address": company_address,
-				}).Refresh(true).Do()
+				_, err := escon.Update().Index(util.ElasticClientAgencyIndex).Type(util.ElasticClientAgencyType).
+					Id(sid).Doc(e).Refresh(true).Do()
 				if err != nil {
-					log.Println("update qyk err:", err)
+					log.Println("update agency err:", err)
+					c.JSON(200, gin.H{"rep": 500, "err":"更新es错误"})
+					return
 				}
+			}else {
+				c.JSON(200, gin.H{"rep": 500, "err":"更新mongo错误"})
+				return
 			}
+			c.JSON(200, gin.H{"rep": 200, "updateid": sid})
+		} else {
+			//不存在直接保存新数据
+			sid = Mgo.Save(util.ElasticClientAgencyDB, e)
+			if sid == ""{
+				c.JSON(200, gin.H{"rep": 500,"err":"保存mongo出错"})
+				return
+			}else {
+				delete(e, "_id")
+				qykredis := util.QykRedisPool.Conn()
+				defer qykredis.Close()
+				if saveRedis:=qykredis.Set(agency_name,sid,0);saveRedis.Err()!= nil{
+					log.Println("保存redis 错误",saveRedis.Err())
+					c.JSON(200, gin.H{"rep": 500,"err":"保存reids出错"})
+					return
+				}
+				escon := elastic.GetEsConn()
+				defer elastic.DestoryEsConn(escon)
+				_, err := escon.Index().Index(util.ElasticClientAgencyIndex).Type(util.ElasticClientAgencyType).Id(sid).BodyJson(e).Refresh(true).Do()
+				if err != nil {
+					log.Println("save agency err:", err)
+					c.JSON(200, gin.H{"rep": 500, "err": "更新es错误"})
+					return
+				}
+			}
+			c.JSON(200, gin.H{"rep": 200, "saveid": sid})
+		}
+	})
+
+
+
+	//列表查询
+	Admin.POST("/audit/query_agency/list", func(c *gin.Context) {
+		search, _ := c.GetPostForm("search[value]")
+		startstr, _ := c.GetPostForm("start")
+		limitstr, _ := c.GetPostForm("length")
+		start, _ := strconv.Atoi(startstr)
+		limit, _ := strconv.Atoi(limitstr)
+		if limit < 1 {
+			limit = 10
+		}
+		if search == "" {
+			c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
 		} else {
-			sid = Mgo.Save("enterprise_qyxy", e)
-			delete(e, "_id")
+			//log.Println(util.ElasticClientAgencyIndex, util.ElasticClientAgencyType, search)
+			//查询es
 			escon := elastic.GetEsConn()
 			defer elastic.DestoryEsConn(escon)
-			_, err := escon.Index().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(sid).BodyJson(e).Refresh(true).Do()
+			res, err := escon.Search(util.ElasticClientAgencyIndex).
+				Type(util.ElasticClientAgencyType).Source(`{"query": {"match_phrase":{"agency_name":"`+search+`"}}}`).
+				//Query( elastic.NewMatchPhraseQuery("agency_name", search)).
+				Size(limit).
+				From(start).
+				Do()
 			if err != nil {
-				log.Println("save qyk err:", err)
+				log.Println(err)
+				c.JSON(500, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
+				return
+			}
+			if res.Hits != nil{
+				tmps := make([]map[string]interface{}, 0)
+				for _, v := range res.Hits.Hits {
+					tmp := make(map[string]interface{})
+					err := json.Unmarshal(*v.Source, &tmp)
+					if err != nil {
+						log.Println(err)
+						continue
+					}
+					tmp["_id"] = v.Id
+					//log.Println(tmp)
+					tmps = append(tmps, tmp)
+				}
+				//count := Mgo.Count("enterprise_qyxy", bson.M{"agency_name": bson.M{"$regex": bson.RegEx{search, "i"}}})
+				//data, _ := Mgo.Find("enterprise_qyxy", bson.M{"agency_name": bson.M{"$regex": bson.RegEx{search, "i"}}}, `{"_id":-1}`, nil, false, start, limit)
+				c.JSON(200, gin.H{"data": tmps, "recordsFiltered": res.Hits.TotalHits, "recordsTotal": res.Hits.TotalHits})
+			}else {
+				c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
 			}
 		}
-		c.JSON(200, gin.H{"rep": 200, "saveid": sid})
 	})
-	////列表查询
-	//Admin.POST("/audit/query_qyk/list", func(c *gin.Context) {
-	//	search, _ := c.GetPostForm("search[value]")
-	//	startstr, _ := c.GetPostForm("start")
-	//	limitstr, _ := c.GetPostForm("length")
-	//	start, _ := strconv.Atoi(startstr)
-	//	limit, _ := strconv.Atoi(limitstr)
-	//	if limit < 1 {
-	//		limit = 10
-	//	}
-	//	if search == "" {
-	//		c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
-	//	} else {
-	//		//log.Println(util.ElasticClientIndex, util.ElasticClientType, search)
-	//		escon := elastic.GetEsConn()
-	//		defer elastic.DestoryEsConn(escon)
-	//		res, err := escon.Search(util.ElasticClientIndex).
-	//			Type(util.ElasticClientType).Source(`{"query": {"match_phrase":{"company_name":"`+search+`"}}}`).
-	//			//Query( elastic.NewMatchPhraseQuery("company_name", search)).
-	//			Size(limit).
-	//			From(start).
-	//			Do()
-	//		if err != nil {
-	//			log.Println(err)
-	//			c.JSON(500, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
-	//			return
-	//		}
-	//		if res.Hits != nil{
-	//			tmps := make([]map[string]interface{}, 0)
-	//			for _, v := range res.Hits.Hits {
-	//				tmp := make(map[string]interface{})
-	//				err := json.Unmarshal(*v.Source, &tmp)
-	//				if err != nil {
-	//					log.Println(err)
-	//					continue
-	//				}
-	//				tmp["_id"] = v.Id
-	//				//log.Println(tmp)
-	//				tmps = append(tmps, tmp)
-	//			}
-	//			//count := Mgo.Count("enterprise_qyxy", bson.M{"company_name": bson.M{"$regex": bson.RegEx{search, "i"}}})
-	//			//data, _ := Mgo.Find("enterprise_qyxy", bson.M{"company_name": bson.M{"$regex": bson.RegEx{search, "i"}}}, `{"_id":-1}`, nil, false, start, limit)
-	//			c.JSON(200, gin.H{"data": tmps, "recordsFiltered": res.Hits.TotalHits, "recordsTotal": res.Hits.TotalHits})
-	//		}else {
-	//			c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
-	//		}
-	//	}
-	//})
-	////delete
-	//Admin.POST("/audit/buyer_info/deleteQyk", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	if bson.IsObjectIdHex(_id) {
-	//		delisok := Mgo.Del("enterprise_qyxy", bson.M{"_id": bson.ObjectIdHex(_id)})
-	//		escon := elastic.GetEsConn()
-	//		defer elastic.DestoryEsConn(escon)
-	//		_, err := escon.Delete().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(_id).Refresh(true).Do()
-	//		if err != nil {
-	//			log.Println("delete qyk err:", err)
-	//		}
-	//		c.JSON(200, gin.H{"rep": 200, "data": delisok})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
-	////queryById
-	//Admin.POST("/audit/query_qyk/ById", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	q_field := c.PostForm("q_field")
-	//	if bson.IsObjectIdHex(_id) && strings.TrimSpace(q_field) != "" {
-	//		data, _ := Mgo.FindById(util.ElasticClientDB, _id, bson.M{q_field: 1})
-	//		c.JSON(200, gin.H{"rep": 200, "data": data})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
-	////updateIndustrys
-	//Admin.POST("/audit/query_qyk/UpdateIndustrys", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	industrys := c.PostFormArray("industry")
-	//	//log.Println(_id,industrys)
-	//	if bson.IsObjectIdHex(_id) {
-	//		b := Mgo.Update(util.ElasticClientDB, bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": bson.M{"industry": industrys}}, false, false)
-	//		if b {
-	//			escon := elastic.GetEsConn()
-	//			defer elastic.DestoryEsConn(escon)
-	//			_, err := escon.Update().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(_id).Doc(map[string]interface{}{
-	//				"industry": industrys,
-	//			}).Refresh(true).Do()
-	//			if err != nil {
-	//				log.Println("update yqk industry err :", err)
-	//			}
-	//		}
-	//		c.JSON(200, gin.H{"rep": 200, "data": b})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
-	////updateTels
-	//Admin.POST("/audit/query_qyk/UpdateTels", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	//log.Println(_id)
-	//	contact_persons := c.PostFormArray("contact_persons")
-	//	contact_types := c.PostFormArray("contact_types")
-	//	phones := c.PostFormArray("phones")
-	//	topscopeclasss := c.PostFormArray("topscopeclasss")
-	//	if bson.IsObjectIdHex(_id) && len(contact_persons) == len(contact_types) && len(phones) == len(topscopeclasss) && len(phones) == len(contact_persons) {
-	//		contacts := make([]map[string]interface{}, 0)
-	//		for _, v := range contact_persons {
-	//			tmp := make(map[string]interface{})
-	//			tmp["contact_person"] = v
-	//			contacts = append(contacts, tmp)
-	//		}
-	//		for i, v := range contact_types {
-	//			contacts[i]["contact_type"] = v
-	//		}
-	//		for i, v := range phones {
-	//			contacts[i]["phone"] = v
-	//		}
-	//		for i, v := range topscopeclasss {
-	//			contacts[i]["topscopeclass"] = v
-	//			contacts[i]["updatetime"] = time.Now().Unix()
-	//		}
-	//		//for k,v := range contacts{
-	//		//	log.Println(k,v)
-	//		//}
-	//		b := Mgo.Update(util.ElasticClientDB, bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": bson.M{"contact": contacts}}, false, false)
-	//		if b {
-	//			escon := elastic.GetEsConn()
-	//			defer elastic.DestoryEsConn(escon)
-	//			_, err := escon.Update().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(_id).Doc(map[string]interface{}{
-	//				"contact": contacts,
-	//			}).Refresh(true).Do()
-	//			if err != nil {
-	//				log.Println("update yqk contact err :", err)
-	//			}
-	//		}
-	//		c.JSON(200, gin.H{"rep": 200, "data": b})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
+	//delete
+	Admin.POST("/audit/agency_info/deleteQyk", func(c *gin.Context) {
+		_id := c.PostForm("_id")
+		agency_name := c.PostForm("agency_name")
+		if bson.IsObjectIdHex(_id) {
+			delisok := Mgo.Del(util.ElasticClientAgencyDB, bson.M{"_id": bson.ObjectIdHex(_id)})
+			if !delisok{
+				c.JSON(200, gin.H{"rep": 500,"err":"删除mongo错误"})
+				return
+			}
+			qykredis := util.QykRedisPool.Conn()
+			defer qykredis.Close()
+			if del := qykredis.Del(agency_name);del.Err()!=nil{
+				log.Println("delete agency err:", del.Err(),agency_name)
+				c.JSON(200, gin.H{"rep": 500,"err":"删除redis错误"})
+				return
+			}
+			escon := elastic.GetEsConn()
+			defer elastic.DestoryEsConn(escon)
+			_, err := escon.Delete().Index(util.ElasticClientAgencyIndex).Type(util.ElasticClientAgencyType).Id(_id).Refresh(true).Do()
+			if err != nil {
+				log.Println("delete agency err:", err)
+				c.JSON(200, gin.H{"rep": 500,"err":"删除es错误"})
+				return
+			}
+			c.JSON(200, gin.H{"rep": 200, "data": delisok})
+		} else {
+			c.JSON(200, gin.H{"rep": 400,"err":"参数错误"})
+		}
+	})
+
 }

+ 167 - 178
src/jy/admin/audit/buyerinfo.go

@@ -1,15 +1,17 @@
 package audit
 
 import (
+	"encoding/json"
 	"github.com/gin-gonic/gin"
 	"gopkg.in/mgo.v2/bson"
 	. "jy/admin"
-	"jy/clear"
 	. "jy/mongodbutil"
 	"jy/util"
 	"log"
 	"qfw/util/elastic"
+	"strconv"
 	"strings"
+	"time"
 )
 
 /**
@@ -23,206 +25,193 @@ func init() {
 	//save
 	Admin.POST("/audit/buyer_info/save", func(c *gin.Context) {
 		_id := c.PostForm("_id")
-		company_name := c.PostForm("company_name")
-		alias := c.PostForm("alias")
+		buyer_name := c.PostForm("buyer_name")
+		history_name := strings.ReplaceAll(c.PostForm("history_name"),";",";")
+		area_code := c.PostForm("area_code")
+		buyer_type :=c.PostForm("type")
+		ranks :=c.PostForm("ranks")
 		province := c.PostForm("province")
 		city := c.PostForm("city")
 		district := c.PostForm("district")
-		capital := c.PostForm("capital")
-		company_address := c.PostForm("company_address")
-		if strings.TrimSpace(company_name) == "" {
+		buyerclass :=c.PostForm("buyerclass")
+		address := c.PostForm("address")
+		wechat_accounts := strings.ReplaceAll(c.PostForm("wechat_accounts"),";",";")
+		website := c.PostForm("website")
+		contact := c.PostForm("contact")
+		contacts := make([]map[string]interface{},0)
+		jsonerr :=json.Unmarshal([]byte(contact),&contacts)
+		if strings.TrimSpace(buyer_name) == "" {
 			c.JSON(200, gin.H{"rep": 400})
 			return
 		}
-		capitalfloat := clear.ObjToMoney([]interface{}{capital, ""})[0]
+		//构建map
 		e := make(map[string]interface{})
-		e["company_name"] = company_name
-		e["alias"] = alias
+		e["buyer_name"] = buyer_name
+		if len(history_name)>0{
+			e["history_name"] = strings.Split(history_name,";")
+		}else {
+			e["history_name"] =[]string{}
+		}
+		e["area_code"] = area_code
+		e["type"] = buyer_type
+		e["ranks"] = ranks
 		e["province"] = province
 		e["city"] = city
 		e["district"] = district
-		e["capital"] = capitalfloat
-		e["company_address"] = company_address
+		e["address"] = address
+		e["buyerclass"] = buyerclass
+		if len(wechat_accounts)>0{
+			e["wechat_accounts"] = strings.Split(wechat_accounts,";")
+		}else {
+			e["wechat_accounts"] = []string{}
+		}
+		e["website"] = website
+		if jsonerr != nil {
+			e["contact"] = []map[string]interface{}{}
+		}else {
+			for k,v := range contacts{
+				if v["updatetime"] == nil{
+					contacts[k]["updatetime"]=time.Now().Unix()
+				}
+			}
+			e["contact"] = contacts
+		}
+
+
 		var sid string
-		if strings.TrimSpace(_id) != "" && bson.IsObjectIdHex(_id) {
+		if bson.IsObjectIdHex(_id) {
+			//更新
 			sid = _id
-			tmpb := Mgo.Update("enterprise_qyxy", bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": bson.M{
-				"company_name":    company_name,
-				"alias":           alias,
-				"province":        province,
-				"city":            city,
-				"district":        district,
-				"capital":         capitalfloat,
-				"company_address": company_address,
-			}}, false, false)
+			delete(e,"_id")
+			delete(e,"buyer_name")
+			//转换失败不更新
+			if jsonerr!= nil {
+				delete(e,"contact")
+			}
+			tmpb := Mgo.Update(util.ElasticClientBuyerDB, bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": e}, false, false)
+			//更新es
 			if tmpb {
 				escon := elastic.GetEsConn()
 				defer elastic.DestoryEsConn(escon)
-				_, err := escon.Update().Index(util.ElasticClientIndex).Type(util.ElasticClientType).
-					Id(sid).Doc(map[string]interface{}{
-					"company_name":    company_name,
-					"alias":           alias,
-					"province":        province,
-					"city":            city,
-					"district":        district,
-					"capital":         capitalfloat,
-					"company_address": company_address,
-				}).Refresh(true).Do()
+				_, err := escon.Update().Index(util.ElasticClientBuyerIndex).Type(util.ElasticClientBuyerType).
+					Id(sid).Doc(e).Refresh(true).Do()
 				if err != nil {
-					log.Println("update qyk err:", err)
+					log.Println("update buyer err:", err)
+					c.JSON(200, gin.H{"rep": 500, "err":"更新es错误"})
+					return
 				}
+			}else {
+				c.JSON(200, gin.H{"rep": 500, "err":"更新mongo错误"})
+				return
 			}
+			c.JSON(200, gin.H{"rep": 200, "updateid": sid})
 		} else {
-			sid = Mgo.Save("enterprise_qyxy", e)
-			delete(e, "_id")
+			//不存在直接保存新数据
+			sid = Mgo.Save(util.ElasticClientBuyerDB, e)
+			if sid == ""{
+				c.JSON(200, gin.H{"rep": 500,"err":"保存mongo出错"})
+				return
+			}else {
+				delete(e, "_id")
+				qykredis := util.QykRedisPool.Conn()
+				defer qykredis.Close()
+				if saveRedis:=qykredis.Set(buyer_name,sid,0);saveRedis.Err()!= nil{
+					log.Println("保存redis 错误",saveRedis.Err())
+					c.JSON(200, gin.H{"rep": 500,"err":"保存reids出错"})
+					return
+				}
+				escon := elastic.GetEsConn()
+				defer elastic.DestoryEsConn(escon)
+				_, err := escon.Index().Index(util.ElasticClientBuyerIndex).Type(util.ElasticClientBuyerType).Id(sid).BodyJson(e).Refresh(true).Do()
+				if err != nil {
+					log.Println("save buyer err:", err)
+					c.JSON(200, gin.H{"rep": 500, "err": "更新es错误"})
+					return
+				}
+			}
+			c.JSON(200, gin.H{"rep": 200, "saveid": sid})
+		}
+	})
+
+
+	//列表查询
+	Admin.POST("/audit/query_buyer/list", func(c *gin.Context) {
+		search, _ := c.GetPostForm("search[value]")
+		startstr, _ := c.GetPostForm("start")
+		limitstr, _ := c.GetPostForm("length")
+		start, _ := strconv.Atoi(startstr)
+		limit, _ := strconv.Atoi(limitstr)
+		if limit < 1 {
+			limit = 10
+		}
+		if search == "" {
+			c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
+		} else {
+			//log.Println(util.ElasticClientBuyerIndex, util.ElasticClientBuyerType, search)
+			//查询es
+			escon := elastic.GetEsConn()
+			defer elastic.DestoryEsConn(escon)
+			res, err := escon.Search(util.ElasticClientBuyerIndex).
+				Type(util.ElasticClientBuyerType).Source(`{"query": {"match_phrase":{"buyer_name":"`+search+`"}}}`).
+				//Query( elastic.NewMatchPhraseQuery("buyer_name", search)).
+				Size(limit).
+				From(start).
+				Do()
+			if err != nil {
+				log.Println(err)
+				c.JSON(500, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
+				return
+			}
+			if res.Hits != nil{
+				tmps := make([]map[string]interface{}, 0)
+				for _, v := range res.Hits.Hits {
+					tmp := make(map[string]interface{})
+					err := json.Unmarshal(*v.Source, &tmp)
+					if err != nil {
+						log.Println(err)
+						continue
+					}
+					tmp["_id"] = v.Id
+					//log.Println(tmp)
+					tmps = append(tmps, tmp)
+				}
+				//count := Mgo.Count("enterprise_qyxy", bson.M{"buyer_name": bson.M{"$regex": bson.RegEx{search, "i"}}})
+				//data, _ := Mgo.Find("enterprise_qyxy", bson.M{"buyer_name": bson.M{"$regex": bson.RegEx{search, "i"}}}, `{"_id":-1}`, nil, false, start, limit)
+				c.JSON(200, gin.H{"data": tmps, "recordsFiltered": res.Hits.TotalHits, "recordsTotal": res.Hits.TotalHits})
+			}else {
+				c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
+			}
+		}
+	})
+	//delete
+	Admin.POST("/audit/buyer_info/deleteQyk", func(c *gin.Context) {
+		_id := c.PostForm("_id")
+		buyer_name := c.PostForm("buyer_name")
+		if bson.IsObjectIdHex(_id) {
+			delisok := Mgo.Del(util.ElasticClientBuyerDB, bson.M{"_id": bson.ObjectIdHex(_id)})
+			if !delisok{
+				c.JSON(200, gin.H{"rep": 500,"err":"删除mongo错误"})
+				return
+			}
+			qykredis := util.QykRedisPool.Conn()
+			defer qykredis.Close()
+			if del := qykredis.Del(buyer_name);del.Err()!=nil{
+				log.Println("delete buyer err:", del.Err(),buyer_name)
+				c.JSON(200, gin.H{"rep": 500,"err":"删除redis错误"})
+				return
+			}
 			escon := elastic.GetEsConn()
 			defer elastic.DestoryEsConn(escon)
-			_, err := escon.Index().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(sid).BodyJson(e).Refresh(true).Do()
+			_, err := escon.Delete().Index(util.ElasticClientBuyerIndex).Type(util.ElasticClientBuyerType).Id(_id).Refresh(true).Do()
 			if err != nil {
-				log.Println("save qyk err:", err)
+				log.Println("delete buyer err:", err)
+				c.JSON(200, gin.H{"rep": 500,"err":"删除es错误"})
+				return
 			}
+			c.JSON(200, gin.H{"rep": 200, "data": delisok})
+		} else {
+			c.JSON(200, gin.H{"rep": 400,"err":"参数错误"})
 		}
-		c.JSON(200, gin.H{"rep": 200, "saveid": sid})
 	})
-	////列表查询
-	//Admin.POST("/audit/query_qyk/list", func(c *gin.Context) {
-	//	search, _ := c.GetPostForm("search[value]")
-	//	startstr, _ := c.GetPostForm("start")
-	//	limitstr, _ := c.GetPostForm("length")
-	//	start, _ := strconv.Atoi(startstr)
-	//	limit, _ := strconv.Atoi(limitstr)
-	//	if limit < 1 {
-	//		limit = 10
-	//	}
-	//	if search == "" {
-	//		c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
-	//	} else {
-	//		//log.Println(util.ElasticClientIndex, util.ElasticClientType, search)
-	//		escon := elastic.GetEsConn()
-	//		defer elastic.DestoryEsConn(escon)
-	//		res, err := escon.Search(util.ElasticClientIndex).
-	//			Type(util.ElasticClientType).Source(`{"query": {"match_phrase":{"company_name":"`+search+`"}}}`).
-	//			//Query( elastic.NewMatchPhraseQuery("company_name", search)).
-	//			Size(limit).
-	//			From(start).
-	//			Do()
-	//		if err != nil {
-	//			log.Println(err)
-	//			c.JSON(500, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
-	//			return
-	//		}
-	//		if res.Hits != nil{
-	//			tmps := make([]map[string]interface{}, 0)
-	//			for _, v := range res.Hits.Hits {
-	//				tmp := make(map[string]interface{})
-	//				err := json.Unmarshal(*v.Source, &tmp)
-	//				if err != nil {
-	//					log.Println(err)
-	//					continue
-	//				}
-	//				tmp["_id"] = v.Id
-	//				//log.Println(tmp)
-	//				tmps = append(tmps, tmp)
-	//			}
-	//			//count := Mgo.Count("enterprise_qyxy", bson.M{"company_name": bson.M{"$regex": bson.RegEx{search, "i"}}})
-	//			//data, _ := Mgo.Find("enterprise_qyxy", bson.M{"company_name": bson.M{"$regex": bson.RegEx{search, "i"}}}, `{"_id":-1}`, nil, false, start, limit)
-	//			c.JSON(200, gin.H{"data": tmps, "recordsFiltered": res.Hits.TotalHits, "recordsTotal": res.Hits.TotalHits})
-	//		}else {
-	//			c.JSON(200, gin.H{"data": []map[string]interface{}{}, "recordsFiltered": 0, "recordsTotal": 0})
-	//		}
-	//	}
-	//})
-	////delete
-	//Admin.POST("/audit/buyer_info/deleteQyk", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	if bson.IsObjectIdHex(_id) {
-	//		delisok := Mgo.Del("enterprise_qyxy", bson.M{"_id": bson.ObjectIdHex(_id)})
-	//		escon := elastic.GetEsConn()
-	//		defer elastic.DestoryEsConn(escon)
-	//		_, err := escon.Delete().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(_id).Refresh(true).Do()
-	//		if err != nil {
-	//			log.Println("delete qyk err:", err)
-	//		}
-	//		c.JSON(200, gin.H{"rep": 200, "data": delisok})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
-	////queryById
-	//Admin.POST("/audit/query_qyk/ById", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	q_field := c.PostForm("q_field")
-	//	if bson.IsObjectIdHex(_id) && strings.TrimSpace(q_field) != "" {
-	//		data, _ := Mgo.FindById(util.ElasticClientDB, _id, bson.M{q_field: 1})
-	//		c.JSON(200, gin.H{"rep": 200, "data": data})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
-	////updateIndustrys
-	//Admin.POST("/audit/query_qyk/UpdateIndustrys", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	industrys := c.PostFormArray("industry")
-	//	//log.Println(_id,industrys)
-	//	if bson.IsObjectIdHex(_id) {
-	//		b := Mgo.Update(util.ElasticClientDB, bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": bson.M{"industry": industrys}}, false, false)
-	//		if b {
-	//			escon := elastic.GetEsConn()
-	//			defer elastic.DestoryEsConn(escon)
-	//			_, err := escon.Update().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(_id).Doc(map[string]interface{}{
-	//				"industry": industrys,
-	//			}).Refresh(true).Do()
-	//			if err != nil {
-	//				log.Println("update yqk industry err :", err)
-	//			}
-	//		}
-	//		c.JSON(200, gin.H{"rep": 200, "data": b})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
-	////updateTels
-	//Admin.POST("/audit/query_qyk/UpdateTels", func(c *gin.Context) {
-	//	_id := c.PostForm("_id")
-	//	//log.Println(_id)
-	//	contact_persons := c.PostFormArray("contact_persons")
-	//	contact_types := c.PostFormArray("contact_types")
-	//	phones := c.PostFormArray("phones")
-	//	topscopeclasss := c.PostFormArray("topscopeclasss")
-	//	if bson.IsObjectIdHex(_id) && len(contact_persons) == len(contact_types) && len(phones) == len(topscopeclasss) && len(phones) == len(contact_persons) {
-	//		contacts := make([]map[string]interface{}, 0)
-	//		for _, v := range contact_persons {
-	//			tmp := make(map[string]interface{})
-	//			tmp["contact_person"] = v
-	//			contacts = append(contacts, tmp)
-	//		}
-	//		for i, v := range contact_types {
-	//			contacts[i]["contact_type"] = v
-	//		}
-	//		for i, v := range phones {
-	//			contacts[i]["phone"] = v
-	//		}
-	//		for i, v := range topscopeclasss {
-	//			contacts[i]["topscopeclass"] = v
-	//			contacts[i]["updatetime"] = time.Now().Unix()
-	//		}
-	//		//for k,v := range contacts{
-	//		//	log.Println(k,v)
-	//		//}
-	//		b := Mgo.Update(util.ElasticClientDB, bson.M{"_id": bson.ObjectIdHex(_id)}, bson.M{"$set": bson.M{"contact": contacts}}, false, false)
-	//		if b {
-	//			escon := elastic.GetEsConn()
-	//			defer elastic.DestoryEsConn(escon)
-	//			_, err := escon.Update().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(_id).Doc(map[string]interface{}{
-	//				"contact": contacts,
-	//			}).Refresh(true).Do()
-	//			if err != nil {
-	//				log.Println("update yqk contact err :", err)
-	//			}
-	//		}
-	//		c.JSON(200, gin.H{"rep": 200, "data": b})
-	//	} else {
-	//		c.JSON(200, gin.H{"rep": 400})
-	//	}
-	//})
+
 }

+ 3 - 1
src/jy/util/elastic_client.go

@@ -11,7 +11,9 @@ import (
 //)
 //
 //var ElasticClient *elastic.Client
-var ElasticClientIndex,ElasticClientType,ElasticClientDB string
+var ElasticClientIndex,ElasticClientType,ElasticClientDB string  //winner
+var ElasticClientBuyerIndex,ElasticClientBuyerType,ElasticClientBuyerDB string  //buyer
+var ElasticClientAgencyIndex,ElasticClientAgencyType,ElasticClientAgencyDB string  //agency
 var QykRedisPool *redis.Client
 func init() {
 	QykRedisPool = redis.NewClient(&redis.Options{

+ 13 - 0
src/main.go

@@ -42,9 +42,22 @@ func init() {
 	//	log.Fatal("ElasticClient err:", err)
 	//} else {
 	//	util.ElasticClient = eClient
+
+	//winner
 	util.ElasticClientIndex = qu.ObjToString(util.Config["elasticsearch_index"])
 	util.ElasticClientType = qu.ObjToString(util.Config["elasticsearch_type"])
 	util.ElasticClientDB = qu.ObjToString(util.Config["elasticsearch_db"])
+
+	//buyer
+	util.ElasticClientBuyerIndex = qu.ObjToString(util.Config["elasticsearch_buyer_index"])
+	util.ElasticClientBuyerType = qu.ObjToString(util.Config["elasticsearch_buyer_type"])
+	util.ElasticClientBuyerDB = qu.ObjToString(util.Config["elasticsearch_buyer_db"])
+
+	//buyer
+	util.ElasticClientAgencyIndex = qu.ObjToString(util.Config["elasticsearch_agency_index"])
+	util.ElasticClientAgencyType = qu.ObjToString(util.Config["elasticsearch_agency_type"])
+	util.ElasticClientAgencyDB = qu.ObjToString(util.Config["elasticsearch_agency_db"])
+
 	//}
 }
 

+ 45 - 30
src/web/templates/admin/agencyinfo.html

@@ -87,7 +87,7 @@
             "autoWidth": false,
             "serverSide": true,
             "ajax": {
-                "url": "/admin/audit/query_qyk/list",
+                "url": "/admin/audit/query_agency/list",
                 "type": "post",
             },
             "language": {
@@ -95,7 +95,7 @@
             },
             "columns": [
                 {
-                    "data": "company_name", "width": "15%", render: function (val, a, row) {
+                    "data": "agency_name", "width": "15%", render: function (val, a, row) {
                         if (val == null) {
                             return ""
                         }
@@ -163,7 +163,7 @@
         $("#infos").html("");
         $("#info_title").html("新增代理机构信息");
         com ="<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\" style=\"color: red;\">代理机构名称:</label>" +
-            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_company_name\" must=\"true\"></div></div>" +
+            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_agency_name\" must=\"true\"></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">历史名称:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_history_name\" placeholder=\"多个;隔开\"></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">行政区划代码:</label>" +
@@ -199,7 +199,7 @@
     }
     /*保存企业库*/
     function Add() {
-        var company_name = $("#s_company_name").val();          //代理机构名称
+        var agency_name = $("#s_agency_name").val();          //代理机构名称
         var history_name = $("#s_history_name").val();          //历史名称
         var area_code = $("#s_area_code").val();                //行政区划代码
         var type = $("#s_type").val();                          //单位类型
@@ -211,7 +211,21 @@
         var wechat_accounts = $("#s_wechat_accounts").val();    //微信公众号
         var website = $("#s_website").val();                    //网址
         var contact = editor_add.getText();                     //联系人
-        if (company_name === "") {
+        if (typeof contact == 'string') {
+            try {
+                var obj=JSON.parse(contact);
+                if(typeof obj == 'object' && obj ){
+                    // alert("格式正确");
+                }else{
+                    alert("联系人的表单json格式不正确");
+                    return
+                }
+            } catch(e) {
+                alert("联系人的表单json格式不正确");
+                return
+            }
+        }
+        if (agency_name === "") {
             alert("红色标签的表单不能为空!");
             return
         } else if (contact === JSON.stringify(vastrjson, null, 2)) {
@@ -219,15 +233,10 @@
             return
         }
 
-
-
-        //打印测试
-        console.log(company_name,contact);
-
         return
         //新增代理机构api
         $.post("/admin/audit/agency_info/save", {
-            "company_name": company_name,
+            "agency_name": agency_name,
             "history_name": history_name,
             "area_code": area_code,
             "type": type,
@@ -241,10 +250,10 @@
             "contact":contact
         }, function (data) {
             if (data && data.rep) {
-                $("#myModal").modal("hide");
                 alert("保存成功");
+                $("#info_data").modal("hide");
                 setTimeout(function () {
-                    ttable.search(company_name).draw();
+                    ttable.search(agency_name).draw();
                     //    history.go(0) //刷新本页
                 }, 1500) //停1.5秒
 
@@ -285,7 +294,7 @@
         $("#infos").html("");
         $("#info_title").html("编辑采购单位信息");
         com ="<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\" style=\"color: red;\">采购单位名称:</label>" +
-            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_company_name\" must=\"true\" value='" + _obj.company_name + "'></div></div>" +
+            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_agency_name\" must=\"true\" value='" + _obj.agency_name + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">历史名称:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_history_name\" value='" + _obj.history_name + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">行政区划代码:</label>" +
@@ -303,7 +312,7 @@
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">代理机构地址:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_address\" value='" + _obj.address + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">微信公众号:</label>" +
-            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_wechat_accounts\" value='" + _obj.wechat_accounts + "'></div></div>" +
+            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_wechat_accounts\" placeholder=\"多个;隔开\" value='"+_obj.wechat_accounts.join(";")+"'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">网址:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_website\" value='" + _obj.website + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">联系方式:</label>" +
@@ -314,9 +323,8 @@
             "<button type='button' class='btn btn-sm btn-danger col-md-2' onclick='updatedate(\"" + _obj._id + "\")'>更新</button></div>";
 
         $("#infos").html(com);
-        $("#s_contact").html('');
         var container = document.getElementById('s_contact');
-        showJson("add", vastrjson, container);
+        showJson("update", _obj.contact, container);
         $("#info_data").modal("show");
     }
 
@@ -325,7 +333,7 @@
             alert("id不存在!");
             return
         }
-        var company_name = $("#s_company_name").val();          //采购单位名称
+        var agency_name = $("#s_agency_name").val();          //采购单位名称
         var history_name = $("#s_history_name").val();          //历史名称
         var area_code = $("#s_area_code").val();                //行政区划代码
         var type = $("#s_type").val();                          //单位类型
@@ -337,18 +345,25 @@
         var wechat_accounts = $("#s_wechat_accounts").val();    //微信公众号
         var website = $("#s_website").val();                    //网址
         var contact = editor_add.getText();                     //联系人
-        if (company_name === "") {
+        var contact = editor_update.getText();//联系人
+        if (typeof contact == 'string') {
+            try {
+                var obj=JSON.parse(contact);
+                if(typeof obj == 'object' && obj ){
+                    // alert("格式正确");
+                }else{
+                    alert("联系人的表单json格式不正确");
+                    return
+                }
+            } catch(e) {
+                alert("联系人的表单json格式不正确");
+                return
+            }
+        }
+        if (agency_name === "") {
             alert("红色标签的表单不能为空!");
             return
-        } else if (contact === JSON.stringify(vastrjson, null, 2)) {
-            alert("联系人的表单未填写!");
-            return
         }
-
-
-        //打印测试
-        console.log(company_name,contact);
-
         return
 
 
@@ -356,7 +371,7 @@
         //新增企业库api
         $.post("/admin/audit/agency_info/save", {
             "_id": _id,
-            "company_name": company_name,
+            "agency_name": agency_name,
             "history_name": history_name,
             "area_code": area_code,
             "type": type,
@@ -370,10 +385,10 @@
 
         }, function (data) {
             if (data && data.rep) {
-                alert("更新成功");
                 $("#info_data").modal("hide");
+                alert("更新成功");
                 setTimeout(function () {
-                    ttable.search(company_name).draw();
+                    ttable.search(agency_name).draw();
                     //    history.go(0) //刷新本页
                 }, 800) //停1.5秒
             } else {

+ 45 - 32
src/web/templates/admin/buyerinfo.html

@@ -87,7 +87,7 @@
             "autoWidth": false,
             "serverSide": true,
             "ajax": {
-                "url": "/admin/audit/query_qyk/list",
+                "url": "/admin/audit/query_buyer/list",
                 "type": "post",
             },
             "language": {
@@ -95,7 +95,7 @@
             },
             "columns": [
                 {
-                    "data": "company_name", "width": "15%", render: function (val, a, row) {
+                    "data": "buyer_name", "width": "15%", render: function (val, a, row) {
                         if (val == null) {
                             return ""
                         }
@@ -163,7 +163,7 @@
         $("#infos").html("");
         $("#info_title").html("新增采购单位信息");
         com ="<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\" style=\"color: red;\">采购单位名称:</label>" +
-            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_company_name\" must=\"true\"></div></div>" +
+            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_buyer_name\" must=\"true\"></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">历史名称:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_history_name\" placeholder=\"多个;隔开\"></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">行政区划代码:</label>" +
@@ -201,7 +201,7 @@
     }
     /*保存企业库*/
     function Add() {
-        var company_name = $("#s_company_name").val();          //采购单位名称
+        var buyer_name = $("#s_buyer_name").val();              //采购单位名称
         var history_name = $("#s_history_name").val();          //历史名称
         var area_code = $("#s_area_code").val();                //行政区划代码
         var type = $("#s_type").val();                          //单位类型
@@ -214,7 +214,21 @@
         var wechat_accounts = $("#s_wechat_accounts").val();    //微信公众号
         var website = $("#s_website").val();                    //网址
         var contact = editor_add.getText();                     //联系人
-        if (company_name === "") {
+        if (typeof contact == 'string') {
+            try {
+                var obj=JSON.parse(contact);
+                if(typeof obj == 'object' && obj ){
+                    // alert("格式正确");
+                }else{
+                    alert("联系人的表单json格式不正确");
+                    return
+                }
+            } catch(e) {
+                alert("联系人的表单json格式不正确");
+                return
+            }
+        }
+        if (buyer_name === "") {
             alert("红色标签的表单不能为空!");
             return
         } else if (contact === JSON.stringify(vastrjson, null, 2)) {
@@ -222,15 +236,10 @@
             return
         }
 
-
-
-        //打印测试
-        console.log(company_name,contact);
-
         return
         //新增采购单位api
         $.post("/admin/audit/buyer_info/save", {
-            "company_name": company_name,
+            "buyer_name": buyer_name,
             "history_name": history_name,
             "area_code": area_code,
             "type": type,
@@ -245,10 +254,10 @@
             "contact":contact
         }, function (data) {
             if (data && data.rep) {
-                $("#myModal").modal("hide");
                 alert("保存成功");
+                $("#info_data").modal("hide");
                 setTimeout(function () {
-                    ttable.search(company_name).draw();
+                    ttable.search(buyer_name).draw();
                     //    history.go(0) //刷新本页
                 }, 1500) //停1.5秒
 
@@ -289,7 +298,7 @@
         $("#infos").html("");
         $("#info_title").html("编辑采购单位信息");
         com ="<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\" style=\"color: red;\">采购单位名称:</label>" +
-            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_company_name\" must=\"true\" value='" + _obj.company_name + "'></div></div>" +
+            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_buyer_name\" must=\"true\" value='" + _obj.buyer_name + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">历史名称:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_history_name\" value='" + _obj.history_name + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">行政区划代码:</label>" +
@@ -309,7 +318,7 @@
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">采购单位地址:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_address\" value='" + _obj.address + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">微信公众号:</label>" +
-            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_wechat_accounts\" value='" + _obj.wechat_accounts + "'></div></div>" +
+            "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_wechat_accounts\" placeholder=\"多个;隔开\" value='"+_obj.wechat_accounts.join(";")+"'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">网址:</label>" +
             "<div class=\"col-sm-10\"><input type=\"text\" class=\"form-control\" id=\"s_website\" value='" + _obj.website + "'></div></div>" +
             "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-2 control-label\">联系方式:</label>" +
@@ -320,9 +329,8 @@
             "<button type='button' class='btn btn-sm btn-danger col-md-2' onclick='updatedate(\"" + _obj._id + "\")'>更新</button></div>";
 
         $("#infos").html(com);
-        $("#s_contact").html('');
         var container = document.getElementById('s_contact');
-        showJson("add", vastrjson, container);
+        showJson("update", _obj.contact, container);
         $("#info_data").modal("show");
     }
 
@@ -331,7 +339,7 @@
             alert("id不存在!");
             return
         }
-        var company_name = $("#s_company_name").val();          //采购单位名称
+        var buyer_name = $("#s_buyer_name").val();          //采购单位名称
         var history_name = $("#s_history_name").val();          //历史名称
         var area_code = $("#s_area_code").val();                //行政区划代码
         var type = $("#s_type").val();                          //单位类型
@@ -343,27 +351,32 @@
         var address = $("#s_address").val();                    //采购单位地址
         var wechat_accounts = $("#s_wechat_accounts").val();    //微信公众号
         var website = $("#s_website").val();                    //网址
-        var contact = editor_add.getText();                     //联系人
-        if (company_name === "") {
+        var contact = editor_update.getText();//联系人
+        if (typeof contact == 'string') {
+            try {
+                var obj=JSON.parse(contact);
+                if(typeof obj == 'object' && obj ){
+                    // alert("格式正确");
+                }else{
+                    alert("联系人的表单json格式不正确");
+                    return
+                }
+            } catch(e) {
+                alert("联系人的表单json格式不正确");
+                return
+            }
+        }
+        if (buyer_name === "") {
             alert("红色标签的表单不能为空!");
             return
-        } else if (contact === JSON.stringify(vastrjson, null, 2)) {
-            alert("联系人的表单未填写!");
-            return
         }
 
-
-        //打印测试
-        console.log(company_name,contact);
-
         return
 
-
-
         //新增企业库api
         $.post("/admin/audit/buyer_info/save", {
             "_id": _id,
-            "company_name": company_name,
+            "buyer_name": buyer_name,
             "history_name": history_name,
             "area_code": area_code,
             "type": type,
@@ -378,10 +391,10 @@
 
         }, function (data) {
             if (data && data.rep) {
-                alert("更新成功");
                 $("#info_data").modal("hide");
+                alert("更新成功");
                 setTimeout(function () {
-                    ttable.search(company_name).draw();
+                    ttable.search(buyer_name).draw();
                     //    history.go(0) //刷新本页
                 }, 800) //停1.5秒
             } else {