|
|
@ -30,6 +30,7 @@ import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
@ -74,6 +75,9 @@ public class SsoServiceImpl implements SsoService { |
|
|
|
@Autowired |
|
|
|
private EpmetUserFeignClient epmetUserFeignClient; |
|
|
|
|
|
|
|
@Value("${epmet.third.urlPrefix}") |
|
|
|
private String epmetThirdUrlPrefix; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 0、入口:得到token |
|
|
|
* @Param formDTO |
|
|
@ -81,7 +85,7 @@ public class SsoServiceImpl implements SsoService { |
|
|
|
* @date 2021/1/18 下午4:59 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public SsoLoginResultDTO ssoLogin(SsoLoginFormDTO formDTO) { |
|
|
|
public SsoLoginResultDTO ssoResiLogin(SsoLoginFormDTO formDTO) { |
|
|
|
String customerId = getCustomerId(formDTO.getAppId()); |
|
|
|
//String customerId = "3a4f923665a7a07701bcb311aac9a156";
|
|
|
|
String userId = ""; |
|
|
@ -230,7 +234,7 @@ public class SsoServiceImpl implements SsoService { |
|
|
|
*/ |
|
|
|
public String getCustomerId(String appId){ |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
String customerMsgUrl = "https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/"; |
|
|
|
String customerMsgUrl = epmetThirdUrlPrefix + "/api/third/customermp/getcustomermsg/"; |
|
|
|
String data = HttpClientManager.getInstance().sendPostByJSON(customerMsgUrl + appId, JSON.toJSONString(jsonObject)).getData(); |
|
|
|
log.info("调用third服务,根据appId查询客户信息:httpclient->url:" + customerMsgUrl + ",结果->" + data); |
|
|
|
JSONObject toResult = JSON.parseObject(data); |
|
|
@ -481,10 +485,10 @@ public class SsoServiceImpl implements SsoService { |
|
|
|
//2.客户Id换取第三方apiService,根据ticket换取华为Id
|
|
|
|
Result<ThirdplatApiserviceResultDTO> apiServiceResult = operCrmOpenFeignClient.getApiServiceByCustomerId(new ApiServiceFormDTO(formDTO.getCustomerId())); |
|
|
|
if (!apiServiceResult.success()) { |
|
|
|
throw new RenException("【SSO登录】调用OperCrm获取ApiService接口失败:", apiServiceResult.getInternalMsg()); |
|
|
|
throw new RenException("【SSO enterOrg】调用OperCrm获取ApiService接口失败:", apiServiceResult.getInternalMsg()); |
|
|
|
} |
|
|
|
if (apiServiceResult.getData() == null || StringUtils.isBlank(apiServiceResult.getData().getApiServiceName())) { |
|
|
|
throw new RenException("【SSO登录】调用OperCrm获取ApiService,查询到的结果为空:", apiServiceResult.toString()); |
|
|
|
throw new RenException("【SSO enterOrg】调用OperCrm获取ApiService,查询到的结果为空:", apiServiceResult.toString()); |
|
|
|
} |
|
|
|
ThirdPlatUserInfo userInfo; |
|
|
|
try { |
|
|
@ -495,7 +499,7 @@ public class SsoServiceImpl implements SsoService { |
|
|
|
} |
|
|
|
if (null == userInfo){ |
|
|
|
throw new RenException(EpmetErrorCode.THIRD_PLAT_REQUEST_ERROR.getCode(), |
|
|
|
"【SSO登录】调用第三方平台查询用户信息失败,用户信息为空"); |
|
|
|
"【SSO enterOrg】调用第三方平台查询用户信息失败,用户信息为空"); |
|
|
|
} |
|
|
|
|
|
|
|
//3、记录staff_wechat,并记录用户激活状态,激活时间
|
|
|
|