53 lines
1.2 KiB
Go

package controller
import (
"case-admin-api/api/dao"
"case-admin-api/api/requests"
"case-admin-api/api/responses"
"case-admin-api/api/service"
"case-admin-api/global"
"case-admin-api/utils"
"github.com/gin-gonic/gin"
)
type Export struct{}
// ExportUserRecord 用户参与记录导出
func (b *Export) ExportUserRecord(c *gin.Context) {
exportRequest := requests.ExportRequest{}
req := exportRequest.ExportUserRecord
if err := c.ShouldBind(&req); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(req); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
// 获取数据
userBehaviorRecordDao := dao.UserBehaviorRecordDao{}
userBehaviorRecords, err := userBehaviorRecordDao.GetExportUserRecordListSearch(req)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if len(userBehaviorRecords) <= 0 {
responses.FailWithMessage("无数据,不可导出", c)
return
}
// 业务处理
exportService := service.ExportService{}
ossAddress, err := exportService.ExportUserRecord(userBehaviorRecords)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.OkWithData(ossAddress, c)
}