package com.welampiot.vo; import com.welampiot.dto.SceneDTO; import com.welampiot.dto.SceneItemDTO; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.ArrayList; import java.util.List; import java.util.Map; @Data @EqualsAndHashCode(callSuper = true) public class SceneVO extends BaseVO { private Integer total; private List list; /** 主键 */ private Integer id; /** 情景ID */ private Integer nId; private String name; private String netAddress; private Integer areaId; private Integer sectionId; private String area; private String section; private String createTime; private String updateTime; private List sceneItems; private List> sceneItemMap; /** * 根据Map集合获取SceneItemDTO集合 * @param sceneItemMap map集合 * @return SceneItemDTO集合 */ public static List getSceneItemListByMap(List> sceneItemMap) { if (sceneItemMap == null || sceneItemMap.size() == 0) { return new ArrayList<>(); } List sceneItemList = new ArrayList<>(); for (Map map : sceneItemMap) { SceneItemDTO sceneItemDTO = new SceneItemDTO(); String itemId = map.get("itemId"); if (itemId == null || itemId.trim().isEmpty()) sceneItemDTO.setItemId(0); else sceneItemDTO.setItemId(Integer.parseInt(itemId)); String groupId = map.get("groupId"); if (groupId == null || groupId.trim().isEmpty()) sceneItemDTO.setGroupId(0); else sceneItemDTO.setGroupId(Integer.parseInt(groupId)); String type = map.get("type"); if (type == null || type.trim().isEmpty()) sceneItemDTO.setType(0); else sceneItemDTO.setType(Integer.parseInt(type)); String value = map.get("value"); if (value == null || value.trim().isEmpty()) sceneItemDTO.setValue(0); else sceneItemDTO.setValue(Integer.parseInt(value)); sceneItemList.add(sceneItemDTO); } return sceneItemList; } }