You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
575 lines
18 KiB
575 lines
18 KiB
package v1
|
|
|
|
import (
|
|
"pure-admin/api/sys"
|
|
"pure-admin/global"
|
|
"pure-admin/model/request"
|
|
"pure-admin/model/response"
|
|
"pure-admin/service"
|
|
"pure-admin/utils"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
// GetMissionDetail
|
|
// @Summary 获取任务详情
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.IdReq false "params"
|
|
// @Success 200 {object} model.MissionDetail "{"code": 200, "data": {}}"
|
|
// @Router /mission/mission [get]
|
|
func GetMissionDetail(c *gin.Context) {
|
|
var info request.IdReq
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err, data := service.GetMissionDetail(info.ID); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithData(data, c)
|
|
}
|
|
}
|
|
|
|
// GetMissionList
|
|
// @Summary 获取任务列表
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.SearchMission false "params"
|
|
// @Success 200 {object} response.PageResult "{"code": 200, "data": {}}"
|
|
// @Router /mission/mission-list [get]
|
|
func GetMissionList(c *gin.Context) {
|
|
var info request.SearchMission
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info.PageInfo, utils.PageInfoVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
//if timeZone := c.GetHeader("Time-Zone"); timeZone != "" {
|
|
// info.TimeZone, _ = time.LoadLocation(timeZone)
|
|
//} else {
|
|
// info.TimeZone = time.Local
|
|
//}
|
|
if err, list, total := service.GetMissionList(info); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionVideoList
|
|
// @Summary 获取任务视频列表
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.SearchMissionVideo false "params"
|
|
// @Success 200 {array} response.MissionVideoResponse "{"code": 200, "data": {}}"
|
|
// @Router /mission/video-list [get]
|
|
func GetMissionVideoList(c *gin.Context) {
|
|
var info request.SearchMissionVideo
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info.PageInfo, utils.PageInfoVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
//info.VideoStatus = 2 //仅查询审核通过状态的视频列表
|
|
if err, list, total := service.GetMissionVideoList(info); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// AddMissionVideo
|
|
// @Summary 创建任务视频
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data body request.AddMissionVideo false "params"
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
|
|
// @Router /mission/add-video [post]
|
|
func AddMissionVideo(c *gin.Context) {
|
|
var info request.AddMissionVideo
|
|
_ = c.ShouldBindJSON(&info)
|
|
if err := service.AddMissionVideo(sys.GetUserUuid(c), info); err != nil {
|
|
global.MG_LOG.Error("创建失败!", zap.Any("err", err))
|
|
response.FailWithMessage("创建失败", c)
|
|
} else {
|
|
response.OkWithMessage("创建成功", c)
|
|
}
|
|
}
|
|
|
|
// EditMissionVideo
|
|
// @Summary 编辑任务视频
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data body request.EditMissionVideo false "params"
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"编辑成功"}"
|
|
// @Router /mission/edit-video [put]
|
|
func EditMissionVideo(c *gin.Context) {
|
|
var info request.EditMissionVideo
|
|
_ = c.ShouldBindJSON(&info)
|
|
if err := service.EditMissionVideo(sys.GetUserUuid(c), info); err != nil {
|
|
global.MG_LOG.Error("编辑失败!", zap.Any("err", err))
|
|
response.FailWithMessage("编辑失败", c)
|
|
} else {
|
|
response.OkWithMessage("编辑成功", c)
|
|
}
|
|
}
|
|
|
|
// AddMissionRecommend
|
|
// @Summary 创建任务推荐关联
|
|
// @Description
|
|
// @Tags mission/recommend
|
|
// @Security ApiKeyAuth
|
|
// @Param data body request.AddMissionRecommend false "params"
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
|
|
// @Router /mission/recommend/add-data [post]
|
|
func AddMissionRecommend(c *gin.Context) {
|
|
var p request.AddMissionRecommend
|
|
var err error
|
|
err = c.ShouldBindJSON(&p)
|
|
if err != nil {
|
|
response.OkWithMessage("创建失败,参数错误", c)
|
|
return
|
|
}
|
|
|
|
if err = service.AddMissionRecommend(&p, sys.GetUserUuid(c)); err != nil {
|
|
global.MG_LOG.Error("创建失败!", zap.Any("err", err))
|
|
response.FailWithMessage("创建失败,"+err.Error(), c)
|
|
} else {
|
|
response.OkWithMessage("创建成功", c)
|
|
}
|
|
}
|
|
|
|
// BatchDelMissionRecommendByIds
|
|
// @Tags mission/recommend
|
|
// @Summary 批量删除任务推荐关联
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data body request.IdsUReq true "ids"
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
|
|
// @Router /mission/recommend/batch-del-data [delete]
|
|
func BatchDelMissionRecommendByIds(c *gin.Context) {
|
|
var (
|
|
err error
|
|
param request.IdsUReq
|
|
)
|
|
_ = c.ShouldBindJSON(¶m)
|
|
if err = service.DeleteMissionRecommendByIds(param); err != nil {
|
|
//global.MG_LOG.Error("批量删除失败!", zap.Any("err", err))
|
|
response.FailWithMessage("批量删除失败", c)
|
|
} else {
|
|
response.OkWithMessage("批量删除成功", c)
|
|
}
|
|
}
|
|
|
|
// MissionRecommendUpData
|
|
// @Tags mission/recommend
|
|
// @Summary 上移任务推荐排序
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data body request.IdReq true "id,page,pageSize..."
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"操作成功"}"
|
|
// @Router /mission/recommend/up-data [put]
|
|
func MissionRecommendUpData(c *gin.Context) {
|
|
var (
|
|
err error
|
|
param request.IdReq
|
|
)
|
|
_ = c.ShouldBindJSON(¶m)
|
|
if err = utils.Verify(param, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err = service.MissionRecommendUpData(param, c); err != nil {
|
|
//global.MG_LOG.Error("操作失败!", zap.Any("err", err))
|
|
response.FailWithMessage("操作失败", c)
|
|
} else {
|
|
response.OkWithMessage("操作成功", c)
|
|
}
|
|
}
|
|
|
|
// MissionRecommendDownData
|
|
// @Tags mission/recommend
|
|
// @Summary 上移任务推荐排序
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data body request.IdReq true "id"
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"操作成功"}"
|
|
// @Router /mission/recommend/down-data [put]
|
|
func MissionRecommendDownData(c *gin.Context) {
|
|
var (
|
|
err error
|
|
param request.IdReq
|
|
)
|
|
_ = c.ShouldBindJSON(¶m)
|
|
if err = utils.Verify(param, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err = service.MissionRecommendDownData(param, c); err != nil {
|
|
//global.MG_LOG.Error("操作失败!", zap.Any("err", err))
|
|
response.FailWithMessage("操作失败", c)
|
|
} else {
|
|
response.OkWithMessage("操作成功", c)
|
|
}
|
|
}
|
|
|
|
// MissionRecommendDownData
|
|
// @Tags mission/recommend
|
|
// @Summary 修改任务推荐排序
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data body global.BASE_ID_SORT true "id"
|
|
// @Success 200 {string} string "{"success":true,"data":{},"msg":"操作成功"}"
|
|
// @Router /mission/recommend/update-sort [put]
|
|
func UpdateMissionRecommendSort(c *gin.Context) {
|
|
var (
|
|
err error
|
|
param global.BASE_ID_SORT
|
|
)
|
|
_ = c.ShouldBindJSON(¶m)
|
|
if err = utils.Verify(param, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err = service.UpdateMissionRecommendSort(param); err != nil {
|
|
//global.MG_LOG.Error("操作失败!", zap.Any("err", err))
|
|
response.FailWithMessage("操作失败", c)
|
|
} else {
|
|
response.OkWithMessage("操作成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionRecommendList
|
|
// @Tags mission/recommend
|
|
// @Summary 分页获取任务推荐列表
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data query request.SearchMission true "data"
|
|
// @Success 200 {object} []response.MissionRecommendResponse "{"success":true,"data":{},"msg":"获取成功"}"
|
|
// @Router /mission/recommend/list [get]
|
|
func GetMissionRecommendList(c *gin.Context) {
|
|
var (
|
|
err error
|
|
list interface{}
|
|
total int64
|
|
params request.SearchMission
|
|
)
|
|
_ = c.ShouldBindQuery(¶ms)
|
|
if err, list, total = service.GetMissionRecommendList(params); err != nil {
|
|
////global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionClaimVideoDetail
|
|
// @Summary 任务视频审核详情【v1.0】
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.IdReq false "params"
|
|
// @Success 200 {array} response.MissionClaimVideoDetail "{"code": 200, "data": {}}"
|
|
// @Router /mission/claim-video-detail [get]
|
|
func GetMissionClaimVideoDetail(c *gin.Context) {
|
|
var info request.IdReq
|
|
_ = c.ShouldBindQuery(&info)
|
|
|
|
if err := utils.Verify(info, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err, res := service.GetMissionClaimVideoDetail(info.ID); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(res, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionStopList
|
|
// @Tags mission
|
|
// @Summary 分页获取任务结束申请列表
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data query request.SearchStopMission true "data"
|
|
// @Success 200 {array} response.MissionStopData "{"success":true,"data":{},"msg":"获取成功"}"
|
|
// @Router /mission/stop-list [get]
|
|
func GetMissionStopList(c *gin.Context) {
|
|
var (
|
|
err error
|
|
list []response.MissionStopData
|
|
total int64
|
|
params request.SearchStopMission
|
|
)
|
|
_ = c.ShouldBindQuery(¶ms)
|
|
if err, list, total = service.GetMissionStopList(params); err != nil {
|
|
////global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionStopDetail
|
|
// @Tags mission
|
|
// @Summary 获取任务结束详情
|
|
// @Security ApiKeyAuth
|
|
// @accept application/json
|
|
// @Produce application/json
|
|
// @Param data query request.IdReq true "data"
|
|
// @Success 200 {object} response.MissionStopData "{"success":true,"data":{},"msg":"获取成功"}"
|
|
// @Router /mission/stop-detail [get]
|
|
func GetMissionStopDetail(c *gin.Context) {
|
|
var (
|
|
err error
|
|
data response.MissionStopData
|
|
params request.IdReq
|
|
)
|
|
_ = c.ShouldBindQuery(¶ms)
|
|
if err, data = service.GetMissionStopDetail(params); err != nil {
|
|
////global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(data, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// StopMission
|
|
// @Summary 结束任务
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data body request.IdReq false "params"
|
|
// @Success 200 {string} string "{"code": 200, "data": {}}"
|
|
// @Router /mission/stop [put]
|
|
func StopMission(c *gin.Context) {
|
|
var info request.IdReq
|
|
_ = c.ShouldBindJSON(&info)
|
|
if err := utils.Verify(info, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err := service.StopMission(sys.GetUserUuid(c), info); err != nil {
|
|
global.MG_LOG.Error("操作失败!", zap.Any("err", err))
|
|
response.FailWithMessage("操作失败,"+err.Error(), c)
|
|
} else {
|
|
response.OkWithMessage("操作成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionClaimList
|
|
// @Summary 获取任务领取列表
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.SearchMissionClaim false "params"
|
|
// @Success 200 {array} response.MissionClaimSimpleData "{"code": 200, "data": {}}"
|
|
// @Router /mission/claim-list [get]
|
|
func GetMissionClaimList(c *gin.Context) {
|
|
var info request.SearchMissionClaim
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info.PageInfo, utils.PageInfoVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err, list, total := service.GetMissionClaimList(info); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// GetSysRewardList
|
|
// @Summary 获取平台奖励列表【v1.0】
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.SearchSysReward false "params"
|
|
// @Success 200 {array} model.SysMissionReward "{"code": 200, "data": {}}"
|
|
// @Router /mission/sys-reward-list [get]
|
|
func GetSysRewardList(c *gin.Context) {
|
|
var info request.SearchSysReward
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info.PageInfo, utils.PageInfoVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
//uuid := sys.GetUserUuid(c)
|
|
if err, list, total := service.GetSysMissionRewardList(info); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// SendSysReward
|
|
// @Summary 发送系统任务奖励
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data body request.IdReq false "params"
|
|
// @Success 200 {string} string "{"code": 200, "data": {}}"
|
|
// @Router /mission/send-sys-reward [post]
|
|
func SendSysReward(c *gin.Context) {
|
|
var info request.IdReq
|
|
_ = c.ShouldBindJSON(&info)
|
|
if err := utils.Verify(info, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err := service.SendSysMissionReward(sys.GetUserUuid(c), info); err != nil {
|
|
global.MG_LOG.Error("操作失败!", zap.Any("err", err))
|
|
response.FailWithMessage("操作失败,"+err.Error(), c)
|
|
} else {
|
|
response.OkWithMessage("操作成功", c)
|
|
}
|
|
}
|
|
|
|
// MissionTagRelation
|
|
// @Summary 打标签
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data body request.CreateMissionTagRelation false "params"
|
|
// @Success 200 {string} string "{"code": 200, "data": {}}"
|
|
// @Router /mission/tag-relation [post]
|
|
func MissionTagRelation(c *gin.Context) {
|
|
var info request.CreateMissionTagRelation
|
|
_ = c.ShouldBindJSON(&info)
|
|
if err := utils.Verify(info, utils.IdVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err := service.CreateMissionTagRelation(info, sys.GetUserUuid(c)); err != nil {
|
|
global.MG_LOG.Error("操作失败!", zap.Any("err", err))
|
|
response.FailWithMessage("操作失败,"+err.Error(), c)
|
|
} else {
|
|
response.OkWithMessage("操作成功", c)
|
|
}
|
|
}
|
|
|
|
// GetInfluencerMissionSummaryList
|
|
// @Summary 获取网红任务统计列表
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.InfluencerSummaryListParam false "params"
|
|
// @Success 200 {array} model.MissionClaimSummary "{"code": 200, "data": {}}"
|
|
// @Router /mission/influencer-summary-list [get]
|
|
func GetInfluencerMissionSummaryList(c *gin.Context) {
|
|
var info request.InfluencerSummaryListParam
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info.PageInfo, utils.PageInfoVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
//info.VideoStatus = 2 //仅查询审核通过状态的视频列表
|
|
if err, list, total := service.GetInfluencerSummaryList(info); err != nil {
|
|
//global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage(err.Error(), c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|
|
// GetMissionClaimOrder
|
|
// @Summary 获取任务订单详情【v1.0】
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.OrderId false "params"
|
|
// @Success 200 {object} response.MissionClaimOrderResponse "{"code": 200, "data": {}}"
|
|
// @Router /mission/claim-order [get]
|
|
func GetMissionClaimOrder(c *gin.Context) {
|
|
var info request.OrderId
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info, utils.OrderIDVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err, data := service.GetMissionClaimOrder(info.OrderID); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithData(response.MissionClaimOrderResponse{Order: data}, c)
|
|
}
|
|
}
|
|
|
|
// GetMissionClaimOrderList
|
|
// @Summary 获取任务订单列表【v1.0】
|
|
// @Description
|
|
// @Tags mission
|
|
// @Security ApiKeyAuth
|
|
// @Param data query request.SearchMissionClaimOrder false "params"
|
|
// @Success 200 {array} model.MissionClaimOrderDetail "{"code": 200, "data": {}}"
|
|
// @Router /mission/claim-order-list [get]
|
|
func GetMissionClaimOrderList(c *gin.Context) {
|
|
var info request.SearchMissionClaimOrder
|
|
_ = c.ShouldBindQuery(&info)
|
|
if err := utils.Verify(info.PageInfo, utils.PageInfoVerify); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
if err, list, total := service.GetMissionClaimOrderList(info); err != nil {
|
|
global.MG_LOG.Error("获取失败!", zap.Any("err", err))
|
|
response.FailWithMessage("获取失败", c)
|
|
} else {
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
}
|
|
|