| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package com.leanwo.gateway.service;
- import java.util.List;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.leanwo.gateway.dto.AccountManagementDto;
- import com.leanwo.gateway.util.LoginContext;
- import com.leanwo.gateway.util.LoginContextUtil;
- @Service
- public class AccountManagementServiceImpl implements AccountManagementService {
- private static Logger logger = LoggerFactory.getLogger(AccountManagementServiceImpl.class);
- @Autowired
- private ProdogServer prodogServer;
- @Autowired
- private TokenService tokenService;
-
- private List<AccountManagementDto> accountManagementDtos = null;
- @Override
- public List<AccountManagementDto> loadAccountManagement(boolean force) {
- try {
- if (accountManagementDtos == null || force) {
- if (accountManagementDtos == null) {
- LoginContext loginContext = new LoginContext();
- loginContext.setAccountId(0L);
- String tempToken = tokenService.generateTempToken();
- loginContext.setToken(tempToken);
- LoginContextUtil.setLoginContext(loginContext);
- }
- accountManagementDtos = prodogServer.getAccountManagementDtoCache();
- }
- }catch(Exception ex) {
- logger.error("从Prodog-Server服务器获取账套信息失败。", ex);
- }
- return accountManagementDtos;
- }
- @Override
- public Long getAccountIdByDomainName(String domainName) {
- if (accountManagementDtos == null) {
- loadAccountManagement(true);
- }
- if (accountManagementDtos != null && accountManagementDtos.size() > 0) {
- for (AccountManagementDto accountManagementDto : accountManagementDtos) {
- if (accountManagementDto != null) {
- if (domainName.contains(accountManagementDto.getDomainName())) {
- return accountManagementDto.getAccountId();
- }
- }
- }
- }
- return 0L;
- }
- }
|