Commit 6b8408d9 authored by 史余彬's avatar 史余彬

静态数据接口完成,动态数据结构体创建完成

parent fe80cc12
...@@ -3,7 +3,7 @@ package common ...@@ -3,7 +3,7 @@ package common
import "log" import "log"
func ErrorPrintln(str string, err error) { func ErrorPrintln(str string, err error) {
if err != nil{ if err != nil {
log.Fatal(str + ":" + err.Error()) log.Println(str + ":" + err.Error())
} }
} }
\ No newline at end of file
This diff is collapsed.
...@@ -79,28 +79,42 @@ minelaytypeno=1 ...@@ -79,28 +79,42 @@ minelaytypeno=1
upstreamtailings=1 upstreamtailings=1
drystorage= drystorage=
drystoragewaterratio= drystoragewaterratio=
tailingsparticlesize= tailingsparticlesize=64
tailingsaveparticlesize= tailingsaveparticlesize=
depositiondrybeachslope= depositiondrybeachslope=2
personnum= personnum=0
buildingnum= buildingnum=0
emergencyplanfiled= emergencyplanfiled=
primarysafetyunit= primarysafetyunit=山东公信安全评价有限公司
primarysafetylevel= primarysafetylevel=甲级
designunit= designunit=山东黄金集团烟台设计研究工程有限公司
designunitlevel= designunitlevel=甲级
constructionunit= constructionunit=山东华新建筑工程集团有限责任公司
constructionlevel= constructionlevel=矿山工程施工总承包一级
supervisoryunit= supervisoryunit=北京康迪建设监理咨询有限公司
supervisorylevel= supervisorylevel=甲级
safetycheckunit= safetycheckunit=山东信力安全技术有限公司
safetychecklevel= safetychecklevel=甲级
safetyacceptancetime= safetyacceptancetime=2015-9-28
safetyevaluationunit= safetyevaluationunit=山东信力安全技术有限公司
safetyevaluationlevel= safetyevaluationlevel=甲级
filingperson= filingperson=烟台中嘉矿业有限公司(岳翔宇)
filingdate= filingdate=2020-10-24
fillerphone= fillerphone=18507282835
note= note=
in_use= in_use=1
is_sync= is_sync=0
[StaticSqlLanguage]
gt_static_sql=SELECT equipno, equipname, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo where equipname like '%干滩%'
ksw_static_sql=SELECT equipno, equipname, installlocation, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo a INNER JOIN (SELECT ID FROM SensorInfo WHERE Location like '%水位%') b on a.equipname = b.ID
jrx_static_sql=SELECT equipno, equipname, holedepth, burialdepth, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo a INNER JOIN (SELECT ID FROM SensorInfo WHERE Location like '%浸润线%') b on a.equipname = b.ID
jyl_static_sql=SELECT equipno, equipname, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo where equipname like '%雨量%'
nbwy_static_sql=SELECT equipno, equipname, longitude, latitude, altitude, isUsed, isSync FROM wkkInfo a INNER JOIN (SELECT ID FROM SensorInfo WHERE Location like '%内部位移%') b on a.equipname = b.ID
[RealTimeSqlLanguage]
gt_real_time_sql=SELECT b.equipno AS sensorno, a.upTempValue AS value, a.upTime AS collectdate from TempT a inner join (select equipno, equipname from [mssensors].[dbo].[wkkInfo] where equipname like '%干滩%') b on a.ID = b.equipname
ksw_real_time_sql=
jrx_real_time_sql=
jyl_real_time_sql=
nbwy_real_time_sql=
\ No newline at end of file
...@@ -8,11 +8,15 @@ import ( ...@@ -8,11 +8,15 @@ import (
"shandong_datapush/common" "shandong_datapush/common"
_ "github.com/denisenkom/go-mssqldb" _ "github.com/denisenkom/go-mssqldb"
_ "github.com/lib/pq" _ "github.com/lib/pq"
_ "github.com/go-sql-driver/mysql"
) )
var ( var (
DBType string DBType string
DBConnInfo *common.DBConnectInfo DBConnInfo *common.DBConnectInfo
TailPond *common.TailPondInfor
StaticSql *common.StaticSqlLanguage
RealTimeSql *common.RealTimeSqlLanguage
DB *sql.DB DB *sql.DB
err error err error
) )
...@@ -23,6 +27,12 @@ func init() { ...@@ -23,6 +27,12 @@ func init() {
DBType = file.Section("databaseType").Key("type").String() DBType = file.Section("databaseType").Key("type").String()
DBConnInfo = new(common.DBConnectInfo) DBConnInfo = new(common.DBConnectInfo)
err = file.Section("databaseConnection").MapTo(DBConnInfo) err = file.Section("databaseConnection").MapTo(DBConnInfo)
TailPond = new(common.TailPondInfor)
err = file.Section("wkkBasicInfo").MapTo(TailPond)
StaticSql = new(common.StaticSqlLanguage)
file.Section("staticSqlLanguage").MapTo(StaticSql)
RealTimeSql = new(common.RealTimeSqlLanguage)
file.Section("RealTimeSqlLanguage").MapTo(RealTimeSql)
common.ErrorPrintln("数据库连接信息映射异常", err) common.ErrorPrintln("数据库连接信息映射异常", err)
} }
...@@ -31,6 +41,7 @@ func DBConnection() { ...@@ -31,6 +41,7 @@ func DBConnection() {
log.Println("当前使用pg数据库") log.Println("当前使用pg数据库")
connString := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",DBConnInfo.Server, DBConnInfo.Port, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.DBName) connString := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",DBConnInfo.Server, DBConnInfo.Port, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.DBName)
DB, err = sql.Open("postgres", connString) DB, err = sql.Open("postgres", connString)
common.ErrorPrintln("postgres数据库连接异常" , err)
err = DB.Ping() err = DB.Ping()
if err != nil { if err != nil {
log.Fatalf("[Error] PG 数据库连接失败: %s", err.Error()) log.Fatalf("[Error] PG 数据库连接失败: %s", err.Error())
...@@ -38,14 +49,26 @@ func DBConnection() { ...@@ -38,14 +49,26 @@ func DBConnection() {
log.Println("postgres 数据库连接成功!") log.Println("postgres 数据库连接成功!")
} }
} else if DBType == "sqlserver" { } else if DBType == "sqlserver" {
log.Println("当前使用SqlServer数据库") log.Println("当前使用sqlserver数据库")
connString := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%s;encrypt=disable", DBConnInfo.Server, DBConnInfo.DBName, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.Port) connString := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%s;encrypt=disable", DBConnInfo.Server, DBConnInfo.DBName, DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.Port)
DB, err = sql.Open("mssql", connString) DB, err = sql.Open("mssql", connString)
common.ErrorPrintln("sqlserver数据库连接异常" , err)
err = DB.Ping() err = DB.Ping()
if err != nil { if err != nil {
log.Fatalf("[Error] sqlserver 数据库连接失败: %s", err.Error()) log.Fatalf("[Error] sqlserver 数据库连接失败: %s", err.Error())
}else { }else {
log.Println("sqlserver 数据库连接成功!") log.Println("sqlserver 数据库连接成功!")
} }
} else if DBType == "mysql" {
log.Println("当前使用mysql数据库")
connString := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", DBConnInfo.Username, DBConnInfo.Password, DBConnInfo.Server, DBConnInfo.Port, DBConnInfo.DBName)
DB, err = sql.Open("mysql", connString)
common.ErrorPrintln("mysql数据库连接异常" , err)
err = DB.Ping()
if err != nil {
log.Fatalf("[Error] mysql 数据库连接失败: %s", err.Error())
}else {
log.Println("mysql 数据库连接成功!")
}
} }
} }
\ No newline at end of file
package dao
import (
"shandong_datapush/common"
"shandong_datapush/config"
)
/*
干滩静态数据
*/
func GantanStaticData() []*common.DryBeachEquipInfor {
row, err := config.DB.Query(config.StaticSql.GtStaticSql)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
common.ErrorPrintln("干滩静态数据查询异常", err)
Arrs := make([]*common.DryBeachEquipInfor, 0)
for row.Next() {
dryBeachInfo := new(common.DryBeachEquipInfor)
err := row.Scan(&dryBeachInfo.Equipno, &dryBeachInfo.Equipname, &dryBeachInfo.Longitude, &dryBeachInfo.Latitude,&dryBeachInfo.Altitude, &dryBeachInfo.IsUsed, &dryBeachInfo.IsSync)
common.ErrorPrintln("scan 干滩数据读取异常", err)
Arrs = append(Arrs, dryBeachInfo)
}
return Arrs
}
/*
库水位静态数据
*/
func KushuiweiStaticData() []*common.ReserWaterLevelInfor {
row, err := config.DB.Query(config.StaticSql.KswStaticSql)
common.ErrorPrintln("库水位静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.ReserWaterLevelInfor, 0)
for row.Next() {
reserwater := new(common.ReserWaterLevelInfor)
err := row.Scan(&reserwater.Equipno, &reserwater.Equipname, &reserwater.Installlocation, &reserwater.Longitude, &reserwater.Latitude, &reserwater.Altitude, &reserwater.IsUsed, &reserwater.IsSync)
common.ErrorPrintln("scan 库水位数据读取异常", err)
Arrs = append(Arrs, reserwater)
}
return Arrs
}
/*
浸润线静态数据
*/
func JinrunxianStaticData() []*common.SaturationLineInfor {
row, err := config.DB.Query(config.StaticSql.JrxStaticSql)
common.ErrorPrintln("浸润线静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.SaturationLineInfor, 0)
for row.Next() {
saturation := new(common.SaturationLineInfor)
err := row.Scan(&saturation.Equipno, &saturation.Equipname, &saturation.Holedepth, &saturation.Burialdepth, &saturation.Longitude, &saturation.Latitude, &saturation.Altitude, &saturation.IsUsed, &saturation.IsSync)
common.ErrorPrintln("scan 浸润线数据读取异常", err)
Arrs = append(Arrs, saturation)
}
return Arrs
}
/*
降雨量静态数据
*/
func JiangyuliangStaticData() []*common.RainfallInfor {
row, err := config.DB.Query(config.StaticSql.JylStaticSql)
common.ErrorPrintln("降雨量静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.RainfallInfor, 0)
for row.Next() {
saturation := new(common.RainfallInfor)
err := row.Scan(&saturation.Equipno, &saturation.Equipname, &saturation.Longitude, &saturation.Latitude, &saturation.Altitude, &saturation.IsUsed, &saturation.IsSync)
common.ErrorPrintln("scan 降雨量数据读取异常", err)
Arrs = append(Arrs, saturation)
}
return Arrs
}
/*
内部位移静态数据
*/
func NeibuweiyiStaticData() []*common.InclinometerInfor {
row, err := config.DB.Query(config.StaticSql.NbwystaticSql)
common.ErrorPrintln("内部位移静态数据查询异常", err)
defer func() {
err := row.Close()
common.ErrorPrintln("row 关闭异常", err)
}()
Arrs := make([]*common.InclinometerInfor, 0)
for row.Next() {
saturation := new(common.InclinometerInfor)
err := row.Scan(&saturation.Equipno, &saturation.Equipname, &saturation.Longitude, &saturation.Latitude, &saturation.Altitude, &saturation.IsUsed, &saturation.IsSync)
common.ErrorPrintln("scan 内部位移数据读取异常", err)
Arrs = append(Arrs, saturation)
}
return Arrs
}
\ No newline at end of file
...@@ -4,6 +4,7 @@ go 1.15 ...@@ -4,6 +4,7 @@ go 1.15
require ( require (
github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204 github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204
github.com/go-sql-driver/mysql v1.5.0
github.com/lib/pq v1.8.0 github.com/lib/pq v1.8.0
gopkg.in/ini.v1 v1.62.0 gopkg.in/ini.v1 v1.62.0
) )
github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204 h1:tI48fqaIkxxYuIylVv1tdDfBp6836GKSfmmzgSyP1CY= github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204 h1:tI48fqaIkxxYuIylVv1tdDfBp6836GKSfmmzgSyP1CY=
github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.0.0-20200910202707-1e08a3fab204/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/lib/pq v1.8.0 h1:9xohqzkUwzR4Ga4ivdTcawVS89YSDVxXMa3xJX3cGzg= github.com/lib/pq v1.8.0 h1:9xohqzkUwzR4Ga4ivdTcawVS89YSDVxXMa3xJX3cGzg=
......
...@@ -3,9 +3,35 @@ package main ...@@ -3,9 +3,35 @@ package main
import ( import (
"log" "log"
"shandong_datapush/config" "shandong_datapush/config"
"shandong_datapush/service"
"time"
) )
func main() { func main() {
log.Println("==================数据推送程序启动=================") log.Println("==================数据推送程序启动=================")
config.DBConnection() config.DBConnection()
service.WkkBasicDataProcess()
service.KswStaticDataProcess()
service.GtStaticDataProcess()
service.JrxStaticDataProcess()
service.JylStaticDataProcess()
service.NbwyStaticDataProcess()
}
/*
静态数据推送
*/
func staticDataPush() {
for range time.Tick(time.Second * 10){
log.Println("=======================================staticDataPush")
}
}
/*
实时数据推送
*/
func realTimeDataPush() {
for range time.Tick(time.Second * 20){
log.Println("=======================================realTimeDataPush")
}
} }
\ No newline at end of file
package service
/*
干滩实时数据
*/
func GtRealDataProcess() {
/*row, err := config.DB.Query(config.RealTimeSql.GtRealTimeSql)
common.ErrorPrintln("干滩实时数据查询异常", err)
Arrs := make([]*common.DryBeachData, 0)
for row.Next() {
dryBeach := new(common.DryBeachData)
row.Scan()
}*/
}
\ No newline at end of file
package service
import (
"bytes"
"encoding/xml"
"log"
"net/http"
"shandong_datapush/common"
"shandong_datapush/config"
"shandong_datapush/dao"
)
/*
尾矿库静态数据处理
*/
func WkkBasicDataProcess() {
client := &http.Client{}
by, err := xml.Marshal(config.TailPond)
log.Println(">>>>>>>>>>>>>>>>>>>", string(by))
common.ErrorPrintln("wkkBasicDataProcess", err)
req, err := http.NewRequest("POST", "https://www.baidu.com", bytes.NewReader(by))
client.Do(req)
}
/*
干滩静态数据处理
*/
func GtStaticDataProcess() {
gtArrs := dao.GantanStaticData()
by, err := xml.Marshal(gtArrs)
common.ErrorPrintln("干滩静态数据格式化失败", err)
log.Println("干滩>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
库水位静态数据处理
*/
func KswStaticDataProcess() {
kswArrs := dao.KushuiweiStaticData()
by, err := xml.Marshal(kswArrs)
common.ErrorPrintln("库水位静态数据格式化失败", err)
log.Println("库水位>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
浸润线静态数据处理
*/
func JrxStaticDataProcess() {
jrxArrs := dao.JinrunxianStaticData()
by, err := xml.Marshal(jrxArrs)
common.ErrorPrintln("浸润线静态数据格式化失败", err)
log.Println("浸润线>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
降雨量静态数据处理
*/
func JylStaticDataProcess() {
jylArrs := dao.JiangyuliangStaticData()
by, err := xml.Marshal(jylArrs)
common.ErrorPrintln("降雨量静态数据格式化失败", err)
log.Println("降雨量>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
/*
降雨量静态数据处理
*/
func NbwyStaticDataProcess() {
jylArrs := dao.NeibuweiyiStaticData()
by, err := xml.Marshal(jylArrs)
common.ErrorPrintln("内部位移静态数据格式化失败", err)
log.Println("内部位移>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", string(by))
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment