fix: preserve batch result compatibility

This commit is contained in:
2026-07-22 11:51:45 +08:00
parent a22457ce5f
commit 6d7f08bedd
3 changed files with 37 additions and 30 deletions
+2 -8
View File
@@ -767,18 +767,12 @@ func (device *Device) GetMany(ctx context.Context, names []string) ([]DeviceProp
identity := propertyIdentity{did: request.DID, siid: request.SIID, piid: request.PIID}
name := names[start+index]
if _, duplicate := duplicateIdentities[identity]; duplicate {
results[start+index] = DevicePropertyResult{
Name: name,
Err: fmt.Errorf("get properties protocol error: duplicate identity (%s,%d,%d)", request.DID, request.SIID, request.PIID),
}
results[start+index] = DevicePropertyResult{Name: name, Code: PropertyResultCodeDuplicate}
continue
}
result, ok := byIdentity[identity]
if !ok {
results[start+index] = DevicePropertyResult{
Name: name,
Err: fmt.Errorf("get properties protocol error: missing identity (%s,%d,%d)", request.DID, request.SIID, request.PIID),
}
results[start+index] = DevicePropertyResult{Name: name, Code: PropertyResultCodeMissing}
continue
}
results[start+index] = DevicePropertyResult{Name: name, Value: result.Value, Code: result.Code}