Pārlūkot izejas kodu

更新日志,增加业主类型

xuzhiheng 1 gadu atpakaļ
vecāks
revīzija
da25a999a1
8 mainītis faili ar 213 papildinājumiem un 93 dzēšanām
  1. 9 9
      field_sync/file.go
  2. 7 0
      field_sync/go.mod
  3. 22 13
      field_sync/go.sum
  4. 16 19
      field_sync/init.go
  5. 5 4
      field_sync/jykeyword.go
  6. 73 0
      field_sync/jylog.go
  7. 24 23
      field_sync/main.go
  8. 57 25
      field_sync/task.go

+ 9 - 9
field_sync/file.go

@@ -3,14 +3,14 @@ package main
 import (
 	"bufio"
 	"fmt"
-	"go.uber.org/zap"
 	"io"
-	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
+	"log"
 	"os"
 	"regexp"
 	"strconv"
 	"strings"
+
+	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
 )
 
 var (
@@ -32,7 +32,7 @@ func InitFileInfo() {
 	LoadDict("CommonDict.txt") //初始化常用字典
 }
 
-//DFA
+// DFA
 type DFA struct {
 	Link map[string]interface{}
 }
@@ -86,11 +86,11 @@ func (d *DFA) CheckSensitiveWord(src string) []string {
 	return res
 }
 
-//加载统计的常用词
+// 加载统计的常用词
 func LoadDict(path string) {
 	dictFile, err := os.Open(path)
 	if err != nil {
-		log.Error("Load Common.txt Error")
+		log.Println("Load Common.txt Error")
 		os.Exit(-1)
 	}
 	defer dictFile.Close()
@@ -115,12 +115,12 @@ func LoadDict(path string) {
 				NotCommonDFA.AddWord(text)
 			}
 		} else {
-			log.Error("Read Line Error:", zap.Int("line", line))
+			log.Println("Read Line Error: line ", line)
 		}
 	}
 }
 
-//解析附件
+// 解析附件
 func AnalysisFile(filetext string) bool {
 	defer util.Catch()
 	//过滤空格
@@ -161,7 +161,7 @@ func AnalysisFile(filetext string) bool {
 	return false
 }
 
-//测试方法
+// 测试方法
 func AnalysisFileTest(detail string) (bool, string, int, float64, float64) {
 	//qu.Debug(detail)
 	defer util.Catch()

+ 7 - 0
field_sync/go.mod

@@ -6,6 +6,13 @@ require (
 	app.yhyue.com/moapp/jybase v0.0.0-20240205092729-2959d78b7619
 	github.com/BurntSushi/toml v1.2.0
 	github.com/aliyun/aliyun-oss-go-sdk v2.2.5+incompatible
+	github.com/go-xweb/httpsession v0.0.0-20141220075701-356d3b4d38d6 // indirect
+	github.com/go-xweb/log v0.0.0-20140701090824-270d183ad77e // indirect
+	github.com/go-xweb/uuid v0.0.0-20140604020037-d7dce341f851 // indirect
+	github.com/go-xweb/xweb v0.2.1
+	github.com/lunny/csession v0.0.0-20130910075847-fe53c5de3dfd // indirect
+	github.com/mattn/go-sqlite3 v1.14.22 // indirect
+	github.com/robfig/cron v1.2.0
 	go.mongodb.org/mongo-driver v1.11.0
 	go.uber.org/zap v1.22.0
 	golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect

+ 22 - 13
field_sync/go.sum

@@ -55,6 +55,7 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
 github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
@@ -70,6 +71,14 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre
 github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-xweb/httpsession v0.0.0-20141220075701-356d3b4d38d6 h1:DUiWdm3rS8cC96Y0XeVkDeizzEK6X+qiNgXytLVtbkM=
+github.com/go-xweb/httpsession v0.0.0-20141220075701-356d3b4d38d6/go.mod h1:lwPk13GS+i/NK4FkMm68IcJrAwiu+HtjYa1Y4kW59aY=
+github.com/go-xweb/log v0.0.0-20140701090824-270d183ad77e h1:xmffs7hgrWpAOcquZrdlWpAEaAdlI9myaYcUUmhIP7k=
+github.com/go-xweb/log v0.0.0-20140701090824-270d183ad77e/go.mod h1:ASmYUSBf32lWkkNVX/pnOU4MLuUQpFH4qYHvWHt/l0w=
+github.com/go-xweb/uuid v0.0.0-20140604020037-d7dce341f851 h1:D46USD6oGNWzoJ/h5CWaFq3ELLoLoJzllJ03Xh78VYg=
+github.com/go-xweb/uuid v0.0.0-20140604020037-d7dce341f851/go.mod h1:OmDEC58ZYO1Esk+Uy32SB6LWof9lyROl7q76dBFOCWw=
+github.com/go-xweb/xweb v0.2.1 h1:u5t/ttuSfxiIMDTXj/Pouw9C2ASNABWT16JWHyrtdvY=
+github.com/go-xweb/xweb v0.2.1/go.mod h1:vPjYJgfidYAgBKIwiAyKFC1hfczlqsw9rRT8LtwrGew=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
@@ -93,7 +102,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
 github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
 github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -109,13 +117,14 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
 github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/howeyc/fsnotify v0.9.0 h1:0gtV5JmOKH4A8SsFxG2BczSeXWWPvcMT0euZt5gDAxY=
 github.com/howeyc/fsnotify v0.9.0/go.mod h1:41HzSPxBGeFRQKEEwgh49TRw/nKBsYZ2cF1OzPjSJsA=
 github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
 github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
@@ -136,16 +145,20 @@ github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
 github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/lunny/csession v0.0.0-20130910075847-fe53c5de3dfd h1:DXxmBCahjva4Ox4AWOv6pR1Csv33zSj97SaLOElfIsw=
+github.com/lunny/csession v0.0.0-20130910075847-fe53c5de3dfd/go.mod h1:3w9PScemEkJoLw3OYvLWMoD8XRCmXgGwsSpT6pFpJ0g=
 github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
 github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
 github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
+github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
+github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -185,6 +198,8 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R
 github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
 github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
+github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
+github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
@@ -200,9 +215,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
 github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
 github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
@@ -232,14 +247,12 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
 go.opentelemetry.io/otel v1.5.0/go.mod h1:Jm/m+rNp/z0eqJc74H7LPwQ3G87qkU/AnnAydAjSAHk=
 go.opentelemetry.io/otel/trace v1.5.0/go.mod h1:sq55kfhjXYr1zVSyexg0w1mpa03AYXR5eyTkB9NPPdE=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
 go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
 go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
-go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
 go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
+go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
 go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
-go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
 go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
 go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
 go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
@@ -284,7 +297,6 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
 golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
 golang.org/x/net v0.0.0-20220531201128-c960675eff93 h1:MYimHLfoXEpOhqd/zgoA/uoXzHB86AEky4LAx5ij9xA=
 golang.org/x/net v0.0.0-20220531201128-c960675eff93/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
@@ -353,7 +365,6 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -391,16 +402,14 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw=
 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
 gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
-gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
 gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

+ 16 - 19
field_sync/init.go

@@ -2,33 +2,30 @@ package main
 
 import (
 	"field_sync/config"
-	"fmt"
-	"os"
 
 	elastic "app.yhyue.com/moapp/jybase/es"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
 	"jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
 )
 
 // InitLog @Description
 // @Author J 2022/7/26 15:30
-func InitLog() {
-	logcfg := config.Conf.Log
+// func InitLog() {
+// 	logcfg := config.Conf.Log
 
-	err := log.InitLog(
-		log.Path(logcfg.LogPath),
-		log.Level(logcfg.LogLevel),
-		log.Compress(logcfg.Compress),
-		log.MaxSize(logcfg.MaxSize),
-		log.MaxBackups(logcfg.MaxBackups),
-		log.MaxAge(logcfg.MaxAge),
-		log.Format(logcfg.Format),
-	)
-	if err != nil {
-		fmt.Printf("InitLog failed: %v\n", err)
-		os.Exit(1)
-	}
-}
+// 	err := log.InitLog(
+// 		log.Path(logcfg.LogPath),
+// 		log.Level(logcfg.LogLevel),
+// 		log.Compress(logcfg.Compress),
+// 		log.MaxSize(logcfg.MaxSize),
+// 		log.MaxBackups(logcfg.MaxBackups),
+// 		log.MaxAge(logcfg.MaxAge),
+// 		log.Format(logcfg.Format),
+// 	)
+// 	if err != nil {
+// 		fmt.Printf("InitLog failed: %v\n", err)
+// 		os.Exit(1)
+// 	}
+// }
 
 func InitMgo() {
 	MgoB = &mongodb.MongodbSim{

+ 5 - 4
field_sync/jykeyword.go

@@ -3,12 +3,13 @@ package main
 import (
 	"encoding/json"
 	"field_sync/config"
-	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/mfw"
+	"log"
 	"regexp"
 	"strings"
 	"time"
+
+	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
+	"jygit.jydev.jianyu360.cn/data_processing/common_utils/mfw"
 )
 
 var (
@@ -29,7 +30,7 @@ func inits() {
 		MsgServerAddr:   config.Conf.Serve.MsgAddr,
 		CanHandleEvents: []int{},
 		OnConnectSuccess: func() {
-			log.Info("剑鱼关键词 client")
+			log.Println("剑鱼关键词 client")
 		},
 		ReadBufferSize:  10,
 		WriteBufferSize: 10,

+ 73 - 0
field_sync/jylog.go

@@ -0,0 +1,73 @@
+package main
+
+/**
+日志文件自动切换,默认保留15天内日志
+**/
+
+import (
+	"log"
+	"os"
+	"path/filepath"
+	"regexp"
+	"time"
+
+	"github.com/go-xweb/xweb"
+	"github.com/robfig/cron"
+)
+
+// 日志格式
+var fileReg = regexp.MustCompile("^(\\d{4}_[0-9_]{14})\\.log$")
+
+// 当前日志文件句柄
+var LogFile *os.File
+
+// 时间格式
+var FMT = "2006_01_02_15_04_05"
+
+// 日志目录
+var LogPath = "./jylog"
+
+func init() {
+	os.Mkdir(LogPath, os.ModePerm)
+	//默认保留15天内的日志,-1为永久保留
+	initLog(15)
+}
+
+func initLog(saveDay int) {
+	go logfile()
+	task := cron.New()
+	task.Start()
+	task.AddFunc("0 0 0 * * ?", func() {
+		go logfile()
+		time.Sleep(50 * time.Second)
+		if saveDay > 0 {
+			filepath.Walk(LogPath, func(path string, info os.FileInfo, err error) error {
+				str := fileReg.FindStringSubmatch(info.Name())
+				if len(str) == 2 {
+					t, er := time.ParseInLocation(FMT, str[1], time.Local)
+					if er == nil {
+						if (time.Now().Unix()-t.Unix())/86400 > int64(saveDay) {
+							log.Println("delete log file:", path, os.Remove(path))
+						}
+					}
+				}
+				return nil
+			})
+		}
+	})
+}
+
+// 创建并切换输出文件
+func logfile() {
+	now := time.Now().Format(FMT)
+	file, _ := os.Create(LogPath + "/" + now + ".log")
+	log.SetOutput(file)
+	xweb.RootApp().Logger.SetOutput(file)
+	go func(file *os.File) {
+		time.Sleep(5 * time.Second)
+		if LogFile != nil {
+			LogFile.Close()
+		}
+		LogFile = file
+	}(file)
+}

+ 24 - 23
field_sync/main.go

@@ -12,11 +12,12 @@ import (
 	"sync"
 	"time"
 
+	"log"
+
 	elastic "app.yhyue.com/moapp/jybase/es"
 	"go.uber.org/zap"
 	"gopkg.in/mgo.v2/bson"
 	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
 	"jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
 	gonsq "jygit.jydev.jianyu360.cn/data_processing/common_utils/nsq"
 	"jygit.jydev.jianyu360.cn/data_processing/common_utils/redis"
@@ -46,13 +47,13 @@ func init() {
 	config.Init("./common.toml")
 	oss.InitOss()
 	InitFileInfo()
-	InitLog()
+	// InitLog()
 	InitMgo()
 	InitEs()
 	inits()
 	redis.InitRedis1(config.Conf.DB.Redis.Addr, config.Conf.DB.Redis.DbIndex)
 
-	log.Info("init success")
+	log.Println("init success")
 }
 
 func main() {
@@ -64,19 +65,19 @@ func main() {
 
 	UdpClient = udp.UdpClient{Local: config.Conf.Udp.LocPort, BufSize: 1024}
 	UdpClient.Listen(processUdpMsg)
-	log.Info("Udp服务监听", zap.String("port:", config.Conf.Udp.LocPort))
+	log.Println("Udp服务监听 port:", config.Conf.Udp.LocPort)
 
 	info, _ := MgoB.Find("bidding_processing_ids", `{"dataprocess": 6}`, bson.M{"_id": 1}, nil, false, -1, -1)
-	util.Debug(len(*info))
-	log.Info("", zap.Int("size", len(*info)))
+	log.Println(len(*info))
+	log.Println("size", len(*info))
 	if len(*info) > 0 {
-		for i, m := range *info {
+		for _, m := range *info {
 			mapInfo := make(map[string]interface{})
 			mapInfo["gtid"] = util.ObjToString(m["gtid"])
 			mapInfo["lteid"] = util.ObjToString(m["lteid"])
 			mapInfo["stype"] = "bidding"
 			mapInfo["key"] = fmt.Sprintf("%s-%s-bidding", util.ObjToString(m["gtid"]), util.ObjToString(m["lteid"]))
-			log.Info(fmt.Sprint(i), zap.Any("--", mapInfo))
+			log.Println("--", mapInfo)
 			biddingTask(nil, mapInfo)
 		}
 	}
@@ -93,7 +94,7 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 	case udp.OP_TYPE_DATA: //上个节点的数据
 		var mapInfo map[string]interface{}
 		err := json.Unmarshal(data, &mapInfo)
-		log.Info("processUdpMsg", zap.Any("mapInfo:", mapInfo))
+		log.Println("processUdpMsg mapInfo:", mapInfo)
 		if err != nil {
 			UdpClient.WriteUdp([]byte("err:"+err.Error()), udp.OP_NOOP, ra)
 		} else if mapInfo != nil {
@@ -136,14 +137,14 @@ func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
 					defer func() {
 						<-pool
 					}()
-					log.Error("err", zap.Any("mapinfo", mapInfo))
+					log.Println("err mapinfo ", mapInfo)
 				}()
 			}
 		}
 	case udp.OP_NOOP:
 		ok := string(data)
 		if ok != "" {
-			log.Info("udp re", zap.String("data:", ok))
+			log.Println("udp re data:", ok)
 			UdpTaskMap.Delete(ok)
 		}
 	}
@@ -164,7 +165,7 @@ func NextNode(mapInfo map[string]interface{}, stype string) {
 	mapInfo["stype"] = stype
 	key := fmt.Sprintf("%s-%s-%s", util.ObjToString(mapInfo["gtid"]), util.ObjToString(mapInfo["lteid"]), stype)
 	mapInfo["key"] = key
-	log.Info("udp es node", zap.Any("mapinfo:", mapInfo))
+	log.Println("udp es node mapinfo:", mapInfo)
 	datas, _ := json.Marshal(mapInfo)
 	node := &UdpNode{datas, next, time.Now().Unix(), 0}
 	UdpTaskMap.Store(key, node)
@@ -183,7 +184,7 @@ func NextNodePro(mapInfo map[string]interface{}, stype string) {
 	}
 	key := fmt.Sprintf("%s-%s-%s", util.ObjToString(mapInfo["gtid"]), util.ObjToString(mapInfo["lteid"]), util.ObjToString(mapInfo["stype"]))
 	mapInfo["key"] = key
-	log.Info("udp project node", zap.Any("mapinfo:", mapInfo))
+	log.Println("udp project node mapinfo:", mapInfo)
 	datas, _ := json.Marshal(mapInfo)
 	node := &UdpNode{datas, next, time.Now().Unix(), 0}
 	UdpTaskMap.Store(key, node)
@@ -197,7 +198,7 @@ func NextNodeBidData(mapInfo map[string]interface{}) {
 	}
 	mapInfo["stype"] = "biddingdata"
 	mapInfo["key"] = fmt.Sprintf("%s-%s-%s", util.ObjToString(mapInfo["gtid"]), util.ObjToString(mapInfo["lteid"]), util.ObjToString(mapInfo["stype"]))
-	log.Info("udp es node", zap.Any("mapinfo:", mapInfo))
+	log.Println("udp es node mapinfo:", mapInfo)
 	datas, _ := json.Marshal(mapInfo)
 	_ = UdpClient.WriteUdp(datas, udp.OP_TYPE_DATA, next)
 }
@@ -209,7 +210,7 @@ func NextNodeTidbQyxy(mapInfo map[string]interface{}) {
 	}
 	mapInfo["stype"] = config.Conf.Udp.Tidb.Stype
 	mapInfo["key"] = fmt.Sprintf("%s-%s-%s", util.ObjToString(mapInfo["gtid"]), util.ObjToString(mapInfo["lteid"]), util.ObjToString(mapInfo["stype"]))
-	log.Info("udp tidb-qyxy node", zap.Any("mapinfo:", mapInfo))
+	log.Println("udp tidb-qyxy node mapinfo:", mapInfo)
 	datas, _ := json.Marshal(mapInfo)
 	node := &UdpNode{datas, next, time.Now().Unix(), 0}
 	UdpTaskMap.Store(mapInfo["key"], node)
@@ -223,7 +224,7 @@ func NextNodeTidb(mapInfo map[string]interface{}, stype string) {
 	}
 	mapInfo["stype"] = stype
 	mapInfo["key"] = fmt.Sprintf("%s-%s-%s", util.ObjToString(mapInfo["gtid"]), util.ObjToString(mapInfo["lteid"]), util.ObjToString(mapInfo["stype"]))
-	log.Info("udp tidb-bidding node", zap.Any("mapinfo:", mapInfo))
+	log.Println("udp tidb-bidding node mapinfo:", mapInfo)
 	datas, _ := json.Marshal(mapInfo)
 	node := &UdpNode{datas, next, time.Now().Unix(), 0}
 	UdpTaskMap.Store(mapInfo["key"], node)
@@ -239,7 +240,7 @@ func NextNodeHn(mapInfo map[string]interface{}) {
 	}
 	mapInfo["stype"] = "hainan"
 	mapInfo["key"] = fmt.Sprintf("%s-%s-%s", util.ObjToString(mapInfo["gtid"]), util.ObjToString(mapInfo["lteid"]), util.ObjToString(mapInfo["stype"]))
-	log.Info("NextNodeTidb", zap.Any("mapinfo:", mapInfo))
+	log.Println("NextNodeTidb mapinfo:", mapInfo)
 	datas, _ := json.Marshal(mapInfo)
 	node := &UdpNode{datas, next, time.Now().Unix(), 0}
 	UdpTaskMap.Store(mapInfo["key"], node)
@@ -318,7 +319,7 @@ func UpdateExtract() {
 
 func checkMapJob() {
 	if config.Conf.Mail.Send {
-		log.Info("checkMapJob", zap.String("to:", config.Conf.Mail.To))
+		log.Println("checkMapJob to:", config.Conf.Mail.To)
 		for {
 			UdpTaskMap.Range(func(k, v interface{}) bool {
 				now := time.Now().Unix()
@@ -331,14 +332,14 @@ func checkMapJob() {
 						if err == nil {
 							defer res.Body.Close()
 							read, err := ioutil.ReadAll(res.Body)
-							log.Info("send mail ...", zap.String("r:", string(read)), zap.Any("err:", err))
+							log.Println("send mail ... r:", string(read), "err:", err)
 						}
 					} else {
-						log.Info("udp重发", zap.Any("k:", k))
+						log.Println("udp重发", zap.Any("k:", k))
 						//UdpClient.WriteUdp(node.data, udp.OP_TYPE_DATA, node.addr)
 					}
 				} else if now-node.timestamp > 10 {
-					log.Info("udp任务超时中..", zap.Any("k:", k))
+					log.Println("udp任务超时中.. k:", k)
 				}
 				return true
 			})
@@ -360,7 +361,7 @@ func nsqMethod() {
 		Concurrent:   config.Conf.Nsq.Concurrent, //并发数
 	})
 	if err != nil {
-		log.Error("nsqMethod err", zap.Error(err))
+		log.Println("nsqMethod err", err)
 	}
 	for {
 		select {
@@ -369,7 +370,7 @@ func nsqMethod() {
 			if bson.IsObjectIdHex(id[1]) {
 				taskinfo(id[1])
 			} else {
-				log.Info("jy nsq id err", zap.String("id", id[1]))
+				log.Println("jy nsq id err id", id[1])
 			}
 		}
 	}

+ 57 - 25
field_sync/task.go

@@ -13,10 +13,10 @@ import (
 	"strings"
 	"time"
 
+	"log"
+
 	"go.mongodb.org/mongo-driver/bson"
-	"go.uber.org/zap"
 	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
 	"jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
 	"jygit.jydev.jianyu360.cn/data_processing/common_utils/redis"
 	"jygit.jydev.jianyu360.cn/data_processing/common_utils/udp"
@@ -31,14 +31,6 @@ func biddingTask(data []byte, mapInfo map[string]interface{}) {
 	defer util.Catch()
 
 	stype := util.ObjToString(mapInfo["stype"])
-	if stype == "bidding" {
-		uq := bson.M{"gtid": util.ObjToString(mapInfo["gtid"]), "lteid": util.ObjToString(mapInfo["lteid"])}
-		MgoB.Update("bidding_processing_ids", uq, bson.M{"$set": bson.M{"dataprocess": 7, "updatetime": time.Now().Unix()}}, false, true)
-	}
-	//领域标签处理的数据 id段
-	if stype == "bidding_history" {
-		MgoB.Save("field_data_record", map[string]interface{}{"gtid": mapInfo["gtid"], "lteid": mapInfo["lteid"], "status": 0})
-	}
 
 	q, _ := mapInfo["query"].(map[string]interface{})
 	bkey, _ := mapInfo["bkey"].(string)
@@ -67,12 +59,12 @@ func biddingTask(data []byte, mapInfo map[string]interface{}) {
 		eMap[tid] = tmp
 		tmp = make(map[string]interface{})
 	}
-	log.Info("抽取表", zap.Int("数据量", extCount), zap.Int("重复数据量", repeatCount))
+	log.Println("抽取表 数据量", extCount, "重复数据量", repeatCount)
 
 	//bidding库
 	biddingConn := MgoB.GetMgoConn()
 	count, _ := biddingConn.DB(MgoB.DbName).C(config.Conf.DB.MongoB.Coll).Find(&q).Count()
-	log.Info("bidding表", zap.Int64("同步总数:", count))
+	log.Println("bidding表 同步总数:", count)
 	c := 0
 	if count < 500000 {
 		var res []map[string]interface{}
@@ -84,13 +76,13 @@ func biddingTask(data []byte, mapInfo map[string]interface{}) {
 			tmp = make(map[string]interface{})
 		}
 		MgoB.DestoryMongoConn(biddingConn)
-		log.Info("查询结果", zap.Int64("bidding", count), zap.Int("抽取:", extCount))
+		log.Println("查询结果 bidding", count, "抽取:", extCount)
 		c = doIndex(res, eMap, bkey, stype)
 	} else {
-		log.Info("查询结果", zap.Int64("数据量太大,放弃", count))
+		log.Println("查询结果 数据量太大,放弃", count)
 		MgoB.DestoryMongoConn(biddingConn)
 	}
-	log.Info("bidding sync...over", zap.Int64("all", count), zap.Int("extract sync", c))
+	log.Println("bidding sync...over all", count, "extract sync ", c)
 	NextNode(mapInfo, stype)
 	NextNodePro(mapInfo, stype)
 	NextNodeTidb(mapInfo, stype)
@@ -99,6 +91,14 @@ func biddingTask(data []byte, mapInfo map[string]interface{}) {
 		NextNodeTidbQyxy(mapInfo) // tidb-企业数据
 		NextNodeHn(mapInfo)
 	}
+	if stype == "bidding" {
+		uq := bson.M{"gtid": util.ObjToString(mapInfo["gtid"]), "lteid": util.ObjToString(mapInfo["lteid"])}
+		MgoB.Update("bidding_processing_ids", uq, bson.M{"$set": bson.M{"dataprocess": 7, "updatetime": time.Now().Unix()}}, false, true)
+	}
+	//领域标签处理的数据 id段
+	if stype == "bidding_history" {
+		MgoB.Save("field_data_record", map[string]interface{}{"gtid": mapInfo["gtid"], "lteid": mapInfo["lteid"], "status": 0})
+	}
 }
 
 func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
@@ -240,12 +240,12 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 			}
 		}
 		if count%50000 == 0 {
-			log.Info("biddingTask", zap.Int("current", count))
+			log.Println("biddingTask current", count)
 		}
 		tmp = make(map[string]interface{})
 	}
 
-	log.Info("biddingAll sync...over", zap.Int("all", count))
+	log.Println("biddingAll sync...over all", count)
 }
 
 func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interface{}, bkey, stype string) int {
@@ -255,7 +255,7 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 	var bidUpdate [][]map[string]interface{}
 	var extUpdate [][]map[string]interface{}
 	//SaveEsLock := &sync.Mutex{}
-	log.Info("start ...")
+	log.Println("start ...")
 	for n, tmp := range infos {
 		tid := mongodb.BsonIdToSId(tmp["_id"])
 		update := map[string]interface{}{} //要更新的mongo数据
@@ -282,7 +282,7 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 				delete(eMap, tid)
 			}
 			syncNo++
-			log.Info("抽取区域", zap.Any("省", compare["area"]), zap.Any("市", compare["city"]), zap.Any("区", compare["district"]), zap.Any("id", tid))
+			log.Println("抽取区域 省", compare["area"], " 市 ", compare["city"], " 区 ", compare["district"], " id ", tid)
 			for _, k := range config.Conf.Serve.FieldS {
 				v1 := compare[k] //extract
 				v2 := tmp[k]     //bidding
@@ -382,12 +382,16 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 		// 2024-02-21 徐志恒 情报标签字段
 		toptype := util.ObjToString(tmp["toptype"])
 		subtype := util.ObjToString(tmp["subtype"])
+		buyerclass := util.ObjToString(tmp["buyerclass"])
+		if buyerclass != "" {
+			update["buyer_type"] = getStr(buyerclass)
+		}
 		s_topscopeclass := util.ObjToString(update["s_topscopeclass"])
-		if (tmp["tag_topinformation"] != nil && (subtype == "合同" || subtype == "中标" || subtype == "成交")) || (tmp["tag_topinformation"] == nil && toptype == "拟建" && strings.Contains(s_topscopeclass, "建筑工程")) {
+		if (tmp["tag_topinformation"] != nil && (subtype == "合同" || subtype == "中标" || subtype == "成交" || subtype == "采购意向" || toptype == "招标")) || (tmp["tag_topinformation"] == nil && toptype == "拟建" && strings.Contains(s_topscopeclass, "建筑工程")) {
 			update["tag_set"] = getTagSet(tmp, compare)
 		}
 		if len(update) > 0 {
-			log.Info("保存bidding区域", zap.Any("省", update["area"]), zap.Any("市", update["city"]), zap.Any("区", update["district"]), zap.Any("id", tid))
+			log.Println("保存bidding区域 省", update["area"], " 市 ", update["city"], " 区 ", update["district"], " id ", tid)
 			if len(del) > 0 {
 				bidUpdate = append(bidUpdate, []map[string]interface{}{{
 					"_id": tmp["_id"],
@@ -408,7 +412,7 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 			}
 		}
 		if n%500 == 0 {
-			log.Info("biddingTask", zap.Int("current", n))
+			log.Println("biddingTask current ", n)
 		}
 		tmp = make(map[string]interface{})
 	}
@@ -656,14 +660,14 @@ func validFile(tmp map[string]interface{}) int {
 func taskinfo(id string) {
 	tmp, _ := MgoB.FindById("bidding", id, nil)
 	if tmp == nil || len(*tmp) == 0 {
-		log.Info(fmt.Sprintf("taskinfo bidding id=%s 未查询到数据", id))
+		log.Println(fmt.Sprintf("taskinfo bidding id=%s 未查询到数据", id))
 		return
 	}
 	extractM, _ := MgoE.FindById(config.Conf.DB.MongoE.Coll, id, nil)
 	if extractM == nil || len(*extractM) == 0 {
 		extractM, _ = MgoE.FindById(config.Conf.DB.MongoE.Coll1, id, nil)
 		if extractM == nil || len(*extractM) == 0 {
-			log.Info(fmt.Sprintf("taskinfo extract id=%s 未查询到数据", id))
+			log.Println(fmt.Sprintf("taskinfo extract id=%s 未查询到数据", id))
 			return
 		}
 	}
@@ -726,7 +730,7 @@ func taskinfo(id string) {
 		IP:   net.ParseIP(config.Conf.Udp.Next.Addr),
 		Port: util.IntAll(config.Conf.Udp.Next.Port),
 	}
-	log.Info("nsq data over", zap.Any("es", next), zap.String("mapinfo", string(datas)))
+	log.Println("nsq data over es ", next, " mapinfo ", string(datas))
 	_ = UdpClient.WriteUdp(datas, udp.OP_TYPE_DATA, next)
 }
 
@@ -770,6 +774,7 @@ func getTagSet(tmp, compare map[string]interface{}) map[string]map[string]interf
 	buyer := util.ObjToString(compare["buyer"])
 	publishtime := util.Int64All(tmp["publishtime"])
 	bidamount := util.Float64All(compare["bidamount"])
+	toptype := util.ObjToString(tmp["toptype"])
 	subtype := util.ObjToString(tmp["subtype"])
 	if subtype == "合同" {
 		wuye["isfirsthand"] = 62
@@ -834,6 +839,8 @@ func getTagSet(tmp, compare map[string]interface{}) map[string]map[string]interf
 			}
 		}
 		wuye["period"] = getperiod(compare)
+	} else if toptype == "招标" || toptype == "采购意向" {
+		bidamount = util.Float64All(compare["budget"])
 	}
 	if tmp["projectinfo"] != nil {
 		projectInfo := util.ObjToMap(tmp["projectinfo"])
@@ -941,3 +948,28 @@ func calculateYearDifference(startTime int64, endTime int64) float64 {
 	years := duration.Hours() / 24 / 365
 	return years
 }
+
+func getStr(b string) string {
+	if b == "" {
+		return "其它"
+	}
+	a1 := "(交通|运输物流|工信|农业|住建|城管|市政|出版广电|检察院|科技|民政|生态环境|市场监管|水利|应急管理|自然资源|财政|档案|党委办|组织|发改|宣传|政府办|政务中心|人大|政协|法院|公安|国资委|海关|机关事务|纪委|军队|人社|商务|审计税务|司法|体育|统计|统战|文旅|民宗|银保监|证监|气象|社会团体|公共资源交易)"
+	a2 := "(卫健委|医疗)"
+	a3 := "(教育|学校)"
+	a4 := "(人行|金融业)"
+	a5 := "(信息技术|电信行业|农林牧渔|建筑业|传媒|制造业|住宿餐饮|采矿业|能源化工|批发零售)"
+	if strings.Contains(a1, b) {
+		return "政府机构"
+	} else if strings.Contains(a2, b) {
+		return "医疗单位"
+	} else if strings.Contains(a3, b) {
+		return "教育单位"
+	} else if strings.Contains(a4, b) {
+		return "金融企业"
+	} else if strings.Contains(a5, b) {
+		return "商业公司"
+	} else {
+		return "其它"
+	}
+	return "其它"
+}