Files
zmkgC/api/saft_hat/device.go
2025-07-07 20:11:59 +08:00

99 lines
2.7 KiB
Go

package saft_hat
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"time"
)
// 新增安全帽设备
type CreateDeviceReq struct {
g.Meta `path:"/device/create" method:"post" tags:"设备管理" summary:"创建新设备"`
DevNum string `json:"devNum" dc:"设备编号"`
DevName string `json:"devName" dc:"设备名称"`
ProjectID int64 `json:"projectId" dc:"项目ID"`
}
type CreateDeviceRes struct {
}
func (h Hat) CreateDevice(ctx context.Context, req *CreateDeviceReq) (res *CreateDeviceRes, err error) {
res = new(CreateDeviceRes)
device := g.Map{
"dev_num": req.DevNum,
"dev_name": req.DevName,
"project_id": req.ProjectID,
"create_time": time.Now(),
}
_, err = g.Model("device").Ctx(ctx).Insert(device)
if err != nil {
return res, err
}
return res, nil
}
// 获取安全帽设备列表
type DeviceListReq struct {
g.Meta `path:"/device/list" method:"get" tags:"设备管理" summary:"获取设备信息"`
ProjectId int64 `json:"projectId" dc:"项目ID"`
Page int64 `json:"page" dc:"请求的页码" v:"required"`
PageSize int64 `json:"pageSize" dc:"每页显示的条目数" v:"required"`
}
type DeviceListRes struct {
Devices []Device `json:"devices"` // 设备信息
}
func (h Hat) GetDevice(ctx context.Context, req *DeviceListReq) (res *DeviceListRes, err error) {
res = new(DeviceListRes)
offset := (req.Page - 1) * req.PageSize
var devices []Device
err = g.Model("device").Ctx(ctx).Where("project_id = ?", req.ProjectId).Offset(int(offset)).Limit(int(req.PageSize)).Scan(&devices)
if err != nil {
return nil, err
}
res.Devices = devices
return res, nil
}
// 删除设备信息
type DeleteDeviceReq struct {
g.Meta `path:"/device/delete" method:"delete" tags:"设备管理" summary:"删除设备"`
DevNum string `json:"devNum" dc:"设备编号"` // 设备编号
}
type DeleteDeviceRes struct {
}
func (h Hat) DeleteDevice(ctx context.Context, req *DeleteDeviceReq) (res *DeleteDeviceRes, err error) {
res = new(DeleteDeviceRes)
// 执行删除操作
_, err = g.Model("device").Ctx(ctx).Where("dev_num", req.DevNum).Delete()
if err != nil {
return res, err
}
return res, nil
}
// 修改安全帽的名称
type UpdateDeviceNameReq struct {
g.Meta `path:"/device/update/name" method:"post" tags:"设备管理" summary:"更新安全帽设备名称"`
DevNum string `json:"devNum" dc:"设备编号"`
DevName string `json:"devName" dc:"设备名称"`
}
type UpdateDeviceNameRes struct {
}
func (h Hat) UpdateDeviceName(ctx context.Context, req *UpdateDeviceNameReq) (res *UpdateDeviceNameRes, err error) {
res = new(UpdateDeviceNameRes)
_, err = g.Model("device").Data(g.Map{
"dev_name": req.DevName,
}).Where("dev_num", req.DevNum).Update()
if err != nil {
return res, err
}
return res, nil
}