数字伊利集成代码提交

This commit is contained in:
zhaol 2024-10-25 16:28:16 +08:00
parent 8a72e1ce07
commit 8871a88c53
2 changed files with 21 additions and 14 deletions

View File

@ -2,6 +2,7 @@ package com.awspaas.user.apps.yili.reportform.restful;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.commons.htmlframework.HtmlPageTemplate;
import com.actionsoft.bpms.commons.login.constant.LoginConst;
import com.actionsoft.bpms.commons.pagination.SQLPagination;
import com.actionsoft.bpms.server.SSOUtil;
@ -19,10 +20,16 @@ import com.awspaas.user.apps.yili.reportform.util.RSAUtils;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static com.awspaas.user.apps.yili.reportform.util.RSAUtils.getPrivateKey;
/**
* 获取数字伊利传递过来的token进行解密生成平台自带的sid
*/
@Controller(type = HandlerType.RESTFUL, apiName = "GetTokenApi", desc = "获取tokenAPI")
public class GetTokenApi {
@ -30,6 +37,7 @@ public class GetTokenApi {
private String InterfaceUrl = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.reportform", "InterfaceUrl");
private String appkey = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.reportform", "appkey");
private String appId = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.reportform", "appId");
private String privateKey = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.reportform", "privateKey");
@ -40,24 +48,22 @@ public class GetTokenApi {
JSONObject result = new JSONObject();
String InterfaceUrl="https://ycsb-gw-uat.dcin-test.digitalyili.com/restcloud/yldata-app/v1/data-center-backend/user/info";
//String InterfaceUrl="https://ycsb-gw-uat.dcin-test.digitalyili.com/restcloud/yldata-app/v1/data-center-backend/user/info";
//获取页面传递的digitalYiliToken参数
System.out.printf("digitalYiliToken"+digitalYiliToken);
String appkey="66ebe68d2b18f0230b8b5dcb";
String appId="b7mh9o99n5";
//String appkey="66ebe68d2b18f0230b8b5dcb";
//String appId="b7mh9o99n5";
String sid = null;
String userInfo = SendPostUtils.getUserInfo(InterfaceUrl, digitalYiliToken, appkey, appId);
if(userInfo!=null){
JSONObject userInfoJson=JSONObject.parseObject(userInfo);
String data=userInfoJson.getString("data");
//调用app返回的加密数据
String appData=data;
//密钥数字伊利app提供
String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvj1rck6Vy/lTbyI4eqVmRSe6zXcaAohMdJfcaJXRNQPpWIbhDZhG9TUUN5oBGA+HnCaG3Kw7kTF0UZPu0ctUrGnH1m9Kj5Gofl1q5OY7i6Gjpw1s8VJ5nLyvBhl/xwKMO/wDFNU1fgeONi4LmxwP8DLOVNb0/7mU+Bzt2cSi0K2J9d7TntE43hk1mTs2Hv6pgRlgflmCCf2fhW7gFCQDzV2Eifbj23+ap9+p6aRdBEAuclSmZSHkpGsjKK/UFkbGJGvo+hiXT//p7cVwcqI+PEUX8SZu/oDMSly8tZ/o3AiN1atylrYBlz+gPdfDBhXQAN7D825urPV77u7VlUfQPAgMBAAECggEAMWON90HeKLSeINqSCNQxq2r2KSW3g1aVM/0LQCLLTjR6eKKx2NwtH2lOhPOUoJ3U/o86HHKTlOxavzMNkJ1BlQeyiZsVrh/DLzIARt2HchRZ93GLCDTx/ytJDv+DnFpKRRy+FbzCEJ1U6+wUnmHcoBrepppgrEyf1MxqEQ8SmWSn07B3AV3gEg+3UchcvXxJGOWfaMVVCGWGRKADqCx2sGOmS3AzeFqJeSJ5wsdyViUW8vAWrYUX8xd4cnZDaH3L8UhgjMzlka/XmI8EWmMHY02q/9xUyFpbcygmKi/JMQBz6J3RfAgSgCLvbNxwRHJ+sB3wIyR1s5OJYuWOEmycqQKBgQDZ+cjblUFINUC1OuXpNtY36E/gcB/fRzQOziz1SNdcllYqBxKW7Aa+pLy9c75kdorlB0yfmzc2RbXLzE7BuNZrmvVo07MltVOc2NZGW23bEf4+O+pDFIKnFWe5zjF4TxDHvuAIrWihPPlPXXJvYjHZYf7GMt78UcPss1pzcLgBxQKBgQDOL2VxSH7OTXoE89wadM35amMSnDGmthm6KFqCQADy5kvPfr7qxZpiVCCLsPcF9/leLcTtYzlFjTezjd7la+aaRHPFeFsjkwZhC5xHw26HBilPy0SGd0fCpci7XLbbNEY2I5JzFN1Zyj8r4WfPSItdYEzE83CChgO6lyapsQbfwwKBgQCTia15a0oXnOvify41L4fJqbW/HUWFdIV46/akQ5x5r8w8gDMF8lYSXiDePuSEzXPv14P2mDHDy2VkvzIjj3+ar/Uh8gDVKimhBWfrkWEHIeOrrhQ/OTfB7gwaSMVVQHcELF8poG4sjL/XB1I4sAc7s0emUbJ6qMFrim5TqtzxXQKBgQCEf1q+IKs0Yf9unVMtQTB3/lDqTatuiYkg4vu+xeiWLz46eiWv8woR9CPyAOfNUxxR1DG/p0rPkj9gSGQbpGpNan3HQV+4DaxEwtRMHZ+yb1gu6d4AVzirMiQ7mwn69a3E7rkW8SqJn/lWdoRiZSkB+Xd7/UCo7/wHdUioNZXIRwKBgBQPgdUaOQyOQ+KNMbV3Dug+1zxqcXNcxFM9+GdXLRWKWJ+omaVYWkBKtWaEM811mY5EQOkSUsnETV+XBOKhY9THBQLkZ7FGH5VVv6gBnrbt+Nz8JI1+qcx/D1WGemapa/0pkRDAO5+StU79oXET6i+iyMs9Y8/UFKS0L2vTa0uS";
//String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvj1rck6Vy/lTbyI4eqVmRSe6zXcaAohMdJfcaJXRNQPpWIbhDZhG9TUUN5oBGA+HnCaG3Kw7kTF0UZPu0ctUrGnH1m9Kj5Gofl1q5OY7i6Gjpw1s8VJ5nLyvBhl/xwKMO/wDFNU1fgeONi4LmxwP8DLOVNb0/7mU+Bzt2cSi0K2J9d7TntE43hk1mTs2Hv6pgRlgflmCCf2fhW7gFCQDzV2Eifbj23+ap9+p6aRdBEAuclSmZSHkpGsjKK/UFkbGJGvo+hiXT//p7cVwcqI+PEUX8SZu/oDMSly8tZ/o3AiN1atylrYBlz+gPdfDBhXQAN7D825urPV77u7VlUfQPAgMBAAECggEAMWON90HeKLSeINqSCNQxq2r2KSW3g1aVM/0LQCLLTjR6eKKx2NwtH2lOhPOUoJ3U/o86HHKTlOxavzMNkJ1BlQeyiZsVrh/DLzIARt2HchRZ93GLCDTx/ytJDv+DnFpKRRy+FbzCEJ1U6+wUnmHcoBrepppgrEyf1MxqEQ8SmWSn07B3AV3gEg+3UchcvXxJGOWfaMVVCGWGRKADqCx2sGOmS3AzeFqJeSJ5wsdyViUW8vAWrYUX8xd4cnZDaH3L8UhgjMzlka/XmI8EWmMHY02q/9xUyFpbcygmKi/JMQBz6J3RfAgSgCLvbNxwRHJ+sB3wIyR1s5OJYuWOEmycqQKBgQDZ+cjblUFINUC1OuXpNtY36E/gcB/fRzQOziz1SNdcllYqBxKW7Aa+pLy9c75kdorlB0yfmzc2RbXLzE7BuNZrmvVo07MltVOc2NZGW23bEf4+O+pDFIKnFWe5zjF4TxDHvuAIrWihPPlPXXJvYjHZYf7GMt78UcPss1pzcLgBxQKBgQDOL2VxSH7OTXoE89wadM35amMSnDGmthm6KFqCQADy5kvPfr7qxZpiVCCLsPcF9/leLcTtYzlFjTezjd7la+aaRHPFeFsjkwZhC5xHw26HBilPy0SGd0fCpci7XLbbNEY2I5JzFN1Zyj8r4WfPSItdYEzE83CChgO6lyapsQbfwwKBgQCTia15a0oXnOvify41L4fJqbW/HUWFdIV46/akQ5x5r8w8gDMF8lYSXiDePuSEzXPv14P2mDHDy2VkvzIjj3+ar/Uh8gDVKimhBWfrkWEHIeOrrhQ/OTfB7gwaSMVVQHcELF8poG4sjL/XB1I4sAc7s0emUbJ6qMFrim5TqtzxXQKBgQCEf1q+IKs0Yf9unVMtQTB3/lDqTatuiYkg4vu+xeiWLz46eiWv8woR9CPyAOfNUxxR1DG/p0rPkj9gSGQbpGpNan3HQV+4DaxEwtRMHZ+yb1gu6d4AVzirMiQ7mwn69a3E7rkW8SqJn/lWdoRiZSkB+Xd7/UCo7/wHdUioNZXIRwKBgBQPgdUaOQyOQ+KNMbV3Dug+1zxqcXNcxFM9+GdXLRWKWJ+omaVYWkBKtWaEM811mY5EQOkSUsnETV+XBOKhY9THBQLkZ7FGH5VVv6gBnrbt+Nz8JI1+qcx/D1WGemapa/0pkRDAO5+StU79oXET6i+iyMs9Y8/UFKS0L2vTa0uS";
String decryptData="";
try {
//对加密数据进行解密返回明文字符串
@ -71,18 +77,19 @@ public class GetTokenApi {
}
//转成json或者转成对象
JSONObject jsonObject = JSONObject.parseObject(decryptData);
System.out.println("解密后的json"+jsonObject);
String userCode=jsonObject.getString("userCode");
UserContext userContext = UserContext.fromUID(userCode);
String sid=userContext.getSessionId();
String sessionId = new SSOUtil().registerClientSessionNoPassword(
userCode, LoginConst.DEFAULT_LANG, "localhost",
LoginConst.DEVICE_PC);
sid=sessionId;
String portalUrl = SDK.getPortalAPI().getPortalUrl();
String url = portalUrl + "/r/w?sid=" + sid
+ "&cmd=com.actionsoft.apps.kms_mobile_home&page=search#";
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("sid", sid);
String html = "kmsMobile.html";
return HtmlPageTemplate.merge("com.awspaas.user.apps.yili.reportform", html,map);
return result.toString();
}
}