Selaa lähdekoodia

查询场景修改

wangyangyang 4 vuotta sitten
vanhempi
commit
b1de72f016

+ 17 - 4
sms_water/src/main/java/com/huaxu/service/impl/DeviceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huaxu.service.impl;
 
+import ch.qos.logback.core.joran.conditional.ElseAction;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huaxu.common.StringUtils;
 import com.huaxu.dao.DeviceMapper;
@@ -13,8 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @description
@@ -91,14 +92,26 @@ public class DeviceServiceImpl implements DeviceService {
     }
 
     @Override
-    public List<DeviceDto> selectList(DeviceDto deviceDto){
+    public List<DeviceDto> selectList(DeviceDto deviceDto) {
         LoginUser loginUser = UserUtil.getCurrentUser();
         deviceDto.setTenantId(loginUser.getTenantId());
         deviceDto.setProgramItems(loginUser.getProgramItemList());
         deviceDto.setUserType(loginUser.getType());
         //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
         deviceDto.setPermissonType(loginUser.getPermissonType());
-        return deviceMapper.selectList(deviceDto);
+        List<DeviceDto> deviceDtos = deviceMapper.selectList(deviceDto);
+        Map<Long, DeviceDto> map = new HashMap<>();
+        //数据清洗
+        if (deviceDto.getSceneId() != null) {
+            for (DeviceDto item : deviceDtos) {
+                if (!map.containsKey(item.getId())) {
+                    map.put(item.getId(), item);
+                } else {
+                    map.get(item.getId()).setSceneId(deviceDto.getSceneId());
+                }
+            }
+        }
+        return map.values().stream().collect(Collectors.toList());
     }
 
     @Override