Commit fc1eb543 authored by szh's avatar szh

添加反馈无ssh功能

parent 5fe6e3b0
...@@ -6,12 +6,13 @@ type RaspDevVersion struct { ...@@ -6,12 +6,13 @@ type RaspDevVersion struct {
Version string `json:"version"` Version string `json:"version"`
Addr string `json:"addr"` Addr string `json:"addr"`
Info string `json:"info"` Info string `json:"info"`
Date string `json:"date"`
} }
// //
func UpdateDevVersion(params map[string]string) error { func UpdateDevVersion(params map[string]string) error {
var version RaspDevVersion var version RaspDevVersion
err := db.Where(RaspDevVersion{Addr: params["addr"]}).Assign(RaspDevVersion{Version: params["version"],Info:params["info"]}).FirstOrCreate(&version).Error err := db.Where(RaspDevVersion{Addr: params["addr"]}).Assign(RaspDevVersion{Version: params["version"],Info:params["info"],Date:params["date"]}).FirstOrCreate(&version).Error
if err != nil { if err != nil {
return err return err
} }
......
...@@ -34,6 +34,20 @@ func IsComplete(id string)bool{ ...@@ -34,6 +34,20 @@ func IsComplete(id string)bool{
return feedback.Complete return feedback.Complete
} }
func IsCompleteByAddr(addr string)bool{
var feedback RaspFeedback
err:=db.Model(&RaspFeedback{}).Where("addr=?",addr).First(&feedback).Error
if err!=nil{
log.Println(err)
return true
}
//fmt.Println(feedback)
if feedback==(RaspFeedback{}){
return true
}
return feedback.Complete
}
func AddFeedBack(fd RaspFeedback)bool{ func AddFeedBack(fd RaspFeedback)bool{
if err:=db.Create(&fd).Error;err != nil { if err:=db.Create(&fd).Error;err != nil {
db.Save(&fd) db.Save(&fd)
...@@ -64,4 +78,17 @@ func DeleteCompleteFeedback(){ ...@@ -64,4 +78,17 @@ func DeleteCompleteFeedback(){
if err!=nil{ if err!=nil{
log.Println(err) log.Println(err)
} }
}
func ExistsUncompletedFeedback(addr string) (bool,error){
var count int64
err := db.Model(&RaspFeedback{}).Where("addr=? and complete = 0 ",addr).Count(&count).Error
if err != nil {
return false,err
}
if count == 1 {
return true,nil
}
return false,nil
} }
\ No newline at end of file
package models
import (
"log"
)
type RaspFeedBackNossh struct {
Id string `json:"id" gorm:"PRIMARY_KEY"`
Addr string `json:"addr"`
Description string `json:"description"`
Complete bool `json:"complete"`
}
func GetAllFeedBackListNossh() ([]*RaspFeedBackNossh,error) {
var list []*RaspFeedBackNossh
if err := db.Model(&RaspFeedBackNossh{}).Find(&list).Error; err != nil {
return nil,err
}
return list,nil
}
func IsCompleteNossh(id string)bool{
var feedback RaspFeedBackNossh
err:=db.Model(&RaspFeedBackNossh{}).Where("id=?",id).First(&feedback).Error
if err!=nil{
log.Println(err)
return true
}
//fmt.Println(feedback)
if feedback==(RaspFeedBackNossh{}){
return true
}
return feedback.Complete
}
func AddFeedBackNossh(fd RaspFeedBackNossh)bool{
if err:=db.Create(&fd).Error;err != nil {
db.Save(&fd)
log.Println(err)
return false
}
return true
}
func DelFeedBackNossh(id string){
err:=db.Delete(&RaspFeedBackNossh{}).Where("id=?",id).Error
if err!=nil{
log.Println(err)
}
}
func DropFeedBackNossh(){
db.DropTable(&RaspFeedBackNossh{})
}
func CompleteNossh(fd RaspFeedBackNossh){
db.Model(&fd).Update("Complete",true)
}
func DeleteCompleteFeedbackNossh(){
err:=db.Where("complete=?",1).Delete(&RaspFeedBackNossh{}).Error
if err!=nil{
log.Println(err)
}
}
func ExistsUncompletedFeedbackNossh(addr string) (bool,error){
var count int64
err := db.Model(&RaspFeedBackNossh{}).Where("addr=? and complete = 0 ",addr).Count(&count).Error
if err != nil {
return false,err
}
if count == 1 {
return true,nil
}
return false,nil
}
\ No newline at end of file
...@@ -125,7 +125,16 @@ func CleanUp(){ ...@@ -125,7 +125,16 @@ func CleanUp(){
// return // return
//} //}
models.DeleteCompleteFeedback() models.DeleteCompleteFeedback()
}
func CleanUpNossh(){
list,err := models.GetAllFeedBackListNossh()
if err != nil {
fmt.Println("GetAllFeedBackListNossh",err)
}
fmt.Println("GetAllFeedBackListNossh",list)
models.DeleteCompleteFeedbackNossh()
} }
func CornClean(ticker *time.Ticker){ func CornClean(ticker *time.Ticker){
...@@ -133,6 +142,7 @@ func CornClean(ticker *time.Ticker){ ...@@ -133,6 +142,7 @@ func CornClean(ticker *time.Ticker){
select { select {
case <-ticker.C: case <-ticker.C:
CleanUp() CleanUp()
CleanUpNossh()
} }
} }
} }
......
...@@ -172,6 +172,62 @@ func FeedBack(c *gin.Context){ ...@@ -172,6 +172,62 @@ func FeedBack(c *gin.Context){
}) })
} }
func IsCompleteWithoutSSH(c *gin.Context){
var KP map[string]string
appG:=app.Gin{C:c}
err:=appG.C.ShouldBindJSON(&KP)
if err!=nil{
appG.Response(http.StatusOK, e.INVALID_PARAMS, nil)
return
}
if KP["addr"]!="" {
exist,err := models.ExistsUncompletedFeedbackNossh(KP["addr"])
if !exist && err ==nil {
appG.Response(http.StatusOK, e.SUCCESS, gin.H{
"status": "ok",
})
return
}
appG.Response(http.StatusOK, e.UNDONE, nil)
return
}
appG.Response(http.StatusOK,e.ERROR,"参数错误")
}
func FeedBackWithouSSH(c *gin.Context){
var KP map[string]string
appG:=app.Gin{C:c}
err:=appG.C.ShouldBindJSON(&KP)
if err!=nil{
appG.Response(http.StatusOK, e.INVALID_PARAMS, nil)
return
}
if KP["addr"] == "" {
appG.Response(http.StatusOK, e.INVALID_PARAMS, nil)
return
}
exist,err := models.ExistsUncompletedFeedbackNossh(KP["addr"])
if err != nil || !exist {
appG.Response(http.StatusOK, e.UNDONE, nil)
return
}
models.AddFeedBackNossh(models.RaspFeedBackNossh{
Addr:KP["addr"],
Description: KP["description"],
Complete: false,
})
models.AddFeedBackList(models.RaspFeedbackList{
Addr:KP["addr"],
Description: KP["description"],
Addtime:time.Now().Unix(),
})
appG.C.JSON(http.StatusOK,gin.H{
"msg":"ok",
"code":"200",
})
}
func GetFeedList(c *gin.Context){ func GetFeedList(c *gin.Context){
appG:=app.Gin{C:c} appG:=app.Gin{C:c}
var req models.ReqRaspFeedbackList var req models.ReqRaspFeedbackList
...@@ -213,6 +269,8 @@ func GetUploadInfo(c *gin.Context){ ...@@ -213,6 +269,8 @@ func GetUploadInfo(c *gin.Context){
appG.Response(http.StatusOK, e.INVALID_PARAMS, nil) appG.Response(http.StatusOK, e.INVALID_PARAMS, nil)
return return
} }
date := time.Now().Format("2006-01-02 15:04:05")
KP["date"] = date
err = models.UpdateDevVersion(KP) err = models.UpdateDevVersion(KP)
if err != nil { if err != nil {
......
...@@ -34,6 +34,8 @@ func InitRouter() *gin.Engine { ...@@ -34,6 +34,8 @@ func InitRouter() *gin.Engine {
apiv1.POST("/latestversion",v1.GetVersion) apiv1.POST("/latestversion",v1.GetVersion)
apiv1.POST("/feedback",v1.FeedBack) apiv1.POST("/feedback",v1.FeedBack)
apiv1.POST("/iscomplete",v1.IsComplete) apiv1.POST("/iscomplete",v1.IsComplete)
apiv1.POST("/feedbacknew",v1.FeedBackWithouSSH)
apiv1.POST("/iscompletenew",v1.IsCompleteWithoutSSH)
apiv1.POST("/getfeedlist",v1.GetFeedList) apiv1.POST("/getfeedlist",v1.GetFeedList)
apiv1.POST("/uploadinfo",v1.GetUploadInfo) apiv1.POST("/uploadinfo",v1.GetUploadInfo)
apiv1.POST("/uploadtest",v1.GetUploadTest) apiv1.POST("/uploadtest",v1.GetUploadTest)
......
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