|
|
@@ -35,6 +35,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.TransactionDefinition;
|
|
|
import org.springframework.transaction.TransactionStatus;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import javax.sip.InvalidArgumentException;
|
|
|
@@ -537,29 +538,17 @@ public class DeviceServiceImpl implements IDeviceService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public boolean delete(String deviceId) {
|
|
|
Device device = deviceMapper.getDeviceByDeviceId(deviceId);
|
|
|
if (device == null) {
|
|
|
throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到设备:" + deviceId);
|
|
|
}
|
|
|
- TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
|
|
|
- boolean result = false;
|
|
|
- try {
|
|
|
- platformChannelMapper.delChannelForDeviceId(deviceId);
|
|
|
- deviceChannelMapper.cleanChannelsByDeviceId(device.getId());
|
|
|
- if ( deviceMapper.del(deviceId) < 0 ) {
|
|
|
- //事务回滚
|
|
|
- dataSourceTransactionManager.rollback(transactionStatus);
|
|
|
- }
|
|
|
- result = true;
|
|
|
- dataSourceTransactionManager.commit(transactionStatus); //手动提交
|
|
|
- }catch (Exception e) {
|
|
|
- dataSourceTransactionManager.rollback(transactionStatus);
|
|
|
- }
|
|
|
- if (result) {
|
|
|
- redisCatchStorage.removeDevice(deviceId);
|
|
|
- }
|
|
|
- return result;
|
|
|
+ platformChannelMapper.delChannelForDeviceId(deviceId);
|
|
|
+ deviceChannelMapper.cleanChannelsByDeviceId(device.getId());
|
|
|
+ deviceMapper.del(deviceId);
|
|
|
+ redisCatchStorage.removeDevice(deviceId);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|