questionnaire_survey/handler/question-handler.go

110 lines
2.2 KiB
Go

package handler
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
"myschools.me/wyh/questionnaire_survey/model"
mysql "myschools.me/wyh/questionnaire_survey/mysql1"
)
//QuestionSend 提交表单
func QuestionSend(c *gin.Context) {
db := mysql.New()
payload, err := ioutil.ReadAll(c.Request.Body)
if err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
var up = &model.Submit{}
if err := json.Unmarshal(payload, up); err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
fmt.Println(up.DateTime)
fmt.Println(up)
if err := db.Create(up).Error; err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
c.JSON(200, gin.H{
"flag": "success",
})
}
//QuestionList 获取全部表单
func QuestionList(c *gin.Context) {
db := mysql.New()
var forms []model.Submit
if err := db.Where("state=?", 0).Find(&forms).Error; err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
c.JSON(200, forms)
// c.JSON(200, "ok")
}
// QuestionQuery 查询id对应表单
func QuestionQuery(c *gin.Context) {
db := mysql.New()
var query = model.Submit{}
var id = c.Param("id")
if err := db.Where("formid=?", id).Find(&query).Error; err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
c.JSON(200, query)
}
// QuestionDelete 删除id对应表单
func QuestionDelete(c *gin.Context) {
db := mysql.New()
var query = model.Submit{}
var id = c.Param("id")
if err := db.Model(&query).Where("formid=?", id).Update("state", 1).Error; err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
c.JSON(200, gin.H{
"flag": "success",
})
}
// QuestionUpdate 更新id对应表单
func QuestionUpdate(c *gin.Context) {
db := mysql.New()
formid := c.Param("id")
payload, err := ioutil.ReadAll(c.Request.Body)
if err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
var up = &model.Submit{}
if err := json.Unmarshal(payload, up); err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
if err := db.Model(model.Submit{}).Where("formid=?", formid).Updates(up).Error; err != nil {
if err != gorm.ErrRecordNotFound {
log.Fatal(err)
}
}
c.JSON(200, gin.H{
"flag": "success",
})
}