作者 钟来

修改bug

... ... @@ -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));
}
... ...