weather/web/app/localtion/api/localtion.go

83 lines
1.9 KiB
Go

package api
import (
"cc/db/model"
"cc/web/util/response"
"github.com/gofiber/fiber/v2"
)
// GetLocaltions 获取所有地点
func GetLocaltions(c *fiber.Ctx) error {
loc := model.Localtion{}
// 获取所有地点
localtions, err := loc.GetAll()
if err != nil {
return response.Error(c, response.InternalServerError, "获取地点失败: "+err.Error())
}
// 返回地点
return response.Ok(c, localtions)
}
// CreateLocaltion 创建地点
func CreateLocaltion(c *fiber.Ctx) error {
loc := model.Localtion{}
// 解析参数
err := c.BodyParser(&loc)
if err != nil {
return response.Error(c, response.BadRequest, "参数错误")
}
// 创建地点
err = loc.CreateLocaltion()
if err != nil {
return response.Error(c, response.InternalServerError, "创建地点失败: "+err.Error())
}
// 返回地点
return response.Ok(c, loc)
}
// UpdateLocaltion 更新地点
func UpdateLocaltion(c *fiber.Ctx) error {
// 获取地点id
id, err := c.ParamsInt("id")
if err != nil {
return response.Error(c, response.BadRequest, "参数错误")
}
// 获取地点
loc := model.Localtion{
ID: id,
}
// 解析参数
err = c.BodyParser(&loc)
if err != nil {
return response.Error(c, response.BadRequest, "参数错误")
}
// 更新地点
err = loc.UpdateLocaltion()
if err != nil {
return response.Error(c, response.InternalServerError, "更新地点失败: "+err.Error())
}
// 返回地点
return response.Ok(c, loc)
}
// DeleteLocaltion 删除地点
func DeleteLocaltion(c *fiber.Ctx) error {
// 获取地点id
id, err := c.ParamsInt("id")
if err != nil {
return response.Error(c, response.BadRequest, "参数错误")
}
// 获取地点
loc := model.Localtion{
ID: id,
}
// 删除地点
err = loc.DeleteLocaltion()
if err != nil {
return response.Error(c, response.InternalServerError, "删除地点失败: "+err.Error())
}
// 返回地点
return response.Ok(c, "删除地点成功")
}