234 lines
5.6 KiB
Go
234 lines
5.6 KiB
Go
package controller
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/jwt"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/request"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/response"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/service/consumer_data"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/service/debug_data"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/service/realdata"
|
|
"github.com/gofiber/fiber/v2"
|
|
"strconv"
|
|
)
|
|
|
|
type RealDataController struct {
|
|
BaseController
|
|
}
|
|
|
|
//查看实时数据列表
|
|
func (this RealDataController) List(ctx *fiber.Ctx) error {
|
|
|
|
type ReqData struct {
|
|
Appid int `json:"appid"`
|
|
SearchKw string `json:"search_kw"`
|
|
Date string `json:"date"`
|
|
}
|
|
|
|
var reqData ReqData
|
|
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
appid := strconv.Itoa(reqData.Appid)
|
|
searchKw := reqData.SearchKw
|
|
date := reqData.Date
|
|
|
|
clientReportData := consumer_data.ClientReportData{
|
|
TableId: appid,
|
|
}
|
|
res, err := clientReportData.GetList(ctx.Context(), searchKw, date)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{"list": res.Hits.Hits})
|
|
}
|
|
|
|
//错误数据列表
|
|
func (this RealDataController) FailDataList(ctx *fiber.Ctx) error {
|
|
|
|
type ReqData struct {
|
|
Appid int `json:"appid"`
|
|
Minutes int `json:"minutes"`
|
|
}
|
|
|
|
var reqData ReqData
|
|
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
if reqData.Minutes == 0 {
|
|
reqData.Minutes = 10
|
|
}
|
|
|
|
realDataService := realdata.RealDataService{}
|
|
|
|
res,err := realDataService.FailDataList(reqData.Minutes,reqData.Appid)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{"list": res})
|
|
}
|
|
|
|
//抽样示例
|
|
func (this RealDataController) FailDataDesc(ctx *fiber.Ctx) error {
|
|
|
|
type ReqData struct {
|
|
StartTime string `json:"start_time"`
|
|
EndTime string `json:"end_time"`
|
|
Appid int `json:"appid"`
|
|
ErrorReason string `json:"error_reason"`
|
|
ErrorHandling string `json:"error_handling"`
|
|
ReportType string `json:"report_type"`
|
|
}
|
|
var reqData ReqData
|
|
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
startTime := reqData.StartTime
|
|
endTime := reqData.EndTime
|
|
appid := strconv.Itoa(reqData.Appid)
|
|
errorReason := reqData.ErrorReason
|
|
errorHandling := reqData.ErrorHandling
|
|
reportType := reqData.ReportType
|
|
|
|
realDataService := realdata.RealDataService{}
|
|
|
|
res,err := realDataService.FailDataDesc(appid,startTime,endTime,errorReason,errorHandling,reportType)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{"data": res})
|
|
}
|
|
|
|
//查看所有上报数据情况
|
|
func (this RealDataController) ReportCount(ctx *fiber.Ctx) error {
|
|
|
|
var err error
|
|
|
|
var reqData request.ReportCountReq
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
startTime := reqData.StartTime
|
|
endTime := reqData.EndTime
|
|
appid := strconv.Itoa(reqData.Appid)
|
|
|
|
realDataService := realdata.RealDataService{}
|
|
|
|
res,err := realDataService.ReportCount(appid,startTime,endTime)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
|
|
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{"list": res})
|
|
}
|
|
|
|
//事件失败详情
|
|
func (this RealDataController) EventFailDesc(ctx *fiber.Ctx) error {
|
|
|
|
|
|
var reqData request.EventFailDescReq
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
startTime := reqData.StartTime
|
|
endTime := reqData.EndTime
|
|
appid := strconv.Itoa(reqData.Appid)
|
|
dataName := reqData.DataName
|
|
|
|
realDataService := realdata.RealDataService{}
|
|
|
|
res,err := realDataService.EventFailDesc(appid,startTime,endTime,dataName)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{"list": res})
|
|
}
|
|
|
|
//添加DEBUG设备ID
|
|
func (this RealDataController) AddDebugDeviceID(ctx *fiber.Ctx) error {
|
|
|
|
var reqData request.AddDebugDeviceIDReq
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
appid := strconv.Itoa(reqData.Appid)
|
|
remark := reqData.Remark
|
|
deviceID := reqData.DeviceID
|
|
|
|
if deviceID == "" {
|
|
return this.Error(ctx, errors.New("设备ID不能为空"))
|
|
}
|
|
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
debugData := debug_data.DebugData{}
|
|
|
|
err :=debugData.AddDebugDeviceID(appid,deviceID,remark,c.UserID)
|
|
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.OperateSuccess, nil)
|
|
}
|
|
|
|
//删除测试设备
|
|
func (this RealDataController) DelDebugDeviceID(ctx *fiber.Ctx) error {
|
|
|
|
var reqData request.DelDebugDeviceIDReq
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
appid := strconv.Itoa(reqData.Appid)
|
|
|
|
deviceID := reqData.DeviceID
|
|
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
debugData := debug_data.DebugData{}
|
|
|
|
err :=debugData.DelDebugDeviceID(appid,deviceID,c.UserID)
|
|
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.OperateSuccess, nil)
|
|
}
|
|
|
|
//查看测试设备列表
|
|
func (this RealDataController) DebugDeviceIDList(ctx *fiber.Ctx) error {
|
|
|
|
var reqData request.DebugDeviceIDListReq
|
|
if err := ctx.BodyParser(&reqData); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
appid := reqData.Appid
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
debugData := debug_data.DebugData{}
|
|
|
|
res,err :=debugData.DebugDeviceIDList(appid,c.UserID)
|
|
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
return this.Success(ctx, response.SearchSuccess, map[string]interface{}{"list": res})
|
|
}
|