|
@@ -41,12 +41,9 @@ func HandleStcCmd(ctx context.Context, conn net.Conn) {
|
|
|
}
|
|
}
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if active.Actived { // check actived or not
|
|
|
|
|
- // 将新读取的数据追加到缓冲区
|
|
|
|
|
- buf.Write(tmp[:n])
|
|
|
|
|
- } else {
|
|
|
|
|
- break
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 将新读取的数据追加到缓冲区
|
|
|
|
|
+ buf.Write(tmp[:n])
|
|
|
}
|
|
}
|
|
|
// 尝试从缓冲区中提取完整数据包
|
|
// 尝试从缓冲区中提取完整数据包
|
|
|
for {
|
|
for {
|
|
@@ -70,7 +67,14 @@ func processPacket(packet []byte) {
|
|
|
lfshook.NewLogger().Logger.Infof("Get data from STC ===============:%x", packet)
|
|
lfshook.NewLogger().Logger.Infof("Get data from STC ===============:%x", packet)
|
|
|
//check if the cmd type is avtive
|
|
//check if the cmd type is avtive
|
|
|
if packet[5] == 0x03 { // ACTIVE
|
|
if packet[5] == 0x03 { // ACTIVE
|
|
|
- Active([1]byte{packet[7]})
|
|
|
|
|
|
|
+ Active([1]byte{packet[8]})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //check if actived
|
|
|
|
|
+ if !active.Actived {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("===========Inactived retrun==============")
|
|
|
|
|
+ return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
switch packet[5] {
|
|
switch packet[5] {
|
|
@@ -79,9 +83,8 @@ func processPacket(packet []byte) {
|
|
|
case 0x02: // STN
|
|
case 0x02: // STN
|
|
|
lfshook.NewLogger().Infof("=====STN=========")
|
|
lfshook.NewLogger().Infof("=====STN=========")
|
|
|
StationAnn(packet)
|
|
StationAnn(packet)
|
|
|
- case 0x03: // ACTIVE
|
|
|
|
|
-
|
|
|
|
|
- Active([1]byte{packet[8]})
|
|
|
|
|
|
|
+ //case 0x03: // ACTIVE
|
|
|
|
|
+ // Active([1]byte{packet[8]})
|
|
|
case 0x05: // SPC
|
|
case 0x05: // SPC
|
|
|
lfshook.NewLogger().Infof("=====SPC=========")
|
|
lfshook.NewLogger().Infof("=====SPC=========")
|
|
|
SpecialAnn(packet)
|
|
SpecialAnn(packet)
|
|
@@ -131,56 +134,62 @@ func StationAnn(data []byte) (err error) {
|
|
|
// 激活信号
|
|
// 激活信号
|
|
|
func Active(data [1]byte) {
|
|
func Active(data [1]byte) {
|
|
|
|
|
|
|
|
- var info model.Sysinfo
|
|
|
|
|
-
|
|
|
|
|
|
|
+ //var info model.Sysinfo
|
|
|
|
|
+ active.Actived = true
|
|
|
Num := int(data[0])
|
|
Num := int(data[0])
|
|
|
lfshook.NewLogger().Logger.Infof("Active data : %x", Num)
|
|
lfshook.NewLogger().Logger.Infof("Active data : %x", Num)
|
|
|
|
|
+ /*
|
|
|
|
|
+ switch Num { // 设置全局的激活信号,并通过协议(待定)通知终端注册到对应的激活主机上
|
|
|
|
|
+ case 0:
|
|
|
|
|
|
|
|
- switch Num { // 设置全局的激活信号,并通过协议(待定)通知终端注册到对应的激活主机上
|
|
|
|
|
- case 0:
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("=================Inactive==================")
|
|
|
|
|
- info.Name = "cab_active"
|
|
|
|
|
- info.Value = "0"
|
|
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("=================Inactive==================")
|
|
|
|
|
+ info.Name = "cab_active"
|
|
|
|
|
+ info.Value = "0"
|
|
|
|
|
|
|
|
- _, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info)
|
|
|
|
|
- if er != nil {
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error())
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
- case 1:
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("=================active===MC1===============")
|
|
|
|
|
- if active.CabNum == "1" { // local cab is MC1
|
|
|
|
|
- info.Name = "cab_active"
|
|
|
|
|
- info.Value = "1"
|
|
|
|
|
- active.Actived = true
|
|
|
|
|
- } else {
|
|
|
|
|
- info.Name = "cab_active"
|
|
|
|
|
- info.Value = "0"
|
|
|
|
|
- active.Actived = false
|
|
|
|
|
- }
|
|
|
|
|
- _, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info)
|
|
|
|
|
- if er != nil {
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error())
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
- case 8:
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("=================active===MC8===============")
|
|
|
|
|
- if active.CabNum == "8" { //Local cab is MC8
|
|
|
|
|
- info.Name = "cab_active"
|
|
|
|
|
- info.Value = "1"
|
|
|
|
|
- active.Actived = true
|
|
|
|
|
- } else {
|
|
|
|
|
- info.Name = "cab_active"
|
|
|
|
|
- info.Value = "0"
|
|
|
|
|
- active.Actived = false
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ _, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error())
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- _, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info)
|
|
|
|
|
- if er != nil {
|
|
|
|
|
- lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error())
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ case 1:
|
|
|
|
|
+
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("=================active===MC1===============")
|
|
|
|
|
+ if active.CabNum == "1" { // local cab is MC1
|
|
|
|
|
+ info.Name = "cab_active"
|
|
|
|
|
+ info.Value = "1"
|
|
|
|
|
+ active.Actived = true
|
|
|
|
|
+ } else {
|
|
|
|
|
+ info.Name = "cab_active"
|
|
|
|
|
+ info.Value = "0"
|
|
|
|
|
+ active.Actived = false
|
|
|
|
|
+ }
|
|
|
|
|
+ _, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error())
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ case 8:
|
|
|
|
|
+
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("=================active===MC8===============")
|
|
|
|
|
+ if active.CabNum == "8" { //Local cab is MC8
|
|
|
|
|
+ info.Name = "cab_active"
|
|
|
|
|
+ info.Value = "1"
|
|
|
|
|
+ active.Actived = true
|
|
|
|
|
+ } else {
|
|
|
|
|
+ info.Name = "cab_active"
|
|
|
|
|
+ info.Value = "0"
|
|
|
|
|
+ active.Actived = false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ _, er := mysql.DBOrmInstance.Where("name = ?", "cab_active").Update(&info)
|
|
|
|
|
+ if er != nil {
|
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("update sysinfo err : %+v", er.Error())
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ */
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// SPC ,特殊服务消息广播
|
|
// SPC ,特殊服务消息广播
|
|
@@ -439,18 +448,26 @@ func AlarmResetAll() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func RecordStorageConf(data []byte) {
|
|
func RecordStorageConf(data []byte) {
|
|
|
- /*padRcd := data[0]
|
|
|
|
|
- padRcdStorage := data[1]
|
|
|
|
|
- paRcdStorage := data[2]
|
|
|
|
|
- cpaRcdStorage := data[3]
|
|
|
|
|
- padRcdDel := data[4]
|
|
|
|
|
- PaRcdDel := data[5]
|
|
|
|
|
- cpaRcdDel := data[6]
|
|
|
|
|
|
|
+ padRcdEnable := data[0]
|
|
|
|
|
+ padRcdStorageDays := data[1]
|
|
|
|
|
+ paRcdStorageDays := data[2]
|
|
|
|
|
+ cpaRcdStorageDays := data[3]
|
|
|
|
|
|
|
|
- //update pa type
|
|
|
|
|
- _, er := mysql.DBOrmInstance.In("exten", Pacus).Update(&model.Extension{PaType: "CHK"})
|
|
|
|
|
|
|
+ //padRcdDelDays := data[4]
|
|
|
|
|
+ //PaRcdDelDays := data[5]
|
|
|
|
|
+ //cpaRcdDelDays := data[6]
|
|
|
|
|
+
|
|
|
|
|
+ var info model.RcdConf
|
|
|
|
|
+
|
|
|
|
|
+ info.PadRcdEnable = int(padRcdEnable)
|
|
|
|
|
+ info.PadRcdStorageDays = int(padRcdStorageDays)
|
|
|
|
|
+ info.CpaRcdStorageDays = int(cpaRcdStorageDays)
|
|
|
|
|
+ info.PaRcdStorageDays = int(paRcdStorageDays)
|
|
|
|
|
+
|
|
|
|
|
+ //update record config
|
|
|
|
|
+ _, er := mysql.DBOrmInstance.Update(&info)
|
|
|
if er != nil {
|
|
if er != nil {
|
|
|
lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
|
|
lfshook.NewLogger().Logger.Infof("update special voice to exten err : %+v", er.Error())
|
|
|
}
|
|
}
|
|
|
- */
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|