package handlers import ( "fmt" "github.com/gin-gonic/gin" "health-go/config" "health-go/models" "net/http" ) func FetchHospitalList(c *gin.Context) { var hosList []models.Hospital result := config.DB.Table("hospital").Find(&hosList) if result.Error != nil { 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": "获取医院列表成功", "data": hosList, }) } func AddHospital(c *gin.Context) { var newHospital models.Hospital if err := c.ShouldBindJSON(&newHospital); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "code": 400, "msg": "无效的请求参数", "data": nil, }) return } result := config.DB.Create(newHospital) fmt.Println(newHospital) 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": "添加医院成功", "data": nil, }) } func ModifyHospital(c *gin.Context) { var hospital models.Hospital if err := c.ShouldBindJSON(&hospital); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "code": 400, "msg": "无效的请求参数", "data": err, }) return } result := config.DB. Model(&hospital). Where("hospital_id = ?", hospital.HospitalID). Updates(map[string]interface{}{ "hospital_name": hospital.HospitalName, "address": hospital.Address, }) if result.Error != nil { c.JSON(http.StatusInternalServerError, gin.H{ "code": 500, "msg": "修改医院信息失败", "data": result.Error, }) return } c.JSON(http.StatusOK, gin.H{ "code": 200, "msg": "修改医院信息成功", "data": nil, }) } func DeleteHospital(c *gin.Context) { var hospital models.Hospital if err := c.ShouldBindJSON(&hospital); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "code": 400, "msg": "无效的请求参数", "data": nil, }) return } result := config.DB.Delete(&hospital) 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": "删除指定医院成功", "data": nil, }) }