浏览代码

初始化新增创建人手机号

hsun 1 年之前
父节点
当前提交
a083fa597c
共有 6 个文件被更改,包括 122 次插入4 次删除
  1. 1 0
      go.mod
  2. 4 0
      go.sum
  3. 21 0
      models/admin.go
  4. 20 0
      models/db.go
  5. 72 3
      services/init_base_index.go
  6. 4 1
      utils/config.go

+ 1 - 0
go.mod

@@ -6,6 +6,7 @@ require (
 	github.com/beego/bee/v2 v2.0.5
 	github.com/beego/beego/v2 v2.1.0
 	github.com/dgrijalva/jwt-go v3.2.0+incompatible
+	github.com/go-sql-driver/mysql v1.7.0
 	github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b
 	github.com/shopspring/decimal v1.3.1
 	github.com/xuri/excelize/v2 v2.7.1

+ 4 - 0
go.sum

@@ -13,6 +13,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
 github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw=
+github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
+github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
@@ -39,6 +41,8 @@ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uG
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/lib/pq v1.10.5 h1:J+gdV2cUmX7ZqL2B0lFcW0m+egaHC2V3lpO8nWxyYiQ=
+github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEghA=
 github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=

+ 21 - 0
models/admin.go

@@ -0,0 +1,21 @@
+package models
+
+import "github.com/beego/beego/v2/client/orm"
+
+type Admin struct {
+	AdminId   int    `description:"系统用户id"`
+	AdminName string `description:"系统用户名称"`
+	RealName  string `description:"系统用户姓名"`
+	Mobile    string `description:"手机号"`
+}
+
+// GetSysAdminList 获取系统用户列表
+func GetSysAdminList(cond string, pars []interface{}) (items []*Admin, err error) {
+	o := orm.NewOrmUsingDB("eta")
+	sql := `SELECT * FROM admin WHERE 1=1 `
+	if cond != "" {
+		sql += cond
+	}
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 20 - 0
models/db.go

@@ -1 +1,21 @@
 package models
+
+import (
+	"eta/eta_data_init/utils"
+	"github.com/beego/beego/v2/client/orm"
+	_ "github.com/go-sql-driver/mysql"
+	"time"
+)
+
+func init() {
+	if utils.MYSQL_URL_ETA != "" {
+		_ = orm.RegisterDataBase("eta", "mysql", utils.MYSQL_URL_ETA)
+		orm.SetMaxIdleConns("eta", 50)
+		orm.SetMaxOpenConns("eta", 100)
+		etaDb, _ := orm.GetDB("eta")
+		etaDb.SetConnMaxLifetime(10 * time.Minute)
+
+		orm.Debug = true
+		orm.DebugLog = orm.NewLog(utils.Binlog)
+	}
+}

+ 72 - 3
services/init_base_index.go

@@ -49,10 +49,26 @@ func InitBaseIndexData(dataPath string) {
 		return
 	}
 	fmt.Println("rows len:", len(rows))
+
+	// 获取创建人信息
+	admins, e := models.GetSysAdminList(``, make([]interface{}, 0))
+	if e != nil {
+		err = fmt.Errorf("GetSysAdminList err: %s", e.Error())
+		return
+	}
+	mobileMap := make(map[string]*models.Admin)
+	for _, v := range admins {
+		if v.Mobile == "" {
+			continue
+		}
+		mobileMap[v.Mobile] = v
+	}
+
 	for rk, row := range rows {
 		if rk > 0 {
-			var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source string
+			var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source, mobile string
 			for ck, colCell := range row {
+				colCell = strings.TrimSpace(colCell)
 				switch ck {
 				case 0:
 					classifyFirst = colCell
@@ -70,6 +86,8 @@ func InitBaseIndexData(dataPath string) {
 					unit = colCell
 				case 7:
 					source = colCell
+				case 8:
+					mobile = colCell
 				}
 			}
 
@@ -162,6 +180,11 @@ func InitBaseIndexData(dataPath string) {
 				indexMap["Frequency"] = frequency
 				indexMap["Unit"] = unit
 				indexMap["ClassifyId"] = resp.Data.ClassifyId
+				admin := mobileMap[mobile]
+				if admin != nil {
+					indexMap["AdminId"] = admin.AdminId
+					indexMap["AdminName"] = admin.RealName
+				}
 				result, err = PostEdbLib(indexMap, method)
 				if err != nil {
 					utils.FileLog.Info("初始化指标失败:" + err.Error() + " result:" + string(result))
@@ -252,10 +275,26 @@ func InitBaseIndexDataFromMysteel(filePath string) {
 		return
 	}
 	fmt.Println("rows len:", len(rows))
+
+	// 获取创建人信息
+	admins, e := models.GetSysAdminList(``, make([]interface{}, 0))
+	if e != nil {
+		err = fmt.Errorf("GetSysAdminList err: %s", e.Error())
+		return
+	}
+	mobileMap := make(map[string]*models.Admin)
+	for _, v := range admins {
+		if v.Mobile == "" {
+			continue
+		}
+		mobileMap[v.Mobile] = v
+	}
+
 	for rk, row := range rows {
 		if rk > 0 {
-			var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source string
+			var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source, mobile string
 			for ck, colCell := range row {
+				colCell = strings.TrimSpace(colCell)
 				switch ck {
 				case 0:
 					classifyFirst = colCell
@@ -273,6 +312,8 @@ func InitBaseIndexDataFromMysteel(filePath string) {
 					unit = colCell
 				case 7:
 					source = colCell
+				case 8:
+					mobile = colCell
 				}
 			}
 
@@ -389,6 +430,11 @@ func InitBaseIndexDataFromMysteel(filePath string) {
 				indexMap["Frequency"] = frequency
 				indexMap["Unit"] = unit
 				indexMap["ClassifyId"] = resp.Data.ClassifyId
+				admin := mobileMap[mobile]
+				if admin != nil {
+					indexMap["AdminId"] = admin.AdminId
+					indexMap["AdminName"] = admin.RealName
+				}
 				result, err = PostEdbLib(indexMap, method)
 				if err != nil {
 					utils.FileLog.Info("初始化指标失败:" + err.Error() + " result:" + string(result))
@@ -466,10 +512,26 @@ func InitBaseIndexDataFromDataSourceSmm(filePath string) {
 		return
 	}
 	fmt.Println("rows len:", len(rows))
+
+	// 获取创建人信息
+	admins, e := models.GetSysAdminList(``, make([]interface{}, 0))
+	if e != nil {
+		err = fmt.Errorf("GetSysAdminList err: %s", e.Error())
+		return
+	}
+	mobileMap := make(map[string]*models.Admin)
+	for _, v := range admins {
+		if v.Mobile == "" {
+			continue
+		}
+		mobileMap[v.Mobile] = v
+	}
+
 	for rk, row := range rows {
 		if rk > 0 {
-			var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source string
+			var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source, mobile string
 			for ck, colCell := range row {
+				colCell = strings.TrimSpace(colCell)
 				switch ck {
 				case 0:
 					classifyFirst = colCell
@@ -487,6 +549,8 @@ func InitBaseIndexDataFromDataSourceSmm(filePath string) {
 					unit = colCell
 				case 7:
 					source = colCell
+				case 8:
+					mobile = colCell
 				}
 			}
 
@@ -603,6 +667,11 @@ func InitBaseIndexDataFromDataSourceSmm(filePath string) {
 				indexMap["Frequency"] = frequency
 				indexMap["Unit"] = unit
 				indexMap["ClassifyId"] = resp.Data.ClassifyId
+				admin := mobileMap[mobile]
+				if admin != nil {
+					indexMap["AdminId"] = admin.AdminId
+					indexMap["AdminName"] = admin.RealName
+				}
 				result, err = PostEdbLib(indexMap, method)
 				if err != nil {
 					utils.FileLog.Info("初始化指标失败:" + err.Error() + " result:" + string(result))

+ 4 - 1
utils/config.go

@@ -8,7 +8,8 @@ import (
 )
 
 var (
-	RunMode string //运行模式
+	RunMode       string //运行模式
+	MYSQL_URL_ETA string //数据库连接
 )
 
 // 公共api内部服务调用
@@ -49,6 +50,8 @@ func init() {
 	}
 	beeLogger.Log.Info(RunMode + " 模式")
 
+	MYSQL_URL_ETA = config["mysql_url_eta"]
+
 	// 公共api内部服务调用
 	{
 		// 公共指标库相关