health-go/handler/RecordHandler.go

196 lines
4.5 KiB
Go
Raw Permalink Normal View History

2024-11-14 01:15:55 +08:00
package handler
2024-10-17 23:52:10 +08:00
import (
2024-10-28 14:41:27 +08:00
"fmt"
2024-10-17 23:52:10 +08:00
"github.com/gin-gonic/gin"
"health-go/config"
2024-11-14 01:15:55 +08:00
"health-go/model"
"health-go/util"
2024-10-17 23:52:10 +08:00
"net/http"
2024-10-28 14:41:27 +08:00
"time"
2024-10-17 23:52:10 +08:00
)
// FetchAllRecords 每个用户全部化验记录
func FetchAllRecords(c *gin.Context) {
2024-11-14 01:15:55 +08:00
var records []model.Check
2024-10-17 23:52:10 +08:00
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) {
2024-11-14 01:15:55 +08:00
var newRecord model.UserInput
2024-10-28 14:41:27 +08:00
if err := c.ShouldBindJSON(&newRecord); err != nil {
fmt.Println(newRecord.Date)
2024-11-14 01:15:55 +08:00
util.ReturnInvalid(c)
2024-10-28 14:41:27 +08:00
return
}
date, _ := convertDate(newRecord.Date)
fmt.Println(date)
//ok, checkID := prepareInsert(1, date, newRecord.Hospital)
//
//if ok {
2024-11-14 01:15:55 +08:00
// var newItems []model.CheckItem
2024-10-28 14:41:27 +08:00
//for fieldName, itemID := range checkItemMap {
// switch fieldName {
// case "ca125Value":
// if newRecord.Ca125 != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca125,
// })
// }
// case "ca199Value":
// if newRecord.Ca199 != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca199,
// })
// }
// case "ceaValue":
// if newRecord.Cea != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Cea,
// })
// }
// case "ca153Value":
// if newRecord.Ca153 != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca153,
// })
// }
// case "ca724Value":
// if newRecord.Ca724 != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca724,
// })
// }
// case "he4Value":
// if newRecord.He4 != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.He4,
// })
// }
// case "rbcValue":
// if newRecord.Rbc != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Rbc,
// })
// }
// case "hbValue":
// if newRecord.Hb != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Hb,
// })
// }
// case "wbcValue":
// if newRecord.Wbc != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Wbc,
// })
// }
// case "pltValue":
// if newRecord.Plt != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Plt,
// })
// }
// case "neutValue":
// if newRecord.Neut != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Neut,
// })
// }
// case "weightValue":
// if newRecord.Weight != -1 {
2024-11-14 01:15:55 +08:00
// newItems = append(newItems, model.CheckItem{
2024-10-28 14:41:27 +08:00
// 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) {
2024-11-14 01:15:55 +08:00
var aRec model.Check
2024-10-28 14:41:27 +08:00
result := config.DB.Model("checks").
Where(
"check_date = ? AND user_id = ?",
date.Format("2006-01-02"),
userID).Find(&aRec)
if result.RowsAffected == 0 {
2024-11-14 01:15:55 +08:00
var newRec model.Check
2024-10-28 14:41:27 +08:00
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
}
2024-10-17 23:52:10 +08:00
2024-10-28 14:41:27 +08:00
func convertDate(dateStr string) (time.Time, error) {
return time.Parse("2006-01-02", dateStr)
2024-10-17 23:52:10 +08:00
}