feat(sms): add sms login method

This commit is contained in:
2024-10-28 14:41:27 +08:00
parent bb580ff488
commit b5b839fdba
13 changed files with 532 additions and 20 deletions

View File

@ -1,10 +1,12 @@
package handlers
import (
"fmt"
"github.com/gin-gonic/gin"
"health-go/config"
"health-go/models"
"net/http"
"time"
)
// FetchAllRecords 每个用户全部化验记录
@ -28,6 +30,169 @@ func FetchAllRecords(c *gin.Context) {
}
func InsertRecord(c *gin.Context) {
//var aNewRecord models.CheckItem
var newRecord models.UserInput
if err := c.ShouldBindJSON(&newRecord); err != nil {
fmt.Println(newRecord.Date)
c.JSON(http.StatusBadRequest, gin.H{
"code": 400,
"msg": "无效的请求参数",
"data": err,
})
return
}
date, _ := convertDate(newRecord.Date)
fmt.Println(date)
//ok, checkID := prepareInsert(1, date, newRecord.Hospital)
//
//if ok {
// var newItems []models.CheckItem
//for fieldName, itemID := range checkItemMap {
// switch fieldName {
// case "ca125Value":
// if newRecord.Ca125 != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca125,
// })
// }
// case "ca199Value":
// if newRecord.Ca199 != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca199,
// })
// }
// case "ceaValue":
// if newRecord.Cea != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Cea,
// })
// }
// case "ca153Value":
// if newRecord.Ca153 != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca153,
// })
// }
// case "ca724Value":
// if newRecord.Ca724 != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Ca724,
// })
// }
// case "he4Value":
// if newRecord.He4 != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.He4,
// })
// }
// case "rbcValue":
// if newRecord.Rbc != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Rbc,
// })
// }
// case "hbValue":
// if newRecord.Hb != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Hb,
// })
// }
// case "wbcValue":
// if newRecord.Wbc != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Wbc,
// })
// }
// case "pltValue":
// if newRecord.Plt != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Plt,
// })
// }
// case "neutValue":
// if newRecord.Neut != -1 {
// newItems = append(newItems, models.CheckItem{
// CheckID: checkID,
// ItemID: itemID,
// ItemValue: newRecord.Neut,
// })
// }
// case "weightValue":
// if newRecord.Weight != -1 {
// newItems = append(newItems, models.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 models.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 models.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)
}