Sfoglia il codice sorgente

更新采购单位增量处理

wcc 2 anni fa
parent
commit
07733fda28
3 ha cambiato i file con 78 aggiunte e 12 eliminazioni
  1. 2 0
      createEsIndex/bidding_es.go
  2. 17 12
      createEsIndex/buyertask.go
  3. 59 0
      createEsIndex/utils.go

+ 2 - 0
createEsIndex/bidding_es.go

@@ -526,6 +526,8 @@ func GetEsField(tmp map[string]interface{}, stype string) (map[string]interface{
 					newTmp["package"] = packages
 					newTmp["subpackage"] = 1
 				}
+			} else if field == "infoformat" {
+				newTmp[field] = tmp[field]
 			} else { //其它字段判断数据类型,不正确舍弃
 				if fieldval := tmp[field]; reflect.TypeOf(fieldval).String() != ftype {
 					continue

+ 17 - 12
createEsIndex/buyertask.go

@@ -116,12 +116,28 @@ func buyerOnce() {
 			}
 
 			lastid = util.IntAll(ret["id"])
-
 			name := util.ObjToString(ret["name"])
 			//company_id != ‘’ 或者在凭安 特殊企业或者在爬虫采购单位里
 			if util.ObjToString(ret["company_id"]) != "" || specialNames[name] {
 				realCount++
 				update["status"] = 1
+			} else if ruleBuyer(name) { //不符合条件,排除
+				update["status"] = -1
+			} else { //默认2,认为可信
+				realCount++
+				update["status"] = 2
+			}
+
+			//1.更新MySQL
+			where := map[string]interface{}{
+				"name_id": ret["name_id"],
+			}
+			if len(update) > 0 {
+				Mysql.Update("dws_f_ent_tags", where, update)
+			}
+
+			//2.生索引,status = 1或者2 才生索引
+			if util.IntAll(update["status"]) == 1 || util.IntAll(update["status"]) == 2 {
 				data := make(map[string]interface{}, 0)
 				data["name"] = name
 				data["name_id"] = ret["name_id"]
@@ -150,8 +166,6 @@ func buyerOnce() {
 				} else {
 					data["is_contact"] = false
 				}
-
-				//生索引
 				arrEs := make([]map[string]interface{}, 0) //最终生索引数据
 				arrEs = append(arrEs, data)
 				err = Es.InsertOrUpdate(config.Conf.DB.Es.IndexBuyer, arrEs)
@@ -159,15 +173,6 @@ func buyerOnce() {
 					log.Info("buyerOnce", zap.Any("InsertOrUpdate err", err))
 				}
 			}
-
-			//更新MySQL
-			where := map[string]interface{}{
-				"name_id": ret["name_id"],
-			}
-			if len(update) > 0 {
-				Mysql.Update("dws_f_ent_tags", where, update)
-			}
-
 		}
 
 		rows.Close()

+ 59 - 0
createEsIndex/utils.go

@@ -357,3 +357,62 @@ func TDName(name string) (res bool) {
 
 	return
 }
+
+//ruleBuyer 判断采购单位正确,名称错误返回true,名称正确返回false
+func ruleBuyer(input string) (res bool) {
+	//开头的单词
+	preWords := []string{"转发", "省", "会议室", "某", "某单位", "某公司", "某学校", "测试", "某大学", "某医院", "拟建", "机械", "县", "市", "区", "巡察", "人民路", "对", "楼", "家长", "春季", "对", "度", "初级中学", "州", "总部", "一号", "含", "育场", "选择", "第包", "医院",
+		"共赢资产", "从", "实验中学", "公共", "乘用车", "部与", "一直", "一体化", "现对", "现为", "之", "份", "半坡", "下属", "程", "信息", "带", "工务", "技术", "于", "号", "辖属", "造", "计财", "实验", "原", "器械", "是", "师", "雨山区", "云城区", "阜涣", "公联", "批",
+		"总承包", "姓市", "秋季学期", "哈巴河", "保险", "开发区", "尘设资", "团", "物业", "农村", "部", "二", "后勤", "位于", "选定", "依法", "口", "代表", "这", "逝沮省", "上半年", "第一", "门市", "配套", "八月", "七月", "集回", "维修", "遴选", "但", "增加",
+		"取消", "采购", "一直", "一体化", "现对", "现为", "之", "份", "取消", "转发", "省", "会议室", "某", "某单位", "某公司", "某学校", "测试", "某大学", "某医院", "拟建", "机械", "县", "市", "区", "巡察", "人民", "对", "楼", "家长", "春季", "于", "度", "初级中学", "州", "总部", "一号", "含", "育场", "选择", "第包", "医院",
+		"共赢资产", "从", "实验中学", "公共", "乘用车", "部与", "一直", "一体化", "现对", "现为", "之", "份", "半坡", "下属", "程", "信息", "带", "工务", "技术", "于", "号", "辖属", "造", "计财", "实验", "原", "器械", "是", "师", "阜涣", "公联", "批",
+		"总承包", "姓市", "秋季学期", "哈巴河", "保险", "开发区", "尘设资", "团", "物业", "农村", "部", "东省", "于", "章", "董", "分局", "再", "微", "明", "建", "公司", "审计", "满足", "中学", "届", "大学", "按摩", "中心", "附属", "总", "教育局", "中学", "小学", "学院",
+		"中医院", "人医院", "学校", "输", "十六", "有限", "节能", "二公司", "分公司", "子公司", "公司", "审计", "河河", "地公司", "六公司", "三公司", "十六公司", "节能", "股份", "运输公司", "堇", "家纺", "港区", "检查"}
+	//开头关键词
+	for _, word := range preWords {
+		if strings.HasPrefix(input, word) {
+			res = true
+			return res
+		}
+	}
+
+	//结尾关键词
+	suffixes := []string{"院院", "局局", "场场", "小学室", "和社", "人屡政府", "谈话室", "小区局", "今作社", "点场", "人昆政府",
+		"年度室", "分行银行", "人政府", "人民矢院", "教学楼局", "笺理局", "地场", "人民唉院", "瞥理局", "所院", "农业衣村局",
+		"民丢局", "委员会老干部", "办非处", "等支局", "监督站局", "停车库局", "检查员", "办直处", "进行局", "楼局", "等局", "人民政府社",
+		"模块局", "人民政俯", "人民医标院", "农业农局", "园局", "规则局", "人乓政府", "人事条局", "箐理所", "在政府", "重点局", "大学入场",
+		"入场", "发也站", "赘源局", "计划生育服务中心政府", "第一人民吹院", "有限公司室", "教标育局", "一民政府", "场部", "埋局", "大学大学",
+		"分公司分公司", "医院医院", "测试", "公司", "市", "显微镜", "段", "现场局", "租赁"}
+	for _, word := range suffixes {
+		if strings.HasSuffix(input, word) {
+			res = true
+			return res
+		}
+	}
+
+	//包含的关键词
+	specials := []string{"丿", "艹", "[ ", "【", "?", "亻", "#", "~", "^", "亻", "*", "$", "、", "/", "*",
+		"<>", "[ ", "【", "?", "某", "我", "第一轮", "第一次", "第一词", "第一季", "各学校", "第一批", "完全学校",
+		"一致同意", "X", "保体障局", "人们政府", "上设局", "开发茎", "场场", "设保", "武鳖", "集回", "项日", "代理银行",
+		"辽宁省省会", "菖处", "口国", "人民汰院", "肉州市", "火车站社", "自然资源和规局", "萎员会", "经济技术开发茎",
+		"()", "()", "有限公司厂", "测试", "建设建设", "建设规模", "满足", "郑州郑州", "学校学校", "&", ";", ";",
+		"就医院", "酒医院", "至医院", "对", "所需", "提升", "提高", "学期", "学年", "规模", "必须", "建成", "各公司",
+		"养护", "拿", "艹", "关于", "要求", "举办", "显示所", "右阴公司", "发射", "加装", "扩建", "道路维修", "等所",
+		"维稳中心", "异议", "任务", "分包", "其他", "行为", "中标人", "教室", "安置", "暂行", "选聘", "合同", "转发",
+		"勿救", "既有", "装置", "开展", "依据", "指定", "一般用", "采供", "修缮", "招标单位", "联系方式", "沟通",
+		"该项目", "安装", "造价", "改造", "样品", "课室", "水毁道路", "闲置资产", "某单位", "某公司", "某学校", "测试", "某大学", "某医院", "地产鲨", "项目组",
+		"公国司", "物资", "评估与医院", "年室", "招标", "设有", "复限公司", "服务", "罩套", "有阴公", "人队", "报告",
+		"显微镜", "现场局", "租赁", "镇", "市中心", "勐阿糖厂", "展厅", "等医院", "广场室", "水利顷", "市室", "交界处", "自助银行",
+		"若源局", "布局", "联合体", "气室", "活动场", "包装公司", "投资", "有限", "等", "设备", "急件", "核实", "测汞仪", "黑名单", "制作类",
+		"大学大学", "学院学院", "大学场", "学校室", "部队部队", "内部", "部分支公司", "短管", "投标文件", "汇编", "收购"}
+
+	for _, v := range specials {
+		if strings.Contains(input, v) {
+			res = true
+			return res
+		}
+	}
+
+	return res
+
+}