初始化v1
This commit is contained in:
162
internal/controller/admin/banner.go
Normal file
162
internal/controller/admin/banner.go
Normal file
@@ -0,0 +1,162 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"nl-video-api/internal/service"
|
||||
"nl-video-api/utility/response"
|
||||
)
|
||||
|
||||
var Banner = cAdminBanner{}
|
||||
|
||||
type cAdminBanner struct{}
|
||||
|
||||
// Create 创建轮播图
|
||||
func (c *cAdminBanner) Create(r *ghttp.Request) {
|
||||
service.Banner.AdminCreate(r)
|
||||
}
|
||||
|
||||
// Update 更新轮播图
|
||||
func (c *cAdminBanner) Update(r *ghttp.Request) {
|
||||
var req *service.AdminBannerUpdateReq
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.Error(r, 1001, "参数解析失败: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 从URL路径获取ID
|
||||
if req.Id == 0 {
|
||||
idStr := r.Get("id").String()
|
||||
if id, err := strconv.Atoi(idStr); err == nil {
|
||||
req.Id = uint(id)
|
||||
}
|
||||
}
|
||||
|
||||
err := service.Banner.AdminUpdate(r.Context(), req)
|
||||
if err != nil {
|
||||
response.Error(r, 1002, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(r, g.Map{
|
||||
"message": "更新成功",
|
||||
})
|
||||
}
|
||||
|
||||
// Delete 删除轮播图
|
||||
func (c *cAdminBanner) Delete(r *ghttp.Request) {
|
||||
idStr := r.Get("id").String()
|
||||
id, err := strconv.Atoi(idStr)
|
||||
if err != nil || id <= 0 {
|
||||
response.Error(r, 1001, "轮播图ID无效")
|
||||
return
|
||||
}
|
||||
|
||||
req := &service.AdminBannerDeleteReq{Id: uint(id)}
|
||||
err = service.Banner.AdminDelete(r.Context(), req)
|
||||
if err != nil {
|
||||
response.Error(r, 1002, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(r, g.Map{
|
||||
"message": "删除成功",
|
||||
})
|
||||
}
|
||||
|
||||
// GetDetail 获取轮播图详情
|
||||
func (c *cAdminBanner) GetDetail(r *ghttp.Request) {
|
||||
idStr := r.Get("id").String()
|
||||
id, err := strconv.Atoi(idStr)
|
||||
if err != nil || id <= 0 {
|
||||
response.Error(r, 1001, "轮播图ID无效")
|
||||
return
|
||||
}
|
||||
|
||||
req := &service.AdminBannerDetailReq{Id: uint(id)}
|
||||
result, err := service.Banner.AdminGetDetail(r.Context(), req)
|
||||
if err != nil {
|
||||
response.Error(r, 1002, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(r, result)
|
||||
}
|
||||
|
||||
// GetList 获取轮播图列表
|
||||
func (c *cAdminBanner) GetList(r *ghttp.Request) {
|
||||
var req *service.AdminBannerListReq
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.Error(r, 1001, "参数解析失败: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 设置默认分页参数
|
||||
if req.Page <= 0 {
|
||||
req.Page = 1
|
||||
}
|
||||
if req.Size <= 0 {
|
||||
req.Size = 10
|
||||
}
|
||||
|
||||
result, err := service.Banner.AdminGetList(r.Context(), req)
|
||||
if err != nil {
|
||||
response.Error(r, 1002, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(r, result)
|
||||
}
|
||||
|
||||
// UpdateStatus 更新轮播图状态
|
||||
func (c *cAdminBanner) UpdateStatus(r *ghttp.Request) {
|
||||
var req *service.AdminBannerUpdateStatusReq
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.Error(r, 1001, "参数解析失败: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
// 从URL路径获取ID
|
||||
if req.Id == 0 {
|
||||
idStr := r.Get("id").String()
|
||||
if id, err := strconv.Atoi(idStr); err == nil {
|
||||
req.Id = uint(id)
|
||||
}
|
||||
}
|
||||
|
||||
err := service.Banner.AdminUpdateStatus(r.Context(), req)
|
||||
if err != nil {
|
||||
response.Error(r, 1002, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(r, g.Map{
|
||||
"message": "状态更新成功",
|
||||
})
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除轮播图
|
||||
func (c *cAdminBanner) BatchDelete(r *ghttp.Request) {
|
||||
var req *service.AdminBannerBatchDeleteReq
|
||||
if err := r.Parse(&req); err != nil {
|
||||
response.Error(r, 1001, "参数解析失败: "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if len(req.Ids) == 0 {
|
||||
response.Error(r, 1001, "轮播图ID列表不能为空")
|
||||
return
|
||||
}
|
||||
|
||||
err := service.Banner.AdminBatchDelete(r.Context(), req)
|
||||
if err != nil {
|
||||
response.Error(r, 1002, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(r, g.Map{
|
||||
"message": "批量删除成功",
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user