初始
This commit is contained in:
125
internal/app/system/controller/manage_device.go
Normal file
125
internal/app/system/controller/manage_device.go
Normal file
@ -0,0 +1,125 @@
|
||||
// ==========================================================================
|
||||
// GFast自动生成controller操作代码。
|
||||
// 生成日期:2023-11-14 10:53:21
|
||||
// 生成路径: internal/app/system/controller/manage_device.go
|
||||
// 生成人:gfast
|
||||
// desc:设备信息
|
||||
// company:云南奇讯科技有限公司
|
||||
// ==========================================================================
|
||||
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/tiger1103/gfast/v3/api/v1/system"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/model"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/service"
|
||||
"github.com/tiger1103/gfast/v3/library/liberr"
|
||||
"github.com/tiger1103/gfast/v3/third/plane/mqtt"
|
||||
)
|
||||
|
||||
type manageDeviceController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
var ManageDevice = new(manageDeviceController)
|
||||
|
||||
// List 列表
|
||||
func (c *manageDeviceController) List(ctx context.Context, req *system.ManageDeviceSearchReq) (res *system.ManageDeviceSearchRes, err error) {
|
||||
res, err = service.ManageDevice().List(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// NoPageList 不分页列表
|
||||
func (c *manageDeviceController) NoPageList(ctx context.Context, req *system.NoPageListSearchReq) (res *system.NoPageListSearchRes, err error) {
|
||||
res, err = service.ManageDevice().NoPageList(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// Get 获取设备信息
|
||||
func (c *manageDeviceController) Get(ctx context.Context, req *system.ManageDeviceGetReq) (res *system.ManageDeviceGetRes, err error) {
|
||||
res = new(system.ManageDeviceGetRes)
|
||||
res.ManageDeviceInfoRes, err = service.ManageDevice().GetById(ctx, req.Id)
|
||||
return
|
||||
}
|
||||
|
||||
// Add 添加设备信息
|
||||
func (c *manageDeviceController) Add(ctx context.Context, req *system.ManageDeviceAddReq) (res *system.ManageDeviceAddRes, err error) {
|
||||
err = service.ManageDevice().Add(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// Edit 修改设备信息
|
||||
func (c *manageDeviceController) Edit(ctx context.Context, req *system.ManageDeviceEditReq) (res *system.ManageDeviceEditRes, err error) {
|
||||
err = service.ManageDevice().Edit(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// Delete 删除设备信息
|
||||
func (c *manageDeviceController) Delete(ctx context.Context, req *system.ManageDeviceDeleteReq) (res *system.ManageDeviceDeleteRes, err error) {
|
||||
err = service.ManageDevice().Delete(ctx, req.Ids)
|
||||
return
|
||||
}
|
||||
|
||||
// ProductEnumerationFunc 设备产品枚举(固定的东西),目前
|
||||
func (c *manageDeviceController) ProductEnumerationFunc(ctx context.Context, req *system.ProductEnumerationFuncReq) (res *system.ProductEnumerationFuncRes, err error) {
|
||||
err = g.Try(ctx, func(ctx context.Context) {
|
||||
res = new(system.ProductEnumerationFuncRes)
|
||||
var mdi []*model.ManageDeviceDictionaryInfo
|
||||
err = g.DB().Model("manage_device_dictionary").Ctx(ctx).Where("id", 2).Scan(&mdi)
|
||||
res.List = mdi
|
||||
liberr.ErrIsNil(ctx, err, "获取失败")
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
// CameraPhotoTakeFunc 无人机抓拍
|
||||
func (c *manageDeviceController) CameraPhotoTakeFunc(ctx context.Context, req *system.CameraPhotoTakeFuncReq) (res *system.CameraPhotoTakeFuncRes, err error) {
|
||||
//0、根据航迹ID获取到当前正在执行任务的状态(是手动飞行还是自动飞行?只有手动才能拍照,因为涉及到大图合并)
|
||||
count, err := dao.ManageTaskRecord.Ctx(ctx).Where("track_id", req.TrackId).Where("is_voluntarily = 1").Count()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if count == 0 {
|
||||
err = errors.New("当前任务为定时任务,无法执行手动拍照功能!")
|
||||
return nil, err
|
||||
}
|
||||
//1、组装数据
|
||||
err, d := mqtt.Camera_photo_take(ctx, req.GatewaySn, req.PayloadIndex)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if d.Data.Result > 0 {
|
||||
err = mqtt.Geterror(d.Data.Result)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// LiveSetQualityFunc 设置直播清晰度
|
||||
func (c *manageDeviceController) LiveSetQualityFunc(ctx context.Context, req *system.LiveSetQualityReq) (res *system.LiveSetQualityRes, err error) {
|
||||
//1、组装数据
|
||||
err, d := mqtt.Live_set_quality(ctx, req.GatewaySn, req.Two, req.PayloadIndex, req.Enum)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if d.Data.Result > 0 {
|
||||
err = mqtt.Geterror(d.Data.Result)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ButtonStateFunc 调试模式按钮状态
|
||||
func (c *manageDeviceController) ButtonStateFunc(ctx context.Context, req *system.ButtonStateReq) (res *system.ButtonStateRes, err error) {
|
||||
res = new(system.ButtonStateRes)
|
||||
var be *model.ButtonEntity
|
||||
err = g.DB().Model("manage_button_state").Where("mq_client_id", req.MqClientId).Scan(&be)
|
||||
if err != nil {
|
||||
err = errors.New("获取调试模式按钮状态失败!")
|
||||
} else {
|
||||
res.ButtonEntity = be
|
||||
}
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user