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) }