正在显示
1 个修改的文件
包含
45 行增加
和
3 行删除
| @@ -2,13 +2,17 @@ package com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.specs; | @@ -2,13 +2,17 @@ package com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.specs; | ||
| 2 | 2 | ||
| 3 | import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.EnumItemOutput; | 3 | import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.EnumItemOutput; |
| 4 | import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.ThingsModelItemBase; | 4 | import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.ThingsModelItemBase; |
| 5 | +import com.zhonglai.luhui.mqtt.comm.util.DateUtils; | ||
| 5 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | +import org.apache.commons.lang3.StringUtils; | ||
| 6 | 8 | ||
| 9 | +import java.util.Date; | ||
| 7 | import java.util.List; | 10 | import java.util.List; |
| 8 | 11 | ||
| 9 | @Data | 12 | @Data |
| 10 | public class EnumModelOutput extends ThingsModelItemBase<Object> | 13 | public class EnumModelOutput extends ThingsModelItemBase<Object> |
| 11 | { | 14 | { |
| 15 | + private String clas; | ||
| 12 | private List<EnumItemOutput> enumList; | 16 | private List<EnumItemOutput> enumList; |
| 13 | 17 | ||
| 14 | @Override | 18 | @Override |
| @@ -28,12 +32,12 @@ public class EnumModelOutput extends ThingsModelItemBase<Object> | @@ -28,12 +32,12 @@ public class EnumModelOutput extends ThingsModelItemBase<Object> | ||
| 28 | } | 32 | } |
| 29 | for(EnumItemOutput enumItemOutput:enumList) | 33 | for(EnumItemOutput enumItemOutput:enumList) |
| 30 | { | 34 | { |
| 31 | - if(enumItemOutput.getValue().equals(getValue()+"")) | 35 | + if(String.valueOf(enumItemOutput.getValue()).equals(String.valueOf(getValue()))) |
| 32 | { | 36 | { |
| 33 | return enumItemOutput.getText(); | 37 | return enumItemOutput.getText(); |
| 34 | } | 38 | } |
| 35 | } | 39 | } |
| 36 | - return getValue()+""; | 40 | + return String.valueOf(getValue()); |
| 37 | } | 41 | } |
| 38 | 42 | ||
| 39 | @Override | 43 | @Override |
| @@ -47,6 +51,44 @@ public class EnumModelOutput extends ThingsModelItemBase<Object> | @@ -47,6 +51,44 @@ public class EnumModelOutput extends ThingsModelItemBase<Object> | ||
| 47 | 51 | ||
| 48 | @Override | 52 | @Override |
| 49 | public Object getCmdView(Object object) { | 53 | public Object getCmdView(Object object) { |
| 50 | - return object; | 54 | + if(null == clas) |
| 55 | + { | ||
| 56 | + clas = "java.lang.String"; | ||
| 57 | + } | ||
| 58 | + return conversion(object,clas); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + private static Object conversion(Object data ,String clas) { | ||
| 62 | + try { | ||
| 63 | + return stringToTarget(String.valueOf(data),Class.forName(clas)); | ||
| 64 | + } catch (Exception e) { | ||
| 65 | + e.printStackTrace(); | ||
| 66 | + } | ||
| 67 | + return null; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + private static Object stringToTarget(String string, Class<?> t) throws Exception { | ||
| 71 | + boolean nullOrEmpty = StringUtils.isEmpty(string); | ||
| 72 | + | ||
| 73 | + if (double.class.equals(t)) { | ||
| 74 | + return nullOrEmpty ? 0 : Double.parseDouble(string); | ||
| 75 | + } else if (long.class.equals(t)) { | ||
| 76 | + return nullOrEmpty ? 0 : Long.parseLong(string); | ||
| 77 | + } else if (int.class.equals(t)) { | ||
| 78 | + return nullOrEmpty ? 0 : Integer.parseInt(string); | ||
| 79 | + } else if (float.class.equals(t)) { | ||
| 80 | + return nullOrEmpty ? 0 : Float.parseFloat(string); | ||
| 81 | + } else if (short.class.equals(t)) { | ||
| 82 | + return nullOrEmpty ? 0 : Short.parseShort(string); | ||
| 83 | + } else if (boolean.class.equals(t)) { | ||
| 84 | + return nullOrEmpty ? 0 : Boolean.parseBoolean(string); | ||
| 85 | + } else if (Date.class.equals(t)) { | ||
| 86 | + return DateUtils.parseDate(string,"yyyy-mm-dd HH:mm:ss"); | ||
| 87 | + } else if (Number.class.isAssignableFrom(t)) { | ||
| 88 | + return nullOrEmpty ? "" : t.getConstructor(String.class).newInstance(string); | ||
| 89 | + } else { | ||
| 90 | + return nullOrEmpty ? "" : t.getConstructor(String.class).newInstance(string); | ||
| 91 | + } | ||
| 92 | + | ||
| 51 | } | 93 | } |
| 52 | } | 94 | } |
-
请 注册 或 登录 后发表评论