diff --git a/internal/dtos/device.go b/internal/dtos/device.go index 1bc2c04..a46c2b0 100644 --- a/internal/dtos/device.go +++ b/internal/dtos/device.go @@ -171,6 +171,7 @@ type DeviceReportPropertiesValueSearchResponse struct { type DeviceAddRequest struct { DeviceId string `json:"device_id"` Name string `json:"name"` + DeviceSn string `json:"device_sn"` ProductId string `json:"product_id"` Description string `json:"description"` Platform constants.IotPlatform `json:"platform"` diff --git a/internal/hummingbird/core/application/deviceapp/deviceapp.go b/internal/hummingbird/core/application/deviceapp/deviceapp.go index 48aeb4e..4e24485 100644 --- a/internal/hummingbird/core/application/deviceapp/deviceapp.go +++ b/internal/hummingbird/core/application/deviceapp/deviceapp.go @@ -152,6 +152,7 @@ func (p *deviceApp) AddDevice(ctx context.Context, req dtos.DeviceAddRequest) (s var insertDevice models.Device insertDevice.Id = deviceId insertDevice.Name = req.Name + insertDevice.DeviceSn = req.DeviceSn insertDevice.ProductId = req.ProductId insertDevice.Platform = constants.IotPlatform_LocalIot insertDevice.DriveInstanceId = req.DriverInstanceId diff --git a/internal/hummingbird/core/controller/rpcserver/driverserver/device.go b/internal/hummingbird/core/controller/rpcserver/driverserver/device.go index 84595ce..3ccdad4 100644 --- a/internal/hummingbird/core/controller/rpcserver/driverserver/device.go +++ b/internal/hummingbird/core/controller/rpcserver/driverserver/device.go @@ -52,7 +52,7 @@ func (s *DriverDeviceServer) GetDeviceConnectStatus(ctx context.Context, request func (s *DriverDeviceServer) QueryDeviceList(ctx context.Context, request *device.QueryDeviceListRequest) (*device.QueryDeviceListResponse, error) { deviceItf := container.DeviceItfFrom(s.dic.Get) - + var platform string if request.BaseRequest.UseCloudPlatform { platform = string(constants.TransformEdgePlatformToDbPlatform(request.BaseRequest.GetCloudInstanceInfo().GetIotPlatform())) @@ -81,7 +81,7 @@ func (s *DriverDeviceServer) QueryDeviceList(ctx context.Context, request *devic func (s *DriverDeviceServer) QueryDeviceById(ctx context.Context, request *device.QueryDeviceByIdRequest) (*device.QueryDeviceByIdResponse, error) { deviceItf := container.DeviceItfFrom(s.dic.Get) - + deviceInfo, err := deviceItf.DeviceModelById(ctx, request.Id) response := new(device.QueryDeviceByIdResponse) response.BaseResponse = new(drivercommon.CommonResponse) @@ -110,13 +110,15 @@ func (s *DriverDeviceServer) CreateDevice(ctx context.Context, request *device.C response.BaseResponse.ErrorMessage = errWrapper.Message() return response, nil } - + var insertDevice dtos.DeviceAddRequest insertDevice.ProductId = productInfo.Id insertDevice.Platform = constants.IotPlatform_LocalIot insertDevice.Name = request.Device.Name + insertDevice.DeviceSn = request.Device.DeviceSn + //insertDevice.d insertDevice.DriverInstanceId = request.BaseRequest.GetDriverInstanceId() - + deviceId, err := deviceItf.AddDevice(ctx, insertDevice) if err != nil { errWrapper := errort.NewCommonEdgeXWrapper(err) diff --git a/internal/models/device.go b/internal/models/device.go index 70508a4..8a85fc6 100644 --- a/internal/models/device.go +++ b/internal/models/device.go @@ -32,6 +32,7 @@ type Device struct { CloudInstanceId string `gorm:"index;type:string;size:255;comment:云实例ID"` DriveInstanceId string `gorm:"index;type:string;size:255;comment:驱动实例ID"` Name string `gorm:"type:string;size:255;comment:名字"` + DeviceSn string `gorm:"type:string;size:255;comment:设备唯一编码"` Status constants.DeviceStatus `gorm:"type:string;size:50;comment:设备状态"` Description string `gorm:"type:text;comment:描述"` ProductId string `gorm:"type:string;size:255;comment:产品ID"`