Browse Source

新增隆众数据爬取

rdluck 4 years ago
parent
commit
4c49705610

+ 1 - 1
models/company.go

@@ -48,7 +48,7 @@ func AddCompany(item *Company) (newId int64, err error) {
 }
 
 func GetCompany() (items []*Company, err error) {
-	sql := `SELECT * FROM company WHERE type IN(1,2,4) `
+	sql := `SELECT * FROM company WHERE type =1 `
 	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
 	return
 }

+ 52 - 0
models/data_source_longzhong.go

@@ -0,0 +1,52 @@
+package models
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+type Longzhongdata struct {
+	LongzhongdataId int `orm:"column(longzhongdata_id);pk"`
+	LongzhonginfoId int
+	TradeCode       string
+	Dt              time.Time
+	Close           float64
+	CreateTime      time.Time
+	ModifyTime      time.Time
+}
+
+type Longzhonginfo struct {
+	LongzhonginfoId int `orm:"column(longzhonginfo_id);pk"`
+	TradeCode       string
+	SecName         string
+	Frequency       string
+	ClassifyId      int
+	ClassifyName    string
+	Unit            string
+	CreateTime      time.Time
+	Remark          string
+}
+
+func GetLongzhonginfoBySecName(secName string) (item *Longzhongdata, err error) {
+	o := orm.NewOrm()
+	o.Using("rddp")
+	sql := `SELECT * FROM longzhonginfo WHERE sec_name=? `
+	err = o.Raw(sql, secName).QueryRow(&item)
+	return
+}
+
+//判断指标数据是否已经录入
+func GetLongzhongdataCount(longzhonginfoId int, dt string) (count int, err error) {
+	o := orm.NewOrm()
+	o.Using("edb")
+	sql := `SELECT COUNT(1) AS count FROM longzhongdata WHERE longzhonginfo_id=? AND dt=? `
+	err = o.Raw(sql, longzhonginfoId, dt).QueryRow(count)
+	return
+}
+
+func AddLongzhongdata(item *Longzhongdata) (newId int64, err error) {
+	o := orm.NewOrm()
+	o.Using("rddp")
+	newId, err = o.Insert(item)
+	return
+}

+ 3 - 0
models/db.go

@@ -38,5 +38,8 @@ func init() {
 		new(EdbinfoSendMsgRecord),
 		new(Company),
 		new(CompanyReportPermission),
+		new(DataSourceLongzhong),
+		new(Longzhonginfo),
+		new(Longzhongdata),
 	)
 }

+ 22 - 0
models/edbdata_classify.go

@@ -0,0 +1,22 @@
+package models
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+type EdbdataClassify struct {
+	ClassifyId   int
+	ClassifyName string
+	ParentId     int
+	CreateTime   time.Time
+	Sort         int
+}
+
+func GetEdbdataClassifyByClassifyName(classifyName string) (item *EdbdataClassify, err error) {
+	sql := `SELECT * FROM edbdata_classify WHERE classify_name=? `
+	o := orm.NewOrm()
+	o.Using("edb")
+	err = o.Raw(sql, classifyName).QueryRow(&item)
+	return
+}

+ 21 - 0
models/edbinfo_longzhong.go

@@ -0,0 +1,21 @@
+package models
+
+import "rdluck_tools/orm"
+
+type DataSourceLongzhong struct {
+	Id int `orm:"column(id);pk"`
+	ClassifyId int
+	ClassifyName string
+	SecName string
+	Frequency string
+	LongzhongId string
+	Remark string
+	LongzhongClassify string
+}
+
+func AddDataSourceLongzhong(item *DataSourceLongzhong) (newId int64, err error) {
+	o := orm.NewOrm()
+	o.Using("rddp")
+	newId, err = o.Insert(item)
+	return
+}

+ 2 - 2
services/company.go

@@ -156,7 +156,7 @@ func ImportCompanyUsers() {
 			fmt.Println("err:", err.Error())
 		}
 	}()
-	fileName := "./company_user_0806.xlsx"
+	fileName := "./company_user_0819.xlsx"
 	xlFile, err := xlsx.OpenFile(fileName)
 	if err != nil {
 		fmt.Printf("open failed: %s\n", err)
@@ -181,7 +181,7 @@ func ImportCompanyUsers() {
 				mobile = strings.Replace(mobile, " ", "", -1)
 				fmt.Println(mobile)
 				var companyId int64
-				companyId=0
+				companyId=794
 				if companyId > 0 {
 					wxUser, err := models.GetWxUserByMobile(mobile)
 					if err != nil && err.Error() != utils.ErrNoRow() {

+ 144 - 2
services/company_permission.go

@@ -3,6 +3,8 @@ package services
 import (
 	"fmt"
 	"hongze/hongze_task/models"
+	"strconv"
+	"strings"
 	"time"
 )
 
@@ -21,7 +23,7 @@ func SetCompanyPermission() {
 		return
 	}
 	for k, v := range companyList {
-		fmt.Println("line 24:",k,v.CompanyName)
+		fmt.Println("line 24:", k, v.CompanyName)
 		permissionList, err := models.GetCompanyReportPermission(v.CompanyId)
 		if err != nil {
 			return
@@ -51,10 +53,150 @@ func SetCompanyPermission() {
 				item.ReportPermissionId = 8
 				err = models.AddCompanyReportPermission(item)
 				if err != nil {
-					fmt.Println("AddCompanyReportPermission Err:",err.Error())
+					fmt.Println("AddCompanyReportPermission Err:", err.Error())
 					//return
 				}
 			}
 		}
 	}
 }
+
+func addCompany12() {
+	str := `25,
+28,
+51,
+61,
+65,
+74,
+79,
+91,
+96,
+135,
+153,
+158,
+170,
+173,
+175,
+199,
+235,
+241,
+248,
+275,
+280,
+339,
+367,
+368,
+395,
+400,
+424,
+473,
+488,
+493,
+561,
+562,
+565,
+568,
+569,
+588,
+617,
+650,
+728,
+738,
+740,
+742,
+753,
+763,
+780,
+796,
+829,
+840,
+862,
+896,
+940,
+951,
+964,
+980,
+993,
+1049,
+1064,
+1075,
+1101,
+1103,
+1113,
+1116,
+1118,
+1156,
+1201,
+1256,
+1298,
+1428,
+1443,
+1505,
+1620,
+1720,
+1730,
+1780,
+1782,
+1861,
+1906,
+1917,
+2005,
+2011,
+2172,
+2232,
+2302,
+2399,
+2428,
+2488,
+2507,
+2539,
+2577,
+2581,
+2594,
+2660,
+2825,
+2890,
+2950,
+3014,
+3088,
+3201,
+3235,
+3417,
+3445,
+3451,
+3510,
+3543,
+3592,
+3687,
+3763,
+3798,
+3890,
+3962,
+3987,
+4002,
+4085,
+4399,
+4413,
+4489`
+	strArr := strings.Split(str, ",")
+	for k, v := range strArr {
+		fmt.Println(k)
+		//新增炉料权限
+		v=strings.Replace(v,"\n","",-1)
+		companyId,err:=strconv.Atoi(v)
+		if err!=nil {
+			fmt.Println("strconv",err.Error())
+		}
+		item := new(models.CompanyReportPermission)
+		item.CompanyId = int64(companyId)
+		item.ChartPermissionId = 12
+		item.CreatedTime = time.Now()
+		item.LastUpdatedTime = time.Now()
+		item.ReportPermissionId = 12
+		err = models.AddCompanyReportPermission(item)
+		if err != nil {
+			fmt.Println("AddCompanyReportPermission Err:", err.Error(), "CompanyId:", v)
+			//return
+		}
+	}
+}

+ 81 - 0
services/edbinfo_longzhong.go

@@ -0,0 +1,81 @@
+package services
+
+import (
+	"errors"
+	"fmt"
+	"github.com/tealeg/xlsx"
+	"hongze/hongze_task/models"
+	"hongze/hongze_task/utils"
+)
+
+//获取隆众信息表中指标
+func GetLongZhongTargetInfoByExcel() {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:" + err.Error())
+			return
+		}
+	}()
+
+	excelPath := `./static/longzhong_0824.xlsx`
+	file, err := xlsx.OpenFile(excelPath)
+	if err != nil {
+		fmt.Println("err:", err.Error())
+		return
+	}
+	sheets := file.Sheets
+	for k, v := range sheets {
+		fmt.Println(k, v.Name)
+		classify, err := models.GetEdbdataClassifyByClassifyName(v.Name)
+		if err != nil {
+			if err.Error() == utils.ErrNoRow() {
+				err = errors.New("分类不存在:Err:" + err.Error())
+			} else {
+				err = err
+			}
+			return
+		}
+		if classify == nil {
+			err = errors.New("分类不存在,请重新核对")
+			return
+		}
+
+		classifyId := classify.ClassifyId
+		classifyName := classify.ClassifyName
+		fmt.Println(classifyId, classifyName)
+		maxRow := v.MaxRow
+		//maxCol := v.MaxCol
+		fmt.Println(classifyName, maxRow)
+		for i := 0; i < maxRow; i++ {
+			row, err := v.Row(i)
+			if err != nil {
+				return
+			}
+			longzhongClassify := ""
+			if i > 0 {
+				longzhongClassifyNew := row.GetCell(0).String()
+				if longzhongClassifyNew != "" {
+					longzhongClassify = longzhongClassifyNew
+				}
+				secName := row.GetCell(1).Value
+				frequency := row.GetCell(2).Value
+				LongzhongId := row.GetCell(3).Value
+				remark := row.GetCell(4).String()
+				item := new(models.DataSourceLongzhong)
+				item.ClassifyId = classifyId
+				item.ClassifyName = classifyName
+				item.SecName = secName
+				item.Frequency = frequency
+				item.LongzhongId = LongzhongId
+				item.Remark = remark
+				item.LongzhongClassify = longzhongClassify
+				_, err = models.AddDataSourceLongzhong(item)
+				if err != nil {
+					fmt.Println("Err:", err.Error())
+					return
+				}
+			}
+		}
+	}
+}

+ 7 - 6
services/task.go

@@ -2,19 +2,20 @@ package services
 
 import (
 	"fmt"
-	"github.com/astaxie/beego/toolbox"
 )
 
 func Task() {
 	fmt.Println("task start")
 	//发送邮件
-	sendEmail := toolbox.NewTask("sendEmail", "0 0 12 * * 0 ", SendEmail)
-	toolbox.AddTask("sendEmail", sendEmail)
+	//sendEmail := toolbox.NewTask("sendEmail", "0 0 12 * * 0 ", SendEmail)
+	//toolbox.AddTask("sendEmail", sendEmail)
 
-	oneMinute := toolbox.NewTask("oneMinute", "0 */1 * * * * ", OneMinute)
-	toolbox.AddTask("oneMinute", oneMinute)
+	//oneMinute := toolbox.NewTask("oneMinute", "0 */1 * * * * ", OneMinute)
+	//toolbox.AddTask("oneMinute", oneMinute)
 	//ImportCompanyUsers()
-	toolbox.StartTask()
+	//addCompany12()
+	//toolbox.StartTask()
+	//GetLongZhongTargetInfoByExcel()
 	fmt.Println("task end")
 }
 

BIN
static/longzhong_0824.xlsx