From 1de4be853b6901f2ffbad2c54caacb14a56f0e26 Mon Sep 17 00:00:00 2001 From: zhaol <15900249928@163.com> Date: Mon, 20 Jan 2025 13:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=80=E7=9B=91=E5=90=AC=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=A2=9E=E5=8A=A0=E7=9B=91=E6=8E=A7=E6=80=BB=E8=A3=81?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=AD=97=E6=AE=B5=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...com.awspaas.user.apps.yili.integration.jar | Bin 313490 -> 319767 bytes .../controller/GetSomeIndexController.java | 2 +- .../apps/integration/oa/OaPendComponent.java | 4 +- .../apps/integration/oa/TaskListener.java | 366 +++++++++++++++++- .../user/apps/integration/oauth/App.java | 6 +- .../user/apps/integration/oauth/AppView.java | 74 ++++ .../integration/oauth/OauthLoginView.java | 6 +- .../integration/oauth/TaskController.java | 9 +- 8 files changed, 445 insertions(+), 22 deletions(-) create mode 100644 com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/AppView.java diff --git a/com.awspaas.user.apps.yili.integration/lib/com.awspaas.user.apps.yili.integration.jar b/com.awspaas.user.apps.yili.integration/lib/com.awspaas.user.apps.yili.integration.jar index 9b10836924cd77d7a56008541d83f143066b8f1e..a823fbfc88fa926e12f5095bfc540df8cf9d73be 100644 GIT binary patch delta 43184 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 delta 36792 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 IN(Bh|A8T*Lpa1{> diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/controller/GetSomeIndexController.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/controller/GetSomeIndexController.java index fefb2702..839941b7 100644 --- a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/controller/GetSomeIndexController.java +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/controller/GetSomeIndexController.java @@ -72,7 +72,7 @@ public class GetSomeIndexController { } bo.set("WSID", "7d3ca852-a0bd-42e6-80b1-3dcea6f55083"); bo.set("RELEASE_INSTRUCTIONS", - "



 

各事业部、分(子)公司、总部各部(室):

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,现下发《xxxxxxxxxxxxxxx》,请各单位遵照执行。

特此通知。

(xxxxxxxxx)单位名称

2022年7月27日

");// 流程实例状态 + "


各事业部、分(子)公司、总部各部(室):

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,现下发《xxxxxxxxxxxxxxx》,请各单位遵照执行。

特此通知。

(xxxxxxxxx)单位名称

2022年7月27日

");// 流程实例状态 SDK.getBOAPI().create("BO_ACT_COE_PUBLISH", bo, processInstance, userContext); } diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/OaPendComponent.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/OaPendComponent.java index 736d5f61..faf551af 100644 --- a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/OaPendComponent.java +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/OaPendComponent.java @@ -135,12 +135,13 @@ public class OaPendComponent { } /** - * 发送待办 + * 发送待办 原有接口 * * @param taskInstance DD * @throws DocumentException */ public void sendOaPending(TaskInstance taskInstance, ProcessExecutionContext pec) throws IOException, DocumentException { + if("admin".equals(taskInstance.getTarget())) { return; } @@ -159,6 +160,7 @@ public class OaPendComponent { }else { xmlDatasUtil.setProcess_title(" 您有一条待办流程【"+pec.getProcessInstance().getTitle()+"】,点击进行处理"); } + }else { xmlDatasUtil.setProcess_title(" 您有一条草稿流程保存成功【"+pec.getProcessInstance().getTitle()+"】"); } diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/TaskListener.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/TaskListener.java index 49f7f65a..2ab451b5 100644 --- a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/TaskListener.java +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oa/TaskListener.java @@ -1,15 +1,27 @@ package com.awspaas.user.apps.integration.oa; import java.io.IOException; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.text.SimpleDateFormat; +import java.util.*; import javax.xml.soap.SOAPException; +import com.actionsoft.bpms.bo.engine.BO; +import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance; +import com.actionsoft.bpms.commons.login.constant.LoginConst; +import com.actionsoft.bpms.commons.mvc.view.ResponseObject; +import com.actionsoft.bpms.server.SSOUtil; +import com.actionsoft.bpms.server.UserContext; +import com.actionsoft.sdk.local.api.AppAPI; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.awspaas.user.apps.integration.XmlDatasUtil; +import com.awspaas.user.apps.integration.util.HttpClientUtils; +import org.dom4j.Document; import org.dom4j.DocumentException; +import org.dom4j.DocumentHelper; +import org.dom4j.Element; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -101,6 +113,19 @@ public class TaskListener extends ProcessPubicListener { System.out.println("复活之后的任务数据>>>>>>>>>>>>>"+pec.getProcessInstance().getStartTaskInstId()); }*/ + if(PublicEventConst.TASK_CREATE.equals(eventName)) { + try { + if(taskInstance!=null){ + String taskId=taskInstance.getId(); + updateCEO_Approve(taskId,taskInstance.getProcessInstId(),pec); + } + }catch (Exception e){ + e.printStackTrace(); + } + + } + + String appId = ""; /** * 任务创建后并且是被重新激活的数据需要发送待办数据 @@ -125,6 +150,8 @@ public class TaskListener extends ProcessPubicListener { } + + if (taskInstance == null) { return; } @@ -184,9 +211,9 @@ public class TaskListener extends ProcessPubicListener { } } } -/** - * 任务创建后事件,发送OA待办 - */ + /** + * 任务创建后事件,发送OA待办 + */ if (PublicEventConst.TASK_CREATE.equals(eventName) && (!taskInstance.getParentTaskInstId().equals(rootScopeId))) { if (eventName.equals(PublicEventConst.PROCESS_REACTIVATE)){ taskInstance = pec.getTaskInstance(); @@ -403,6 +430,127 @@ public class TaskListener extends ProcessPubicListener { component.deleteOaPending(taskId); } + + /** + * 总裁审批数据监控 + * @param taskId + * @param processId + * @param pec + * @throws IOException + * @throws DocumentException + */ + public void updateCEO_Approve(String taskId,String processId,ProcessExecutionContext pec) throws IOException, DocumentException { + BO bo_act_coe_publish1 = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(processId); + BO bo=SDK.getBOAPI().query("BO_ACT_DATA_MONITORING").detailByBindId(processId); + if(bo==null){ + String approve1=bo_act_coe_publish1.getString("CEO_APPROVE"); + if(approve1.equals("Y")){ + + ProcessInstance processInst_1 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","10036614","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常"); + BO bo_faid = new BO(); + bo_faid.set("TASKID",taskId); + bo_faid.set("APPLYUSER",bo_act_coe_publish1.getCreateUser()); + bo_faid.set("PROCESS_TITLE",pec.getProcessInstance().getTitle()); + bo_faid.set("PROCESSID",bo_act_coe_publish1.getBindId()); + SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid,processInst_1.getId(),"admin"); + + ProcessInstance processInst_2 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","00116580","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常"); + + + BO bo_faid1 = new BO(); + bo_faid1.set("TASKID",taskId); + bo_faid1.set("APPLYUSER",bo_act_coe_publish1.getCreateUser()); + bo_faid1.set("PROCESS_TITLE",pec.getProcessInstance().getTitle()); + bo_faid1.set("PROCESSID",bo_act_coe_publish1.getBindId()); + SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid1,processInst_2.getId(),"admin"); + + ProcessInstance processInst_3 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","admin","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常"); + + BO bo_faid2 = new BO(); + bo_faid2.set("TASKID",taskId); + bo_faid2.set("APPLYUSER",bo_act_coe_publish1.getCreateUser()); + bo_faid2.set("PROCESS_TITLE",pec.getProcessInstance().getTitle()); + bo_faid2.set("PROCESSID",bo_act_coe_publish1.getBindId()); + SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid2,processInst_3.getId(),"admin"); + + + + SDK.getProcessAPI().start(processInst_1); + SDK.getProcessAPI().start(processInst_2); + SDK.getProcessAPI().start(processInst_3); + + + //发送OA待办 + TaskInstance taskInstance1= SDK.getTaskAPI().getInstanceById(processInst_1.getStartTaskInstId()); + TaskInstance taskInstance2= SDK.getTaskAPI().getInstanceById(processInst_2.getStartTaskInstId()); + + + sendOaDataPending(taskInstance1,processInst_1,"10036614"); + sendOaDataPending(taskInstance2,processInst_2,"00116580"); + + + //挂起流程 + SDK.getProcessAPI().suspend(pec.getProcessInstance()); + } + BO bo1=new BO(); + bo1.set("PROCESSID",processId); + bo1.set("TASKID",taskId); + bo1.set("CEO_APPROVE",bo_act_coe_publish1.getString("CEO_APPROVE")); + SDK.getBOAPI().create("BO_ACT_DATA_MONITORING", bo1, processId, "admin"); + }else{ + String approve=bo.getString("CEO_APPROVE"); + String approve1=bo_act_coe_publish1.getString("CEO_APPROVE"); + if(approve.equals("N") && approve1.equals("Y")){ + ProcessInstance processInst_1 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","10036614","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常"); + BO bo_faid = new BO(); + bo_faid.set("TASKID",taskId); + bo_faid.set("APPLYUSER",bo_act_coe_publish1.getCreateUser()); + bo_faid.set("PROCESS_TITLE",pec.getProcessInstance().getTitle()); + bo_faid.set("PROCESSID",bo_act_coe_publish1.getBindId()); + SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid,processInst_1.getId(),"admin"); + + ProcessInstance processInst_2 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","00116580","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常"); + + + BO bo_faid1 = new BO(); + bo_faid1.set("TASKID",taskId); + bo_faid1.set("APPLYUSER",bo_act_coe_publish1.getCreateUser()); + bo_faid1.set("PROCESS_TITLE",pec.getProcessInstance().getTitle()); + bo_faid1.set("PROCESSID",bo_act_coe_publish1.getBindId()); + SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid1,processInst_2.getId(),"admin"); + + ProcessInstance processInst_3 = SDK.getProcessAPI().createProcessInstance("obj_d57df7db3e6845b3b30e7ff3cdd591c9","admin","流程标题名称为"+pec.getProcessInstance().getTitle()+"总裁数据代办异常"); + + BO bo_faid2 = new BO(); + bo_faid2.set("TASKID",taskId); + bo_faid2.set("APPLYUSER",bo_act_coe_publish1.getCreateUser()); + bo_faid2.set("PROCESS_TITLE",pec.getProcessInstance().getTitle()); + bo_faid2.set("PROCESSID",bo_act_coe_publish1.getBindId()); + SDK.getBOAPI().create("BO_ACT_DATA_CEO_MIGRATION",bo_faid2,processInst_3.getId(),"admin"); + + SDK.getProcessAPI().start(processInst_1); + SDK.getProcessAPI().start(processInst_2); + SDK.getProcessAPI().start(processInst_3); + + + //发送OA待办 + TaskInstance taskInstance1= SDK.getTaskAPI().getInstanceById(processInst_1.getStartTaskInstId()); + TaskInstance taskInstance2= SDK.getTaskAPI().getInstanceById(processInst_2.getStartTaskInstId()); + + + sendOaDataPending(taskInstance1,processInst_1,"10036614"); + sendOaDataPending(taskInstance2,processInst_2,"00116580"); + + + + //挂起流程 + SDK.getProcessAPI().suspend(pec.getProcessInstance()); + } + bo.set("CEO_APPROVE",approve1); + SDK.getBOAPI().update("BO_ACT_DATA_MONITORING",bo); + } + } + /** * 获取某个审批步骤的 数据 * @@ -461,4 +609,206 @@ public class TaskListener extends ProcessPubicListener { public String getDescription() { return "流程待办推送"; } + + + + + + + + + + + /** + * 总裁审批流程发送待办代码 + * + * @param taskInstance DD + * @throws DocumentException + */ + public void sendOaDataPending(TaskInstance taskInstance, ProcessInstance processInstance,String userno) throws IOException, DocumentException { + + if("admin".equals(taskInstance.getTarget())) { + return; + } + XmlDatasUtil xmlDatasUtil = new XmlDatasUtil(); + xmlDatasUtil.setExternal_system_ID("LCZD"); + xmlDatasUtil.setOther_system_to_do_ID(taskInstance.getId()); + BO bo_act_coe_publish = SDK.getBOAPI().query("BO_ACT_DATA_CEO_MIGRATION", true).addQuery("BINDID=", processInstance.getId()).detail(); + xmlDatasUtil.setProcess_title(" 您有一条草稿流程保存成功【"+processInstance.getTitle()+"】"); + + + //http://localhost:8089/portal/r/or?cmd=com.yili_form_page_open&processInstId=3505e654-9217-41cd-a31d-4971846b3219&taskInstId=8a71d75e-3ee0-43a2-a226-ecb01419319c&oauthName=oauthLogin&token=admin + String portalUrl = SDK.getPortalAPI().getPortalUrl(); + if (portalUrl.equals("http://10.114.11.135:8088/portal")){ + portalUrl = "https://bpm.yili.com:8088/portal/"; + } + xmlDatasUtil.setPcurl(portalUrl+"/r/or?cmd=com.yili_form_page_open&oauthName=oauthLogin&processInstId="+processInstance.getId()+"&taskInstId="+taskInstance.getId()+"&openState="+taskInstance.getState()); + xmlDatasUtil.setMobileurl(portalUrl+"/r/or?cmd=com.yili_form_page_open&corpid=wwb0ae23173b140618&appAgentId=1000014&oauthName=wechat&casaccount="+taskInstance.getTarget()+"&processInstId="+processInstance.getId()+"&taskInstId="+taskInstance.getId()+"&openState="+taskInstance.getState()); + String target = taskInstance.getTarget(); + + //System.out.println("当前账户======》》》》"+target); + BO bo_eu_oa_reson = SDK.getBOAPI().query("BO_EU_OA_RESON", true).addQuery("WORKCODE=" , target).detail(); + //System.out.println("bo>>>>>>>>>>"+bo_eu_oa_reson); + if (bo_eu_oa_reson!=null){ + xmlDatasUtil.setTo_do_login_account(bo_eu_oa_reson.getString("LOGINID")); + }else { + xmlDatasUtil.setTo_do_login_account(target); + } + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒 + String str = df.format(taskInstance.getBeginTime()); + String substring = str.substring(str.indexOf(" "), str.length()); + xmlDatasUtil.setTo_do_creation_time(substring); + xmlDatasUtil.setTo_do_completion_time(substring); + //if (taskInstance.getState()==1){ + xmlDatasUtil.setTo_do_status("0"); + //} + xmlDatasUtil.setTo_do_official_type("0"); +// if (taskInstance.getReadState()==0){ +// xmlDatasUtil.setViewtype("0"); +// }else if (taskInstance.getReadState()==1){ + xmlDatasUtil.setViewtype("0"); +// } + xmlDatasUtil.setCreatedate(str.substring(0, str.indexOf(" "))); + xmlDatasUtil.setDonedate(str.substring(0, str.indexOf(" "))); + /*String der =""; + if (taskInstance.getReadTime()!=null){ + der = df.format(taskInstance.getReadTime()); + xmlDatasUtil.setReceivedate(der.substring(0, der.indexOf(" "))); + xmlDatasUtil.setReceivetime(der.substring(der.indexOf(" "),der.length())); + }else { + der = df.format(taskInstance.getBeginTime()); + xmlDatasUtil.setReceivedate(der.substring(0, der.indexOf(" "))); + xmlDatasUtil.setReceivetime(der.substring(der.indexOf(" "),der.length())); + }*/ + xmlDatasUtil.setReceivedate(str.substring(0, str.indexOf(" "))); + xmlDatasUtil.setReceivetime(substring); + + xmlDatasUtil.setCurrentnodetype("0"); + xmlDatasUtil.setRequestcode(processInstance.getId()); + xmlDatasUtil.setCurrentnodename(SDK.getRepositoryAPI().getProcessNode(processInstance.getProcessDefId(),taskInstance.getActivityDefId()).getName()); + + // 调用App + String sourceAppId = processInstance.getAppId(); + // aslp服务地址 + String aslp = "aslp://com.actionsoft.apps.processtrends/processNodeInfoASLP"; + // 参数定义列表 + Map params = new HashMap(); + //流程实例id,必填 + params.put("processInstId", processInstance.getId()); + //,必填 + String sessionId = new SSOUtil().registerClientSessionNoPassword(userno, LoginConst.DEFAULT_LANG, "localhost", LoginConst.DEVICE_PC); + + params.put("sid", sessionId); + AppAPI appAPI = SDK.getAppAPI(); + //流程节点数据 + ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params); + String username = ""; + String userid = ""; + if (ro.isOk()){ + List list = new ArrayList(); + Object processBudgetModelList = ro.get("processBudgetModelList"); + JSONArray array = JSON.parseArray(String.valueOf(processBudgetModelList)); + + if (!array.isEmpty()){ + for(int i=0;i"+processInstance.getTitle()+"===>"+"状态码============》》》》》》》》》》》"+s); + Document document = null; + try { + document = DocumentHelper.parseText(s); + } catch (DocumentException e) { + e.printStackTrace(); + } + Element rootElement = document.getRootElement(); + //System.out.println("rootElement>>>>>>"+rootElement); + Element result = rootElement.element("Body").element("InsertTodoCominfoResponse").element("out"); + String text = result.getText(); + document = DocumentHelper.parseText(text); + Element rootElement2 = document.getRootElement(); + Element statusElement = rootElement2.element("result"); + Element messageElement = rootElement2.element("message"); + String status = statusElement.getData().toString(); + String message = messageElement.getData().toString(); + if ("success".equals(status)){ + System.out.println("发送待办成功===>"+processInstance.getTitle()+"===>"+taskInstance.getTarget()+"====>"+status+"===>"+message); + }else { + System.out.println("发送待办失败===>"+processInstance.getTitle()+"===>"+taskInstance.getTarget()+"====>"+status+"===>"+message); + } + if (s.contains("success")){ + //System.out.println("发送待办任务完成,请去OA系统上查看是否传输完成"); + }else { + //System.out.println("发送待办任务失败,请联系管理员查看是否出现错误"); + //System.out.println("错误提示>>>>>>>>>>>>"+s); + BO bo_eu_faid_data = SDK.getBOAPI().query("BO_EU_FAID_DATA", true).addQuery("TASK_ID=", taskInstance.getId()).detail(); + if (bo_eu_faid_data==null){ + + ProcessInstance processInstanceadmin = SDK.getProcessAPI().createProcessInstance("obj_ef1918ca1f9c46948f56bd5f77f4e646", "admin", UserContext.fromSessionId(userno).getUserName() + "失败更新待办"); + BO bo_faid = new BO(); + bo_faid.set("CHANGED","1"); + bo_faid.set("TASK_ID",taskInstance.getId()); + bo_faid.set("PROCESS_ID",processInstance.getId()); + UserContext userContext = UserContext.fromUID("admin"); + SDK.getBOAPI().create("BO_EU_FAID_DATA",bo_faid,processInstanceadmin,userContext); + SDK.getProcessAPI().start(processInstanceadmin); + } + } + } } diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/App.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/App.java index 2047c021..0c4223f1 100644 --- a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/App.java +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/App.java @@ -16,6 +16,7 @@ public class App { String tokenJson = ""; + //https://ycsb-priv-gw-uat.digitalyili.com/idm/ms_oauth/oauth2/endpoints/oauthservice/tokens String url = "https://idm.yili.com:7777/ms_oauth/oauth2/endpoints/oauthservice/tokens?" + "redirect_uri=" + redirect_uri + "&grant_type=authorization_code&code=" + code; @@ -24,6 +25,7 @@ public class App { //HeaderMap.put("Content-Type", "application/x-www-form-urlencoded"); HeaderMap.put("grant_type","authorization_code"); HeaderMap.put("Authorization", authoStr); + HeaderMap.put("appkey", "676a5c4adf8dd659219cb2a0"); //HeaderMap.put("accept", "*/*"); //HeaderMap.put("connection", "Keep-Alive"); System.out.println("url地址为=============="+url); @@ -40,14 +42,14 @@ public class App { public String getUserInfo(String token) { String userInfoJson = ""; String url = "https://idm.yili.com:7777/ms_oauth/resources/userprofile/me"; - + String authoStr = token; HashMap HeaderMap = new HashMap(); HeaderMap.put("Content-Type", "application/x-www-form-urlencoded"); HeaderMap.put("Authorization", authoStr); HeaderMap.put("accept", "*/*"); HeaderMap.put("connection", "Keep-Alive"); - + HeaderMap.put("appkey", "676a5c4adf8dd659219cb2a0"); // do request get userInfoJson = HttpJavaUtil.doGet(url, HeaderMap); System.out.println(userInfoJson); diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/AppView.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/AppView.java new file mode 100644 index 00000000..bad5d142 --- /dev/null +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/AppView.java @@ -0,0 +1,74 @@ +package com.awspaas.user.apps.integration.oauth; + +import org.apache.commons.codec.binary.Base64; + +import java.io.UnsupportedEncodingException; +import java.util.HashMap; + + +public class AppView { + // Basic testClient:qwertyuio0987654rfg :: Basic ??? + static String clientId = "oaprocess"; + static String clientSecret = "qwer1234"; + + // http://cs.idm.yili.com:7777/ms_oauth/oauth2/endpoints/oauthservice/tokens?redirect_uri=http://192.168.88.100:8080/ecs-console/&grant_type=authorization_code&code= + // 获取授权Token接口(authorization_code模式) + public String getTokens(String redirect_uri, String code) { + String tokenJson = ""; + + + //https://ycsb-priv-gw-uat.digitalyili.com/idm/ms_oauth/oauth2/endpoints/oauthservice/tokens + String url = "https://ycsb-priv-gw-uat.digitalyili.com/idm/ms_oauth/oauth2/endpoints/oauthservice/tokens?" + "redirect_uri=" + + redirect_uri + "&grant_type=authorization_code&code=" + code; + + String authoStr = geAuthorization(clientId, clientSecret); + HashMap HeaderMap = new HashMap(); + //HeaderMap.put("Content-Type", "application/x-www-form-urlencoded"); + HeaderMap.put("grant_type","authorization_code"); + HeaderMap.put("Authorization", authoStr); + HeaderMap.put("appkey", "676a5c4adf8dd659219cb2a0"); + //HeaderMap.put("accept", "*/*"); + //HeaderMap.put("connection", "Keep-Alive"); + System.out.println("url地址为=============="+url); + System.out.println("参数为=============="+HeaderMap); + // do request + + + tokenJson = HttpJavaUtil.doPost(url, "", HeaderMap); + System.out.println(tokenJson); + return tokenJson; + + } + + public String getUserInfo(String token) { + String userInfoJson = ""; + String url = "https://ycsb-priv-gw-uat.digitalyili.com/idm/ms_oauth/resources/userprofile/me"; + + String authoStr = token; + HashMap HeaderMap = new HashMap(); + HeaderMap.put("Content-Type", "application/x-www-form-urlencoded"); + HeaderMap.put("Authorization", authoStr); + HeaderMap.put("accept", "*/*"); + HeaderMap.put("connection", "Keep-Alive"); + HeaderMap.put("appkey", "676a5c4adf8dd659219cb2a0"); + // do request get + userInfoJson = HttpJavaUtil.doGet(url, HeaderMap); + System.out.println(userInfoJson); + return userInfoJson; + } + + public String geAuthorization(String clientId, String clientSecret) { + try { + byte[] key = (clientId + ":" + clientSecret).getBytes("utf-8"); + String cc = new String(Base64.encodeBase64(key), "utf-8"); + // String cc = new String(java.util.Base64.getEncoder().encode(key), "utf-8"); + return "Basic " + cc; + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + return ""; + } + } + + + +} diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/OauthLoginView.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/OauthLoginView.java index 21ca3085..fe0bd400 100644 --- a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/OauthLoginView.java +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/OauthLoginView.java @@ -126,15 +126,15 @@ public class OauthLoginView extends AbstractOauth { } - App app = new App(); - String tokens = app.getTokens("http://10.114.11.135:8088/portal/yiliView.html", redirect_uri); + AppView appview = new AppView(); + String tokens = appview.getTokens("http://10.60.143.183:8088/portal/yiliView.html", redirect_uri); if(StringUtils.isEmpty(tokens)){ logger.error("获取token为空,请重新输入登录信息获取code"); return null; }else { JSONObject jsonObjects = JSONObject.parseObject(tokens); String access_token = jsonObjects.getString("access_token"); - String userInfo = app.getUserInfo(access_token); + String userInfo = appview.getUserInfo(access_token); if (StringUtils.isNotEmpty(userInfo)){ JSONObject json = JSONObject.parseObject(userInfo); diff --git a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/TaskController.java b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/TaskController.java index 4254ea23..8e306b44 100644 --- a/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/TaskController.java +++ b/com.awspaas.user.apps.yili.integration/src/com/awspaas/user/apps/integration/oauth/TaskController.java @@ -663,12 +663,9 @@ public class TaskController { // } String appendHtml=null; + System.out.println("substring===="+substring); try { - boolean containsSpan = substring.matches(".*]*>.*"); - System.out.println("containsSpan=========="+containsSpan); //如果判断字符串没有span标签,则通过系统插入span标签 - if(!containsSpan){ - System.out.println(""); Document doc = Jsoup.parse(substring); // 获取所有的p标签 Elements pTags = doc.select("p"); @@ -686,9 +683,7 @@ public class TaskController { } } appendHtml=doc.body().html(); - }else{ - appendHtml=substring; - } + System.out.println("appendHtml="+appendHtml); } catch (Exception e) { e.printStackTrace(); }