(@NotNull String account)
| 1568 | } |
| 1569 | |
| 1570 | private long tryRemoveLocal(@NotNull String account) throws Exception { |
| 1571 | var local = _tlocal.get(account); |
| 1572 | if (local == null) |
| 1573 | return 0; |
| 1574 | var online = getOnline(account); |
| 1575 | // 在全局数据中查找login-local,删除不存在或者版本不匹配的。 |
| 1576 | for (var e : local.getLogins().entrySet()) { |
| 1577 | var clientId = e.getKey(); |
| 1578 | var login = online != null ? online.getLogins().get(clientId) : null; |
| 1579 | if (login == null || login.getLink().getState() == eOffline |
| 1580 | || login.getLoginVersion() != e.getValue().getLoginVersion()) { |
| 1581 | var ret = removeLocalAndTrigger(account, clientId); |
| 1582 | if (ret != 0) |
| 1583 | return ret; |
| 1584 | } |
| 1585 | } |
| 1586 | return 0; |
| 1587 | } |
| 1588 | |
| 1589 | @RedirectToServer |
| 1590 | @TransactionLevelAnnotation(Level = TransactionLevel.None) |
no test coverage detected