|
|
@@ -11,6 +11,9 @@ import com.usoftchina.saas.base.Result;
|
|
|
import com.usoftchina.saas.exception.ExceptionCode;
|
|
|
import com.usoftchina.saas.utils.BeanMapper;
|
|
|
import com.usoftchina.saas.utils.StringUtils;
|
|
|
+import com.usoftchina.sso.api.SsoUserApi;
|
|
|
+import com.usoftchina.sso.dto.SsoUserSpace;
|
|
|
+import com.usoftchina.sso.dto.SsoUserSpaceList;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -19,7 +22,9 @@ import org.springframework.util.MultiValueMap;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
@Service
|
|
|
public class AccountCenterServiceImpl implements AccountCenterService {
|
|
|
@@ -29,6 +34,8 @@ public class AccountCenterServiceImpl implements AccountCenterService {
|
|
|
@Autowired
|
|
|
private AccountService accountService;
|
|
|
@Autowired
|
|
|
+ private SsoUserApi ssoUserApi;
|
|
|
+ @Autowired
|
|
|
private AccountCompanyMapper accountCompanyMapper;
|
|
|
|
|
|
private final String ACCOUNTCNETER_URL_DEV = "http://192.168.253.12:32323";
|
|
|
@@ -89,8 +96,11 @@ public class AccountCenterServiceImpl implements AccountCenterService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CompanyRspDTO> getCompanyList(String mobile) {
|
|
|
- List<CompanyRspDTO> result = new ArrayList<CompanyRspDTO>();
|
|
|
+ public Map<String, Object> getCompanyList(String mobile) {
|
|
|
+ Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
+ List<CompanyRspDTO> resultList = new ArrayList<CompanyRspDTO>();
|
|
|
+ resultMap.put("hasDefaultCompany", false);
|
|
|
+ resultMap.put("defaultCompanyId", -1);
|
|
|
//1、获取本SAAS系统的企业信息
|
|
|
List<CompanyRspDTO> companyRspDTOList = accountCompanyMapper.getCompanyListByAccountMobile(mobile);
|
|
|
//如果只有一条记录,将该企业设置为默认企业
|
|
|
@@ -99,21 +109,37 @@ public class AccountCenterServiceImpl implements AccountCenterService {
|
|
|
Long companyId = companyRspDTOList.get(0).getId();
|
|
|
accountCompanyMapper.bindDefault(accountId, companyId);
|
|
|
}
|
|
|
- result.addAll(companyRspDTOList);
|
|
|
+ resultList.addAll(companyRspDTOList);
|
|
|
//2、优软云返回的企业信息
|
|
|
- //TODO 通过接口获取优软云的企业信息
|
|
|
+ SsoUserSpaceList ssoUserSpaceList = ssoUserApi.getUserSpacesByMobile(mobile);
|
|
|
+ List<SsoUserSpace> ssoUserSpaces = ssoUserSpaceList.getSpaces();
|
|
|
|
|
|
//3、去重复
|
|
|
- /*for (CompanyRspDTO companyRspDTO : companyRspDTOList){
|
|
|
- for (CompanyBaseDTO companyBaseDTO : companyBaseDTOList){
|
|
|
- if (companyRspDTO.getName().equals(companyBaseDTO.getName())){
|
|
|
- companyBaseDTOList.remove(companyRspDTO);
|
|
|
+ for (CompanyRspDTO companyRspDTO : companyRspDTOList) {
|
|
|
+ for (SsoUserSpace ssoUserSpace : ssoUserSpaces) {
|
|
|
+ if (companyRspDTO.getName().equals(ssoUserSpace.getSpaceName())){
|
|
|
+ ssoUserSpaces.remove(ssoUserSpace);
|
|
|
}
|
|
|
}
|
|
|
+ if (companyRspDTO.isDefault_()){
|
|
|
+ resultMap.put("hasDefaultCompany", true);
|
|
|
+ resultMap.put("defaultCompanyId", companyRspDTO.getId());
|
|
|
+ }
|
|
|
}
|
|
|
- List<CompanyRspDTO> companyBaseRspDTOList = BeanMapper.mapList(companyBaseDTOList, CompanyRspDTO.class);
|
|
|
- result.addAll(companyBaseRspDTOList);*/
|
|
|
- return result;
|
|
|
+ //构造返回数据
|
|
|
+ for (SsoUserSpace ssoUserSpace : ssoUserSpaces){
|
|
|
+ CompanyRspDTO companyRspDTO = new CompanyRspDTO(
|
|
|
+ ssoUserSpace.getSpaceName(),
|
|
|
+ ssoUserSpace.getBusinessCode(),
|
|
|
+ ssoUserSpace.getRegAddress(),
|
|
|
+ false,
|
|
|
+ false,
|
|
|
+ ssoUserSpace.getSpaceUU().toString()
|
|
|
+ );
|
|
|
+ resultList.add(companyRspDTO);
|
|
|
+ }
|
|
|
+ resultMap.put("spaces", resultList);
|
|
|
+ return resultMap;
|
|
|
}
|
|
|
|
|
|
@Override
|