196 lines
4.5 KiB
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)
|
|
}
|