| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package data
- import (
- "MeterService/dataStruct"
- "MeterService/database/appApi"
- "MeterService/database/meterCalcParam"
- )
- var (
- DtuMap *dataStruct.DMapDtuDev
- CalcParam *dataStruct.DMapInterface
- DtuMapState *dataStruct.DMapClientState
- IpSN *dataStruct.DMapKv
- OnlineSN *dataStruct.DMapClientState
- TranSN chan *dataStruct.DtuRegisterChanMsg
- AppApiMap *dataStruct.MapAppApi
- )
- func InitData() bool {
- OnlineSN = dataStruct.NewDMapClientState()
- IpSN = dataStruct.NewDMapKv()
- TranSN = make(chan *dataStruct.DtuRegisterChanMsg, 100)
- DtuMapState = dataStruct.NewDMapClientState()
- DtuMap = dataStruct.NewDMapDtuDev()
- CalcParam = initMeterCalcParam()
- initAppApiMap()
- // 初始化DtuMap
- if err := initDevice(); err != nil {
- return false
- }
- return true
- }
- func initMeterCalcParam() *dataStruct.DMapInterface {
- calcParam := dataStruct.NewDMapInterface()
- db := meterCalcParam.NewMeterCalcParamDb()
- if db == nil {
- return calcParam
- }
- if array, err := db.GetList(); err == nil {
- for _, v := range array {
- val := v.(*meterCalcParam.MeterCalcParam)
- calc := &dataStruct.MeterCalcParam{
- Id: val.Id,
- Time: val.Time,
- PowerRate: dataStruct.CalcPowerRate{
- MaxPower: val.MaxPower,
- Count: val.Count,
- SumPower: val.SumPower,
- },
- TotalEnergy: dataStruct.CalcDataEnergy{
- Tp: val.Tps,
- Tq: val.Tqs,
- Fp: val.Fps,
- Fq: val.Fqs,
- },
- DayTotalEnergy: dataStruct.CalcDataEnergy{
- Tp: val.Tpe,
- Tq: val.Tqe,
- Fp: val.Fpe,
- Fq: val.Fqe,
- },
- }
- calcParam.Add(calc.Id, calc)
- }
- }
- return calcParam
- }
- func initAppApiMap() *dataStruct.MapAppApi {
- appApiMap := dataStruct.NewMapAppApi()
- db := appApi.NewAppApiDb()
- if db == nil {
- return appApiMap
- }
- if array, err := db.GetList(); err == nil {
- for _, v := range array {
- api := v.(*appApi.AppApi)
- if appApiMap.IsAppApiExist(api.Type) {
- appApiMap.Add(api.Type, api)
- }
- }
- }
- return appApiMap
- }
|