Commit 339af448 authored by szh's avatar szh

更新反馈处理逻辑

parent 2540541b
...@@ -12,6 +12,14 @@ type RaspFeedback struct { ...@@ -12,6 +12,14 @@ type RaspFeedback struct {
Complete bool `json:"complete"` Complete bool `json:"complete"`
} }
func GetAllFeedBackList() ([]*RaspFeedback,error) {
var list []*RaspFeedback
if err := db.Find(list).Error; err != nil {
return nil,err
}
return list,nil
}
func IsComplete(id string)bool{ func IsComplete(id string)bool{
var feedback RaspFeedback var feedback RaspFeedback
err:=db.Model(&RaspFeedback{}).Where("id=?",id).First(&feedback).Error err:=db.Model(&RaspFeedback{}).Where("id=?",id).First(&feedback).Error
...@@ -42,7 +50,6 @@ func DelFeedBack(id string){ ...@@ -42,7 +50,6 @@ func DelFeedBack(id string){
} }
} }
func DropFeedBack(){ func DropFeedBack(){
db.DropTable(&RaspFeedback{}) db.DropTable(&RaspFeedback{})
} }
...@@ -50,4 +57,11 @@ func DropFeedBack(){ ...@@ -50,4 +57,11 @@ func DropFeedBack(){
func Complete(fd RaspFeedback){ func Complete(fd RaspFeedback){
db.Model(&fd).Update("Complete",true) db.Model(&fd).Update("Complete",true)
}
func DeleteCompleteFeedback(){
err:=db.Delete(&RaspFeedback{}).Where("complete=?",1).Error
if err!=nil{
log.Println(err)
}
} }
\ No newline at end of file
...@@ -9,7 +9,6 @@ import ( ...@@ -9,7 +9,6 @@ import (
"math/rand" "math/rand"
"os" "os"
"os/exec" "os/exec"
"strings"
"sync" "sync"
"time" "time"
) )
...@@ -93,20 +92,21 @@ func reKeygen(){ ...@@ -93,20 +92,21 @@ func reKeygen(){
} }
func CleanUp(){ func CleanUp(){
var buff bytes.Buffer list,err := models.GetAllFeedBackList()
netstat:=exec.Command(setting.Chain33Pai.NetStat) if err != nil {
netstat.Stdout=&buff fmt.Println("GetAllFeedBackList",err)
idSelector:=strings.Split(buff.String(),"\n") }
if len(idSelector)==0{//没有映射端口存在,即没有需要处理的反馈 fmt.Println("GetAllFeedBackList",list)
//var buff bytes.Buffer
//netstat:=exec.Command(setting.Chain33Pai.NetStat)
//netstat.Stdout=&buff
//idSelector:=strings.Split(buff.String(),"\n")
if len(list)==0{//没有映射端口存在,即没有需要处理的反馈
reKeygen()//清空authorized_keys reKeygen()//清空authorized_keys
models.DropFeedBack()//清空数据库记录
return return
} }
for _,v:=range idSelector{ models.DeleteCompleteFeedback()
if models.IsComplete(v){
models.DelFeedBack(v)
}
}
} }
func CornClean(ticker *time.Ticker){ func CornClean(ticker *time.Ticker){
......
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