health-go/handler/RecordHandler.go

196 lines
4.5 KiB
Go

package handler
import (
"fmt"
"github.com/gin-gonic/gin"
"health-go/config"
"health-go/model"
"health-go/util"
"net/http"
"time"
)
// FetchAllRecords 每个用户全部化验记录
func FetchAllRecords(c *gin.Context) {
var records []model.Check
result := config.DB.Where("user_id = ?", c.Query("user_id")).Find(&records)
if result.Error != nil {
c.JSON(http.StatusInternalServerError, gin.H{
"code": 500,
"msg": "内部服务器错误",
"data": nil,
})
return
}
c.JSON(http.StatusOK, gin.H{
"code": 200,
"msg": "ok",
"data": records,
})
}
func InsertRecord(c *gin.Context) {
var newRecord model.UserInput
if err := c.ShouldBindJSON(&newRecord); err != nil {
fmt.Println(newRecord.Date)
util.ReturnInvalid(c)
return
}
date, _ := convertDate(newRecord.Date)
fmt.Println(date)
//ok, checkID := prepareInsert(1, date, newRecord.Hospital)
//
//if ok {
// var newItems []model.CheckItem
//for fieldName, itemID := range checkItemMap {
// switch fieldName {
// case "ca125Value":
// if newRecord.Ca125 != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca125,
// })
// }
// case "ca199Value":
// if newRecord.Ca199 != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca199,
// })
// }
// case "ceaValue":
// if newRecord.Cea != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Cea,
// })
// }
// case "ca153Value":
// if newRecord.Ca153 != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca153,
// })
// }
// case "ca724Value":
// if newRecord.Ca724 != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca724,
// })
// }
// case "he4Value":
// if newRecord.He4 != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.He4,
// })
// }
// case "rbcValue":
// if newRecord.Rbc != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Rbc,
// })
// }
// case "hbValue":
// if newRecord.Hb != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Hb,
// })
// }
// case "wbcValue":
// if newRecord.Wbc != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Wbc,
// })
// }
// case "pltValue":
// if newRecord.Plt != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Plt,
// })
// }
// case "neutValue":
// if newRecord.Neut != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Neut,
// })
// }
// case "weightValue":
// if newRecord.Weight != -1 {
// newItems = append(newItems, model.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Weight,
// })
// }
// }
//}
//result := config.DB.Table("check_item")
//if result.Error != nil{
// c.JSON(http.StatusOK, gin.H{
// "code":500,
// "msg": "插入失败",
// "data": nil,
// })
//}
// c.JSON(http.StatusOK, gin.H{
// "code": 200,
// "msg": "添加记录成功",
// "data": nil,
// })
//} else {
// c.JSON(http.StatusOK, gin.H{
// "code": 200,
// "msg": "存在相同日期记录, 插入失败",
// "data": nil,
// })
//}
}
func prepareInsert(userID int, date time.Time, hospital int) (pre bool, id int) {
var aRec model.Check
result := config.DB.Model("checks").
Where(
"check_date = ? AND user_id = ?",
date.Format("2006-01-02"),
userID).Find(&aRec)
if result.RowsAffected == 0 {
var newRec model.Check
newRec.UserID = 1
newRec.CheckDate = date
newRec.Hospital = hospital
newRec.InsertTime = time.Now()
newRec.UpdateTime = time.Now()
re := config.DB.Table("checks").Create(&newRec)
fmt.Println(re.RowsAffected)
return true, aRec.CheckID
}
return false, aRec.CheckID
}
func convertDate(dateStr string) (time.Time, error) {
return time.Parse("2006-01-02", dateStr)
}