package handler import ( "fmt" "github.com/gin-gonic/gin" "health-go/config" "health-go/model" "health-go/service/hospital" "health-go/util" "net/http" ) func FetchHospitalList(c *gin.Context) { var hosList []model.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 model.Hospital if err := c.ShouldBindJSON(&newHospital); err != nil { util.ReturnInvalid(c) return } util.ReturnJson(c, http.StatusOK, 400, "invalid params", nil) 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 hos model.Hospital if err := c.ShouldBindJSON(&hos); err != nil { util.ReturnInvalid(c) return } if ok, err := hospital.Modify(hos); ok { c.JSON(http.StatusOK, gin.H{ "code": 200, "msg": "修改医院信息成功", "data": nil, }) } else { c.JSON(http.StatusInternalServerError, gin.H{ "code": 500, "msg": "修改医院信息失败", "data": err, }) return } } // DeleteHospital // @Accept json // @Produce json // @Param hos_id query int true "医院id" "maxlength(100)" func DeleteHospital(c *gin.Context) { var hospital model.Hospital if err := c.ShouldBindJSON(&hospital); err != nil { util.ReturnInvalid(c) 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, }) }