Browse Source

fix(device):修复设备分享记录更新逻辑- 调整软删除和更新操作的执行顺序- 修复设备转移服务号推送日志记录条件判断
- 确保更新时间字段在操作前后正确设置

hxd 3 weeks ago
parent
commit
2cfde62159

+ 7 - 3
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/DeviceGatewayImpl.java

@@ -1098,13 +1098,16 @@ public class DeviceGatewayImpl implements DeviceGateway {
             devShareList.forEach(devShare -> {
                 if (Objects.equals(devShare.getSharedUserId(), userInfo.getUserId())) {
                     devShare.setIsDeleted(BasePO.DeleteFlag.DELETED);  // 软删除
+                    devShare.setUpdateTime(LocalDateTime.now());
+                    devShareService.removeById(devShare);
                 } else {
                     devShare.setSharerUserId(userInfo.getUserId()); // 更新分享者用户
                     devShare.setSharerPhone(param.getPhone());
+                    devShare.setUpdateTime(LocalDateTime.now());
+                    devShareService.updateById(devShare);
                 }
-                devShare.setUpdateTime(LocalDateTime.now());  // 更新修改时间
             });
-            devShareService.updateBatchById(devShareList);  // 批量更新设备分享记录
+  // 批量更新设备分享记录
         }
         // 7.更新设备信息(设备归属转移)
         devInfo.setUpdateTime(LocalDateTime.now());  // 更新修改时间
@@ -1116,8 +1119,9 @@ public class DeviceGatewayImpl implements DeviceGateway {
             String fwhOpenId = wxRelation.getFwhOpenId();
             mqttSend.sendDeviceTransferMsg(devInfo, userInfo, fwhOpenId);
             log.info("设备转移服务号推送目标对象成功,clientId {},目标对象phone {}", devInfo.getClientId(), userInfo.getPhone());
+        } else {
+            log.info("设备转移服务号推送目标对象失败,目标对象服务号openId为空");
         }
-        log.info("设备转移服务号推送目标对象失败,目标对象服务号openId为空");
 
         // 9.记录操作日志
         String logContent = String.format(