浏览代码

中标单位

fengweiqiang 5 年之前
父节点
当前提交
5e1a304fc4
共有 4 个文件被更改,包括 159 次插入63 次删除
  1. 5 1
      src/config.json
  2. 76 29
      src/jy/admin/audit/qiyeku.go
  3. 19 1
      src/jy/util/elastic_client.go
  4. 59 32
      src/web/templates/admin/qiyekuinfo.html

+ 5 - 1
src/config.json

@@ -8,7 +8,11 @@
     "elasticsearch_index": "winner_enterprise",
     "elasticsearch_type": "winnerent",
     "elasticsearch_db": "winner_enterprise",
-    "elasticPoolSize": 10,
+    "redis_qyk": "127.0.0.1:6379",
+    "redis_winner_db": "1",
+    "redis_buyer_db": "2",
+    "redis_agency_db": "3",
+    "elasticPoolSize": 5,
     "mergetable": "projectset",
     "mergetablealias": "projectset_v1",
     "saveresult": false,

+ 76 - 29
src/jy/admin/audit/qiyeku.go

@@ -28,11 +28,19 @@ func init() {
 		_id := c.PostForm("_id")
 		company_name := c.PostForm("company_name")
 		alias := c.PostForm("alias")
+		history_name := strings.ReplaceAll(c.PostForm("history_name"),";",";")
+		area_code := c.PostForm("area_code")
 		province := c.PostForm("province")
 		city := c.PostForm("city")
 		district := c.PostForm("district")
 		capital := c.PostForm("capital")
 		company_address := c.PostForm("company_address")
+		business_scope := c.PostForm("business_scope")
+		wechat_accounts := strings.ReplaceAll(c.PostForm("wechat_accounts"),";",";")
+		website := c.PostForm("website")
+		contact := c.PostForm("contact")
+		contacts := make([]map[string]string,0)
+		jsonerr :=json.Unmarshal([]byte(contact),&contacts)
 		if strings.TrimSpace(company_name) == "" {
 			c.JSON(200, gin.H{"rep": 400})
 			return
@@ -42,53 +50,78 @@ func init() {
 		e := make(map[string]interface{})
 		e["company_name"] = company_name
 		e["alias"] = alias
+		if len(history_name)>0{
+			e["history_name"] = strings.Split(history_name,";")
+		}else {
+			e["history_name"] =[]string{}
+		}
+		e["area_code"] = area_code
 		e["province"] = province
 		e["city"] = city
 		e["district"] = district
 		e["capital"] = capitalfloat
 		e["company_address"] = company_address
+		e["business_scope"] = business_scope
+		if len(wechat_accounts)>0{
+			e["wechat_accounts"] = strings.Split(business_scope,";")
+		}else {
+			e["wechat_accounts"] = []string{}
+		}
+		e["website"] = website
+		if jsonerr != nil {
+			e["contact"] = []map[string]string{}
+		}else {
+			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,"company_name")
+			tmpb := Mgo.Update(util.ElasticClientDB, 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()
+					Id(sid).Doc(e).Refresh(true).Do()
 				if err != nil {
 					log.Println("update qyk 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")
-			escon := elastic.GetEsConn()
-			defer elastic.DestoryEsConn(escon)
-			_, err := escon.Index().Index(util.ElasticClientIndex).Type(util.ElasticClientType).Id(sid).BodyJson(e).Refresh(true).Do()
-			if err != nil {
-				log.Println("save qyk err:", err)
+			sid = Mgo.Save(util.ElasticClientDB, 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(company_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.ElasticClientIndex).Type(util.ElasticClientType).Id(sid).BodyJson(e).Refresh(true).Do()
+				if err != nil {
+					log.Println("save qyk err:", err)
+					c.JSON(200, gin.H{"rep": 500, "err": "更新es错误"})
+					return
+				}
 			}
+			c.JSON(200, gin.H{"rep": 200, "saveid": sid})
 		}
-		c.JSON(200, gin.H{"rep": 200, "saveid": sid})
 	})
 	//列表查询
 	Admin.POST("/audit/query_qyk/list", func(c *gin.Context) {
@@ -142,17 +175,31 @@ func init() {
 	//delete
 	Admin.POST("/audit/qiyeku_info/deleteQyk", func(c *gin.Context) {
 		_id := c.PostForm("_id")
+		company_name := c.PostForm("company_name")
 		if bson.IsObjectIdHex(_id) {
-			delisok := Mgo.Del("enterprise_qyxy", bson.M{"_id": bson.ObjectIdHex(_id)})
+			delisok := Mgo.Del(util.ElasticClientDB, 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(company_name);del.Err()!=nil{
+				log.Println("delete qyk err:", del.Err(),company_name)
+				c.JSON(200, gin.H{"rep": 500,"err":"删除redis错误"})
+				return
+			}
 			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": 500,"err":"删除es错误"})
+				return
 			}
 			c.JSON(200, gin.H{"rep": 200, "data": delisok})
 		} else {
-			c.JSON(200, gin.H{"rep": 400})
+			c.JSON(200, gin.H{"rep": 400,"err":"参数错误"})
 		}
 	})
 	//queryById

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

@@ -1,12 +1,30 @@
 package util
 
+import (
+	"github.com/go-redis/redis"
+	"qfw/util"
+	"time"
+)
+
 //import (
 //	"gopkg.in/olivere/elastic.v5"
 //)
 //
 //var ElasticClient *elastic.Client
 var ElasticClientIndex,ElasticClientType,ElasticClientDB string
-
+var QykRedisPool *redis.Client
+func init() {
+	QykRedisPool = redis.NewClient(&redis.Options{
+		Addr:         util.ObjToString(Config["redis_qyk"]),
+		DB:           1,
+		DialTimeout:  10 * time.Second,
+		ReadTimeout:  30 * time.Second,
+		WriteTimeout: 30 * time.Second,
+		PoolSize:     30,
+		MinIdleConns: 20,
+		PoolTimeout:  30 * time.Second,
+	})
+}
 //func init() {
 //	if eClient, err := elastic.NewClient(elastic.SetURL(util.ObjToString(Config["elasticsearch"])));err != nil{
 //		log.Println(Config["elasticsearch"])

+ 59 - 32
src/web/templates/admin/qiyekuinfo.html

@@ -157,7 +157,7 @@
                             "<a class='btn btn-primary' onclick='editdata(" + valueStr + ")'>编辑</a>&nbsp;" +
                             /*"<a class='btn btn-default' onclick='showHylxs(\"" + val + "\")'>详细行业类型</a>&nbsp;" +
                             "<a class='btn btn-sm btn-warning' onclick='showTels(\"" + val + "\")'>详细联系方式</a>&nbsp;" +*/
-                            "<a class='btn btn-sm btn-danger' onclick='deleteQyk(\"" + val + "\")'>删除</a>&nbsp;" +
+                            "<a class='btn btn-sm btn-danger' onclick='deleteQyk(\"" + row._id + "\",\"" + row.company_name + "\" )'>删除</a>&nbsp;" +
                             "</div>"
                     }
                 }
@@ -317,14 +317,15 @@
             "district": district,
             "capital": capital,
             "company_address": company_address,
-            "business_scope":business_scope,
-            "wechat_accounts":wechat_accounts,
-            "website":website,
-            "contact":contact
+            "business_scope": business_scope,
+            "wechat_accounts": wechat_accounts,
+            "website": website,
+            "contact": contact
         }, function (data) {
+            console.log(data);
             if (data && data.rep) {
-                $("#myModal").modal("hide");
                 alert("保存成功");
+                $("#info_data").modal("hide");
                 setTimeout(function () {
                     ttable.search(company_name).draw();
                     //    history.go(0) //刷新本页
@@ -503,7 +504,7 @@
     }
 
     //删除
-    function deleteQyk(_id) {
+    function deleteQyk(_id, company_name) {
         if (_id === "") {
             alert("参数id为空");
             return
@@ -511,7 +512,9 @@
         if (confirm("您确认要提交此操作?")) {
             $.post("/admin/audit/qiyeku_info/deleteQyk", {
                 "_id": _id,
+                "company_name": company_name,
             }, function (data) {
+                console.log(data);
                 if (data && data.rep) {
                     setTimeout(function () {
                         alert("删除成功");
@@ -530,27 +533,39 @@
     function editdata(_obj) {
         $("#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=\"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_alias\" value='" + _obj.alias + "'></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_province\" value='" + _obj.province + "'></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_city\" value='" + _obj.city + "'></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_district\" value='" + _obj.district + "'></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_capital\" value='" + _obj.capital + "'  placeholder=\"示例:45678.98元;456.78万元;1234.25;\"></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_company_address\" value='" + _obj.company_address + "'></div>" +
-            "</div></div>" +
+        com = "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\" style=\"color: red;\">企业名称:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_company_name\"  readonly=\"true\" must=\"true\" value='" + _obj.company_name + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">别名:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_alias\" value='" + _obj.alias + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">历史名称:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_history_name\" placeholder=\"多个;隔开\" value='" + _obj.history_name + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">行政区划代码:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_area_code\" value='"+_obj.area_code+"' ></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">省份:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_province\" value='" + _obj.province + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">城市:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_city\" value='" + _obj.city + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">区县:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_district\" value='" + _obj.district + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">注册资本:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_capital\" value='" + _obj.capital + "'  placeholder=\"示例:45678.98元;456.78万元;1234.25;\"></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">企业地址:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_company_address\" value='" + _obj.company_address + "'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">经营范围:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_business_scope\" value='"+_obj.business_scope+"'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">微信公众号:</label>" +
+            "<div class=\"col-sm-9\"><input type=\"text\" class=\"form-control\" id=\"s_wechat_accounts\" placeholder=\"多个;隔开\" value='"+_obj.wechat_accounts+"'></div></div>" +
+            "<div class=\"row form-group\"><label for=\"lastname\" class=\"col-sm-3 control-label\">网址:</label>" +
+            "<div class=\"col-sm-9\"><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-3 control-label\">联系方式:</label>" +
+            "<div class=\"col-sm-9\" id='s_contact' style=\"height:250px\"></div>" +
             "<div class=\"row form-group\">" +
             "<button type='button' class='btn btn-sm btn-default col-md-offset-5 col-md-2'  data-dismiss='modal' aria-label='Close'>取消</button>" +
             "<button type='button' class='btn btn-sm btn-danger col-md-2' onclick='updatedate(\"" + _obj._id + "\")'>更新</button></div>";
         $("#infos").html(com);
+        var container = document.getElementById('s_contact');
+        console.log(_obj.contact)
+        showJson("update", _obj.contact, container);
         $("#info_data").modal("show");
     }
 
@@ -559,13 +574,19 @@
             alert("id不存在!");
             return
         }
-        var company_name = $("#s_company_name").val();
-        var alias = $("#s_alias").val();
-        var province = $("#s_province").val();
-        var city = $("#s_city").val();
-        var district = $("#s_district").val();
-        var capital = $("#s_capital").val();
-        var company_address = $("#s_company_address").val();
+        var company_name = $("#s_company_name").val();//企业名称
+        var alias = $("#s_alias").val();//别名
+        var history_name = $("#s_history_name").val();//历史名称
+        var area_code = $("#s_area_code").val();//行政区划代码
+        var province = $("#s_province").val();//省份
+        var city = $("#s_city").val();//城市
+        var district = $("#s_district").val();//区县
+        var capital = $("#s_capital").val();//注册资本
+        var company_address = $("#s_company_address").val();//企业地址
+        var business_scope = $("#s_business_scope").val();//经营范围
+        var wechat_accounts = $("#s_wechat_accounts").val();//微信公众号
+        var website = $("#s_website").val();//网址
+        var contact = editor_udapte.getText();//联系人
         if (company_name === "") {
             alert("红色标签的表单不能为空!");
             return
@@ -575,15 +596,21 @@
             "_id": _id,
             "company_name": company_name,
             "alias": alias,
+            "history_name": history_name,
+            "area_code": area_code,
             "province": province,
             "city": city,
             "district": district,
             "capital": capital,
             "company_address": company_address,
+            "business_scope": business_scope,
+            "wechat_accounts": wechat_accounts,
+            "website": website,
+            "contact": contact
         }, function (data) {
             if (data && data.rep) {
-                alert("更新成功");
                 $("#info_data").modal("hide");
+                alert("更新成功");
                 setTimeout(function () {
                     ttable.search(company_name).draw();
                     //    history.go(0) //刷新本页