83 lines
1.9 KiB
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, "删除地点成功")
|
|
}
|