|
...
|
...
|
@@ -35,6 +35,8 @@ import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.lang.reflect.ParameterizedType;
|
|
|
|
import java.lang.reflect.Type;
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
@Service
|
|
...
|
...
|
@@ -356,9 +358,15 @@ public class DeviceService { |
|
|
|
Class<ThingsModelBase> aClass = Enum.valueOf(ThingsModelDataTypeEnum.class,data_type).getaClass();
|
|
|
|
ThingsModelBase thingsModelBase = JSON.parseObject(thingsModel.getSpecs(),aClass);
|
|
|
|
thingsModelBase.conversionThingsModel(thingsModel);
|
|
|
|
thingsModelBase.addValue(jsonObject.get(skey));
|
|
|
|
Object object = jsonObject.get(skey);
|
|
|
|
Type clas = ((ParameterizedType)aClass.getGenericSuperclass()).getActualTypeArguments()[0];
|
|
|
|
if(null != object && object.getClass()!=clas)
|
|
|
|
{
|
|
|
|
return new Message(MessageCode.DEFAULT_FAIL_CODE,"参数数据类型和模型数据类型不一致");
|
|
|
|
}
|
|
|
|
thingsModelBase.addValue(object);
|
|
|
|
ThingsModelItemBase thingsModelItemBase = (ThingsModelItemBase) thingsModelBase;
|
|
|
|
jsonObject.put(skey,thingsModelItemBase.getCmdView(jsonObject.get(skey)));
|
|
|
|
jsonObject.put(skey,thingsModelItemBase.getCmdView(object));
|
|
|
|
String id = clienid+"_"+key;
|
|
|
|
logDeviceOperationList.add(dviceLogService.newLogDeviceOperation(id,thingsModelItemBase.getSaveView(),null,"远程控制"+thingsModelItemBase.getName()+"为"+thingsModelItemBase.getView(),null));
|
|
|
|
}
|
...
|
...
|
|