Browse Source

新增小程序家庭切换
新增小程序设备收藏

tangfudong 2 năm trước cách đây
mục cha
commit
50ecc1a6de

+ 20 - 10
data/init/spaceDevice.json

@@ -6,7 +6,8 @@
     "name": "卧室的ZGW01",
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
-    "addAt": 1654609953349
+    "addAt": 1654609953349,
+    "collect":true
   },
   {
     "id": "629f581ee0dc6d4171e1a028",
@@ -16,7 +17,8 @@
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
     "addAt": 1654609950464,
-    "useAt": 1655653227177
+    "useAt": 1655653227177,
+    "collect":true
   },
   {
     "id": "629f581ce0dc6d4171e1a027",
@@ -26,7 +28,8 @@
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
     "addAt": 1654609948550,
-    "useAt": 1655653294372
+    "useAt": 1655653294372,
+    "collect":false
   },
   {
     "id": "629f581ae0dc6d4171e1a026",
@@ -36,7 +39,8 @@
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
     "addAt": 1654609946750,
-    "useAt": 1655653552172
+    "useAt": 1655653552172,
+    "collect":false
   },
   {
     "id":  "629f5818e0dc6d4171e1a025",
@@ -46,7 +50,8 @@
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
     "addAt": 1654609944061,
-    "useAt": 1655653548172
+    "useAt": 1655653548172,
+    "collect":false
   },
   {
     "id": "629f5734e0dc6d4171e1a024",
@@ -56,7 +61,8 @@
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
     "addAt": 1654609716856,
-    "useAt": 1655653590474
+    "useAt": 1655653590474,
+    "collect":false
   },
   {
     "id": "629e1a1de0dc6d4171e1a022",
@@ -66,7 +72,8 @@
     "homeId": "629e18e96b16ad6a3e158645",
     "spaceId": "629e18fee0dc6d4171e1a021",
     "addAt": 1654528541149,
-    "useAt": 1655653255089
+    "useAt": 1655653255089,
+    "collect":false
   },
   {
     "id": "629db2e1e5a005209d182877",
@@ -76,7 +83,8 @@
     "homeId": "6238a49fecf37861bed7ad11",
     "spaceId": "62794a820b0776663635e636",
     "addAt": 1654502113734,
-    "useAt": 1655653724374
+    "useAt": 1655653724374,
+    "collect":false
   },
   {
     "id": "6280d7cd7e234141ee9d1fd2",
@@ -86,7 +94,8 @@
     "homeId": "6238a49fecf37861bed7ad11",
     "spaceId": "62794a5c0b0776663635e633",
     "addAt": 1652611021619,
-    "useAt": 1655181137254
+    "useAt": 1655181137254,
+    "collect":false
   },
   {
     "id": "6280b17d7e234141ee9d1fcf",
@@ -96,6 +105,7 @@
     "homeId": "6238a49fecf37861bed7ad11",
     "spaceId": "62794a5c0b0776663635e633",
     "addAt": 1652601213676,
-    "useAt": 1655189186348
+    "useAt": 1655189186348,
+    "collect":false
   }
 ]

+ 10 - 0
iot-common/src/main/java/cc/iotkit/common/Constants.java

@@ -174,6 +174,11 @@ public interface Constants {
          */
         String RECENT_DEVICES = "/myRecentDevices";
 
+        /**
+         * 获取用户当前收藏设备
+         */
+        String GET_COLLECT_DEVICES = "/getCollectDevices";
+
         /**
          * 我的空间设备列表
          */
@@ -199,6 +204,11 @@ public interface Constants {
          */
         String SAVE_DEVICE = "/saveDevice";
 
+        /**
+         * 收藏/取消收藏设备
+         */
+        String COLLECT_DEVICE = "/collectDevice";
+
         /**
          * 获取空间设备信息
          */

+ 2 - 0
iot-data/iot-data-service/src/main/java/cc/iotkit/data/ISpaceDeviceData.java

@@ -17,6 +17,8 @@ public interface ISpaceDeviceData extends IOwnedData<SpaceDevice, String> {
 
     List<SpaceDevice> findByUidOrderByUseAtDesc(String uid);
 
+    List<SpaceDevice> findByHomeIdAndCollect(String homeId,boolean collect);
+
     List<SpaceDevice> findByUidOrderByAddAtDesc(String uid);
 
     List<SpaceDevice> findBySpaceIdOrderByAddAtDesc(String spaceId);

+ 5 - 0
iot-data/iot-model/src/main/java/cc/iotkit/model/space/SpaceDevice.java

@@ -63,4 +63,9 @@ public class SpaceDevice implements Owned<String> {
      */
     private Long useAt;
 
+    /**
+     * 是否收藏
+     */
+    private Boolean collect;
+
 }

+ 2 - 0
iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/SpaceDeviceRepository.java

@@ -24,6 +24,8 @@ public interface SpaceDeviceRepository extends JpaRepository<TbSpaceDevice, Stri
 
     List<TbSpaceDevice> findByUidOrderByUseAtDesc(String uid);
 
+    List<TbSpaceDevice> findByHomeIdAndCollect(String homeId,boolean collect);
+
     List<TbSpaceDevice> findByUidOrderByAddAtDesc(String uid);
 
     List<TbSpaceDevice> findBySpaceIdOrderByAddAtDesc(String spaceId);

+ 5 - 0
iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbSpaceDevice.java

@@ -63,4 +63,9 @@ public class TbSpaceDevice {
      */
     private Long useAt;
 
+    /**
+     * 是否收藏
+     */
+    private Boolean collect;
+
 }

+ 5 - 0
iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/SpaceDeviceDataImpl.java

@@ -34,6 +34,11 @@ public class SpaceDeviceDataImpl implements ISpaceDeviceData {
         return SpaceDeviceMapper.toDto(spaceDeviceRepository.findByUidOrderByUseAtDesc(uid));
     }
 
+    @Override
+    public List<SpaceDevice> findByHomeIdAndCollect(String homeId,boolean collect) {
+        return SpaceDeviceMapper.toDto(spaceDeviceRepository.findByHomeIdAndCollect(homeId,collect));
+    }
+
     @Override
     public List<SpaceDevice> findByUidOrderByAddAtDesc(String uid) {
         return SpaceDeviceMapper.toDto(spaceDeviceRepository.findByUidOrderByAddAtDesc(uid));

+ 4 - 0
iot-standalone/src/main/java/cc/iotkit/manager/config/SaTokenConfigure.java

@@ -38,11 +38,15 @@ public class SaTokenConfigure implements WebMvcConfigurer {
                                 "/space/delSpace/**",
                                 "/space/saveHome/**",
                                 "/space/currentHome/**",
+                                "/space/changCurrentHome/**",
+                                "/space/getUserHomes/**",
                                 "/space/myRecentDevices/**",
                                 "/space/spaces/**",
                                 "/space/myDevices/**",
                                 "/space/findDevice/**",
                                 "/space/addDevice/**",
+                                "/space/collectDevice/**",
+                                "/space/getCollectDevices/**",
                                 "/space/saveDevice",
                                 "/space/removeDevice",
                                 "/space/setOpenUid",

+ 21 - 0
iot-standalone/src/main/java/cc/iotkit/manager/controller/SpaceController.java

@@ -42,6 +42,27 @@ public class SpaceController {
         return homeData.findByUidAndCurrent(AuthUtil.getUserId(), true);
     }
 
+    /**
+     * 取用户所有家庭
+     */
+    @GetMapping("/getUserHomes")
+    public List<Home> getUserHomes() {
+        return homeData.findByUid(AuthUtil.getUserId());
+    }
+
+    /**
+     * 切换用户当前家庭
+     */
+    @PostMapping("/changCurrentHome")
+    public void changCurrentHome(Home home) {
+        Home oldHome=homeData.findByUidAndCurrent(AuthUtil.getUserId(), true);
+        oldHome.setCurrent(false);
+        homeData.save(oldHome);
+        Home newHome=homeData.findById(home.getId());
+        newHome.setCurrent(true);
+        homeData.save(newHome);
+    }
+
     /**
      * 保存家庭信息
      */

+ 26 - 1
iot-standalone/src/main/java/cc/iotkit/manager/controller/SpaceDeviceController.java

@@ -15,6 +15,7 @@ import cc.iotkit.data.*;
 import cc.iotkit.manager.model.vo.FindDeviceVo;
 import cc.iotkit.manager.model.vo.SpaceDeviceVo;
 import cc.iotkit.manager.service.DataOwnerService;
+import cc.iotkit.model.space.Home;
 import cc.iotkit.utils.AuthUtil;
 import cc.iotkit.model.UserInfo;
 import cc.iotkit.model.device.DeviceInfo;
@@ -52,6 +53,8 @@ public class SpaceDeviceController {
     @Qualifier("spaceDataCache")
     private ISpaceData spaceData;
     @Autowired
+    private IHomeData homeData;
+    @Autowired
     private DataOwnerService dataOwnerService;
     @Autowired
     private IUserInfoData userInfoData;
@@ -65,6 +68,27 @@ public class SpaceDeviceController {
         return spaceDevices.stream().map((this::parseSpaceDevice)).collect(Collectors.toList());
     }
 
+    /**
+     * 获取用户收藏设备列表
+     */
+    @GetMapping(Constants.API_SPACE.GET_COLLECT_DEVICES)
+    public List<SpaceDeviceVo> getCollectDevices() {
+        Home home=homeData.findByUidAndCurrent(AuthUtil.getUserId(), true);
+        List<SpaceDevice> spaceDevices = spaceDeviceData.findByHomeIdAndCollect(home.getId(),true);
+        return spaceDevices.stream().map((this::parseSpaceDevice)).collect(Collectors.toList());
+    }
+
+    /**
+     *
+     * 收藏/取消收藏设备
+     */
+    @PostMapping(Constants.API_SPACE.COLLECT_DEVICE)
+    public void collectDevice(SpaceDevice spaceDevice) {
+        SpaceDevice oldSpaceDevice=spaceDeviceData.findByDeviceId(spaceDevice.getDeviceId());
+        oldSpaceDevice.setCollect(spaceDevice.getCollect());
+        spaceDeviceData.save(oldSpaceDevice);
+    }
+
     /**
      * 我的空间设备列表-按空间获取
      *
@@ -107,6 +131,7 @@ public class SpaceDeviceController {
                 .online(state != null && state.isOnline())
                 .property(device.getProperty())
                 .uid(sd.getUid())
+                .collect(sd.getCollect())
                 .build();
     }
 
@@ -173,7 +198,7 @@ public class SpaceDeviceController {
         return findDeviceVo;
     }
 
-    /**
+    /**REMOVE_DEVICE
      * 往指定房间中添加设备
      */
     @PostMapping(Constants.API_SPACE.ADD_DEVICE)

+ 5 - 0
iot-standalone/src/main/java/cc/iotkit/manager/model/vo/SpaceDeviceVo.java

@@ -89,4 +89,9 @@ public class SpaceDeviceVo {
      * 品类名
      */
     private String categoryName;
+
+    /**
+     * 是否收藏
+     */
+    private Boolean collect;
 }