md
This commit is contained in:
parent
8765592a57
commit
dd7f6e190c
@ -26,6 +26,7 @@ import com.xdadan.erp.emis.domain.EmisWaybill;
|
||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
import com.xdadan.erp.emis.domain.vo.AddressParseResult;
|
||||
import com.xdadan.erp.emis.service.*;
|
||||
import com.xdadan.erp.emis.service.kefu.RL7moorService;
|
||||
import com.xdadan.erp.emis.service.print.IXddTplPrint;
|
||||
import com.xdadan.erp.emis.service.print.tanex.TanexPdfPrinter;
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
@ -69,6 +70,9 @@ public class EmisCommonController extends EmisBaseController
|
||||
@Autowired
|
||||
private IEmisRegionService emisRegionService;
|
||||
|
||||
@Autowired
|
||||
private RL7moorService rl7moorService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ISysConfigService configService;
|
||||
@ -971,4 +975,19 @@ public class EmisCommonController extends EmisBaseController
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(value = "/getKefuSsoToken")
|
||||
public AjaxResult getKefuSsoToken()
|
||||
{
|
||||
String token= null;
|
||||
try {
|
||||
token = rl7moorService.getSsoTokenByEmpCode(getLoginUser().getUser().getEmpCode());
|
||||
return AjaxResult.success("获取成功",token);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return AjaxResult.error("获取token异常");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import com.xdadan.erp.emis.service.EmisBaseService;
|
||||
import com.xdadan.erp.emis.service.IEmisElectronicPagService;
|
||||
import com.xdadan.erp.emis.service.IEmisRegionService;
|
||||
import com.xdadan.erp.emis.service.IEmisWaybillService;
|
||||
import com.xdadan.erp.emis.service.kefu.RL7moorService;
|
||||
import com.xdadan.erp.system.domain.SysNotice;
|
||||
import com.xdadan.erp.system.service.ISysNoticeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -57,6 +58,8 @@ public class EmisCommonToolsController extends EmisBaseController
|
||||
private EmisBaseService emisBaseService;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取app首页统计
|
||||
*/
|
||||
@ -124,4 +127,5 @@ public class EmisCommonToolsController extends EmisBaseController
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,137 @@
|
||||
package com.xdadan.erp.emis.service.kefu;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xdadan.erp.common.core.domain.entity.SysUser;
|
||||
import com.xdadan.erp.common.utils.DateUtils;
|
||||
import com.xdadan.erp.common.utils.sign.Base64;
|
||||
import com.xdadan.erp.common.utils.sign.MD5;
|
||||
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
|
||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
import com.xdadan.erp.emis.utils.HTTPHelperV3;
|
||||
import com.xdadan.erp.system.mapper.SysUserMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 容联七陌服务单点登录
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class RL7moorService {
|
||||
|
||||
private static String GET_TOKEN="https://openapis.7moor.com/v20160818/sso/getToken/T00000030515?sig=";
|
||||
private static String ACCOUNTID="T00000030515";
|
||||
private static String APISecret="81360ad0-927b-11ef-9c48-436edbca608b";
|
||||
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
/*
|
||||
账户编号(ACCOUNTID): T00000030515
|
||||
帐号APISecret: 81360ad0-927b-11ef-9c48-436edbca608b
|
||||
请求域名(HOST): https://openapis.7moor.com
|
||||
PBX 地址(proxy_url)
|
||||
cc-v4.hw.1.0 https://sh-hw-cc-v4.7moor.com
|
||||
|
||||
Content-Type:application/json;charset=utf-8;
|
||||
Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 根据员工编号获取客服token
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public String getSsoTokenByEmpCode(String empCode) throws Exception {
|
||||
SysUser sysUser=sysUserMapper.selectUserByUserName(empCode);
|
||||
String token=get7moorSsoToken(sysUser.getKefuUid(),sysUser.getKefuPwd());
|
||||
return token;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取单点登录token
|
||||
* @param clientId
|
||||
* @param clientPassword
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static String get7moorSsoToken(String clientId,String clientPassword) throws Exception {
|
||||
log.debug("===>getSsoToken==>获取单点登录token==START");
|
||||
|
||||
if(StringUtils.isEmpty(clientId) || StringUtils.isEmpty(clientPassword) ){
|
||||
log.debug("===>getSsoToken==>clientId,clientPassword is empty");
|
||||
return null;
|
||||
}
|
||||
|
||||
String timeStr= DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS,new Date());
|
||||
String authorizationStr= Base64.encode((ACCOUNTID+":"+timeStr).getBytes("utf-8"));
|
||||
String sigStr=MD5.md5(ACCOUNTID+APISecret+timeStr).toUpperCase();
|
||||
|
||||
Map headers = new HashMap<String,String>();
|
||||
headers.put("Authorization",authorizationStr);
|
||||
String postUrl=GET_TOKEN+""+sigStr;
|
||||
|
||||
/*
|
||||
"exten":"8000",
|
||||
"password":"3757ac77ab6b7cfc3249f55532e67ecd",
|
||||
"extentype":"null",
|
||||
"timeStamp":"20170417135455",
|
||||
"module":"call"
|
||||
座席登陆密码,为加密值(7moor[固定字符]+account [账户编号]+exten [坐席号]+password[坐席密码]+ timeStamp [如20170712135437]),加密方式:32位小写的md5加密
|
||||
*/
|
||||
|
||||
String encPwd= MD5.md5("7moor"+ACCOUNTID+clientId+clientPassword+timeStr);
|
||||
|
||||
JSONObject jObjPost = new JSONObject();
|
||||
jObjPost.put("exten",clientId);
|
||||
jObjPost.put("password",encPwd);
|
||||
jObjPost.put("extentype","null");
|
||||
jObjPost.put("timeStamp",timeStr);
|
||||
jObjPost.put("module","webchat");
|
||||
|
||||
log.debug("postUrl==>"+postUrl);
|
||||
log.debug("authorizationStr==>"+authorizationStr);
|
||||
log.debug("sig==>"+sigStr);
|
||||
log.debug("==>POSTJSON STR==>"+jObjPost.toJSONString());
|
||||
String restStr= HTTPHelperV3.postJson(postUrl,headers,jObjPost.toJSONString());
|
||||
log.debug("===>REST STR==>"+restStr);
|
||||
|
||||
JSONObject jResObj = JSONObject.parseObject(restStr);
|
||||
String code=jResObj.getString("code");
|
||||
String message=jResObj.getString("message");
|
||||
|
||||
if(!"200".equals(code)){
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL,message);
|
||||
}
|
||||
|
||||
String token=jResObj.getString("token");
|
||||
log.debug("===>getSsoToken==>获取单点登录token==END");
|
||||
return token;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
String token=get7moorSsoToken("8000","#Tan7080123");
|
||||
// 9ba9101b753dfc8b23586f56c41e0741
|
||||
System.out.println(token);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user