作者 钟来

修改bug

... ... @@ -2,13 +2,17 @@ package com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.specs;
import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.EnumItemOutput;
import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.ThingsModelItemBase;
import com.zhonglai.luhui.mqtt.comm.util.DateUtils;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
import java.util.List;
@Data
public class EnumModelOutput extends ThingsModelItemBase<Object>
{
private String clas;
private List<EnumItemOutput> enumList;
@Override
... ... @@ -28,12 +32,12 @@ public class EnumModelOutput extends ThingsModelItemBase<Object>
}
for(EnumItemOutput enumItemOutput:enumList)
{
if(enumItemOutput.getValue().equals(getValue()+""))
if(String.valueOf(enumItemOutput.getValue()).equals(String.valueOf(getValue())))
{
return enumItemOutput.getText();
}
}
return getValue()+"";
return String.valueOf(getValue());
}
@Override
... ... @@ -47,6 +51,44 @@ public class EnumModelOutput extends ThingsModelItemBase<Object>
@Override
public Object getCmdView(Object object) {
return object;
if(null == clas)
{
clas = "java.lang.String";
}
return conversion(object,clas);
}
private static Object conversion(Object data ,String clas) {
try {
return stringToTarget(String.valueOf(data),Class.forName(clas));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static Object stringToTarget(String string, Class<?> t) throws Exception {
boolean nullOrEmpty = StringUtils.isEmpty(string);
if (double.class.equals(t)) {
return nullOrEmpty ? 0 : Double.parseDouble(string);
} else if (long.class.equals(t)) {
return nullOrEmpty ? 0 : Long.parseLong(string);
} else if (int.class.equals(t)) {
return nullOrEmpty ? 0 : Integer.parseInt(string);
} else if (float.class.equals(t)) {
return nullOrEmpty ? 0 : Float.parseFloat(string);
} else if (short.class.equals(t)) {
return nullOrEmpty ? 0 : Short.parseShort(string);
} else if (boolean.class.equals(t)) {
return nullOrEmpty ? 0 : Boolean.parseBoolean(string);
} else if (Date.class.equals(t)) {
return DateUtils.parseDate(string,"yyyy-mm-dd HH:mm:ss");
} else if (Number.class.isAssignableFrom(t)) {
return nullOrEmpty ? "" : t.getConstructor(String.class).newInstance(string);
} else {
return nullOrEmpty ? "" : t.getConstructor(String.class).newInstance(string);
}
}
}
... ...