Files
2026-04-28 10:29:02 +08:00

135 lines
3.5 KiB
Go

package order
import (
"sundynix-go/global"
"sundynix-go/model/commom/response"
req "sundynix-go/model/order/request"
"sundynix-go/service"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
type RefundApi struct{}
var refundService = service.ServiceGroupApp.OrderServiceGroup.RefundService
// Save
// @Tags 管理
// @Summary 新增
// @Security BasicAuth
// @accept json
// @Produce json
// @Param data body req.SaveRefundReq true "新增参数"
// @Success 200 {object} response.Response "新增成功"
// @Router /order/refund/save [post]
func (a *RefundApi) Save(c *gin.Context) {
var r req.SaveRefundReq
if err := c.ShouldBindJSON(&r); err != nil {
response.FailWithMsg("参数错误:"+err.Error(), c)
return
}
if err := refundService.Save(r); err != nil {
global.Logger.Error("新增失败!", zap.Error(err))
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithMsg("新增成功", c)
}
// Update
// @Tags 管理
// @Summary 更新
// @Security BasicAuth
// @accept json
// @Produce json
// @Param data body req.UpdateRefundReq true "更新参数"
// @Success 200 {object} response.Response "更新成功"
// @Router /order/refund/update [post]
func (a *RefundApi) Update(c *gin.Context) {
var r req.UpdateRefundReq
if err := c.ShouldBindJSON(&r); err != nil {
response.FailWithMsg("参数错误:"+err.Error(), c)
return
}
if err := refundService.Update(r); err != nil {
global.Logger.Error("更新失败!", zap.Error(err))
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithMsg("更新成功", c)
}
// Delete
// @Tags 管理
// @Summary 删除(支持批量)
// @Security BasicAuth
// @accept json
// @Produce json
// @Param data body object{ids=[]string} true "id列表"
// @Success 200 {object} response.Response "删除成功"
// @Router /order/refund/delete [post]
func (a *RefundApi) Delete(c *gin.Context) {
var req struct {
Ids []string `json:"ids" binding:"required,min=1"`
}
if err := c.ShouldBindJSON(&req); err != nil {
response.FailWithMsg("参数错误:"+err.Error(), c)
return
}
if err := refundService.Delete(req.Ids); err != nil {
global.Logger.Error("删除失败!", zap.Error(err))
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithMsg("删除成功", c)
}
// Detail
// @Tags 管理
// @Summary 获取详情
// @Security BasicAuth
// @Produce json
// @Param id query string true "ID"
// @Success 200 {object} response.Response "获取详情成功"
// @Router /order/refund/detail [get]
func (a *RefundApi) Detail(c *gin.Context) {
id := c.Query("id")
data, err := refundService.Detail(id)
if err != nil {
global.Logger.Error("获取详情失败!", zap.Error(err))
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithData(data, c)
}
// List
// @Tags 管理
// @Summary 分页获取列表
// @Security BasicAuth
// @accept json
// @Produce json
// @Param data body req.ListRefundReq true "分页参数"
// @Success 200 {object} response.Response{data=response.PageResult} "获取列表成功"
// @Router /order/refund/list [post]
func (a *RefundApi) List(c *gin.Context) {
var r req.ListRefundReq
if err := c.ShouldBindJSON(&r); err != nil {
response.FailWithMsg("参数错误:"+err.Error(), c)
return
}
list, total, err := refundService.List(r)
if err != nil {
global.Logger.Error("获取列表失败!", zap.Error(err))
response.FailWithMsg(err.Error(), c)
return
}
response.OkWithData(response.PageResult{
List: list,
Total: total,
Page: r.Current,
PageSize: r.PageSize,
}, c)
}