|
@@ -251,12 +251,14 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Transactional
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean deviceUnBind(Long userId, String devId) {
|
|
|
- List<DevInfo> devInfos = devInfoService.queryDevices(userId, devId);
|
|
|
+ DevInfo devInfo = devInfoService.queryDevices(userId, devId);
|
|
|
boolean updateFlag;
|
|
|
- // 绑定人解绑
|
|
|
- if (CollectionUtils.isNotEmpty(devInfos) && !devInfos.isEmpty()) {
|
|
|
+ String logContent;
|
|
|
+
|
|
|
+ //不为空则为主绑定人解绑 为空则是被分享者解绑
|
|
|
+ if (devInfo != null) {
|
|
|
//更新设备表
|
|
|
boolean flag = devInfoService.update(null,
|
|
|
Wrappers.<DevInfo>lambdaUpdate()
|
|
@@ -265,20 +267,27 @@ public class DeviceGatewayImpl implements DeviceGateway {
|
|
|
//更新设备分享表
|
|
|
boolean flagV2 = devShareService.update(null,
|
|
|
Wrappers.<DevShare>lambdaUpdate()
|
|
|
- .set(DevShare::getState, 0)
|
|
|
- .set(DevShare::getIsDeleted, 1)
|
|
|
- .eq(DevShare::getDevId,devId));
|
|
|
+ .eq(DevShare::getDevId,devId)
|
|
|
+ .set(DevShare::getIsDeleted, BasePO.DeleteFlag.DELETED));
|
|
|
updateFlag = flag && flagV2;
|
|
|
+
|
|
|
+ //记录主绑人解绑设备
|
|
|
+ logContent = String.format("用户 %d 主绑定解绑设备 %s", userId, devId);
|
|
|
+
|
|
|
} else {
|
|
|
// 被分享者解绑
|
|
|
updateFlag = devShareService.update(null,
|
|
|
Wrappers.<DevShare>lambdaUpdate()
|
|
|
- .set(DevShare::getState, 0)
|
|
|
- .set(DevShare::getIsDeleted, 1)
|
|
|
.eq(DevShare::getDevId, devId)
|
|
|
- .eq(DevShare::getSharedUserId, userId));
|
|
|
+ .eq(DevShare::getSharedUserId, userId)
|
|
|
+ .set(DevShare::getIsDeleted, BasePO.DeleteFlag.DELETED));
|
|
|
+
|
|
|
+ //记录被分享者解绑设备
|
|
|
+ logContent = String.format("用户 %d 被分享解绑设备 %s", userId, devId);
|
|
|
}
|
|
|
|
|
|
+ // 记录操作日志
|
|
|
+ logService.saveLog(OprLogType.UNBLIND_DEVICE.getCode(), logContent);
|
|
|
return updateFlag;
|
|
|
}
|
|
|
|