diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/servicehandler/BacklogServiceHandle.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/servicehandler/BacklogServiceHandle.java index 05354c8..46ce880 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/servicehandler/BacklogServiceHandle.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/servicehandler/BacklogServiceHandle.java @@ -52,6 +52,7 @@ public class BacklogServiceHandle extends AbstractServiceHandler { logger.info("###推送结果为:" + b + "(true为不推送,false为推送)"); if (!b) { Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); + logger.info("###shkd_type参数为"+shkd_type); if (Objects.equals(shkd_type, "0")) { //旧 eoss 环境 getToDoFormal(ctx, todoInfo); @@ -65,69 +66,18 @@ public class BacklogServiceHandle extends AbstractServiceHandler { } logger.info("###结束待办_createToDo"); try { - String s = cache.get(ctx.getBusinessKey()); - if (Objects.equals(s, "true")) { + //判断是否包含cache值 + boolean contains = cache.contains(ctx.getBusinessKey()); + if(contains){ return; } // 发送首节的已办 sendToDo(ctx); } catch (Exception e) { - logger.info("获得缓存失败,发送首节的已办失败:" + e.getMessage()); + logger.info("###获得缓存失败,发送首节的已办失败:" + e.getMessage()+" ctx:"+ctx.toString()+" ctx.getBusinessKey:"+ctx.getBusinessKey()); } } - /* //几个待办 - List userIds = todoInfo.getUserIds(); - DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,number" + - ",phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); - DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno,startname,id,name", - new QFilter[]{new QFilter("id", "=", todoInfo.getTaskId())}); - logger.info("####待办taskid:"+todoInfo.getTaskId()); - for (DynamicObject query_one : query) { - String userName; - try { - userName = AesUtils.aesEncryptString(query_one.getString("username")); - logger.info("AES加密后user:"+userName); - }catch (Exception e){ - logger.info("####AES加密出现异常,请联系运维人员排查!"); - ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常,请联系运维人员排查!"); - throw new KDException(errorCode, e); - } - StringBuilder form = new StringBuilder(); - form.append("{"); - form.append("\"title\":"); - form.append("\"").append(todoInfo.getTitle()).append("\","); - form.append("\"bName\":"); - form.append("\"").append("司库").append("\","); - form.append("\"bussinessCode\":"); - form.append("\"").append("EOSS").append("\","); - form.append("\"urGency\":"); - form.append("\"0\","); - form.append("\"currentStepName\":"); - form.append("\"").append(dynamicObject.getString("name")).append("\","); - form.append("\"sendUserName\":"); - form.append("\"").append(dynamicObject.getString("startname")).append("\","); - form.append("\"receiveUsersysName\":"); - form.append("\"").append(query_one.getString("username")).append("\","); - form.append("\"receiveUserId\":"); - form.append("\"").append(query_one.getString("username")).append("\","); - form.append("\"handleUrl\":"); - Map taskInfo = GetUrlUtils.getTaskInfo(todoInfo.getTaskId()); - String url = GetUrlUtils.buildTaskUrl(taskInfo); - form.append("\"").append(url).append("&userName=").append(userName).append("\","); - form.append("\"appHandleUrl\":"); - form.append("\"").append(url).append("&userName=").append(userName).append("\","); - form.append("\"appName\":"); - form.append("\"").append(ctx.getEntityName()).append("\","); - form.append("\"pendingId\":"); - form.append("\"").append(todoInfo.getTaskId()).append("\","); - form.append("\"pendingAttr\":"); - form.append("\"0\""); - form.append("}"); - logger.info("###待办拼接请求体:"+form); - CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(),todoInfo.getTitle(), - todoInfo.getTaskId().toString(),query_one.getString("username"),dynamicObject.getString("billno")); - } - logger.info("###结束待办_createToDo");*/ + } /*** @@ -135,6 +85,7 @@ public class BacklogServiceHandle extends AbstractServiceHandler { * @param ctx 信息 */ private void sendToDo(MessageContext ctx) { + logger.info("###进入首节已办推送方法"); String accountId = System.getProperty("backlog-accountid"); Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); StringBuilder cwbSql1 = new StringBuilder(); @@ -214,27 +165,21 @@ public class BacklogServiceHandle extends AbstractServiceHandler { cwbSql1.append("INNER JOIN t_wf_hiactinst c on c.FTASKID=b.FID "); cwbSql1.append("INNER JOIN t_wf_hiprocinst a on a.FID=b.FPROCINSTID "); cwbSql1.append("where b.fbusinesskey = ?"); - cwbSql1.append(" and b.FDELETEREASON ='first_usertask_skip"); + cwbSql1.append(" and b.FDELETEREASON ='first_usertask_skip' "); cwbSql1.append(" and b.FENDTIME is not null and d.FENDTIME is not null"); cwbSql1.append(" ORDER BY b.FMODIFYDATE,b.FID"); + logger.info("###开始第一个节点已办数据拼接结束,sql:"+cwbSql1); + logger.info("###查询首节节点数据-开始"); DataSet cwbAmount1 = DB.queryDataSet(this.getClass().getName(), DBRoute.of("sys"), cwbSql1.toString(), new Object[]{ctx.getBusinessKey()}); Iterator iterator = cwbAmount1.iterator(); - logger.info("开始第一个节点已办数据拼接"); + logger.info("###查询首节节点数据-结束"); try { while (iterator.hasNext()) { Row next = iterator.next(); //接收人手机号 DynamicObject dynamicObject = QueryServiceHelper.queryOne("bos_user", "number,name," + "phone,username", new QFilter[]{new QFilter("id", "=", next.getString("freceiveuserid"))}); - String userName1 = dynamicObject.getString("username"); - String userName; - try { - userName = AesUtils.aesEncryptString(dynamicObject.getString("username")); - logger.info("AES加密后user:" + userName); - } catch (Exception e) { - ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常,请联系运维人员排查!"); - throw new KDException(errorCode, e); - } + String userName = dynamicObject.getString("username"); //判断是否移动端 boolean allowMobApprove = allowMobApprove(next.get("fid")); if (allowMobApprove) { @@ -265,91 +210,69 @@ public class BacklogServiceHandle extends AbstractServiceHandler { form.append("\"sendUserName\":"); form.append("\"").append(next.getString("fstartname")).append("\","); form.append("\"receiveUsersysName\":"); - form.append("\"").append(userName1).append("\","); + form.append("\"").append(userName).append("\","); form.append("\"receiveUserId\":"); - form.append("\"").append(userName1).append("\","); + form.append("\"").append(userName).append("\","); form.append("\"handleUrl\":"); - form.append("\"").append(pcUrl).append("&userName=").append(userName).append("\","); + form.append("\"").append(pcUrl).append("\","); form.append("\"appHandleUrl\":"); - form.append("\"").append(pcUrl).append("&userName=").append(userName).append("\","); + form.append("\"").append(pcUrl).append("\","); // appUrl移动端查看模式 form.append("\"appViewUrl\":"); - form.append("\"").append(pcUrl).append("&userName=").append(userName).append("&ado=view").append("\","); + form.append("\"").append(pcUrl).append("&ado=view").append("\","); form.append("\"appName\":"); form.append("\"").append(next.getString("fentityname")).append("\","); //pc端查看模式 form.append("\"viewUrl\":"); - form.append("\"").append(pcUrl).append("&userName=").append(userName).append("&ado=view").append("\","); + form.append("\"").append(pcUrl).append("&ado=view").append("\","); form.append("\"pendingId\":"); form.append("\"").append(next.getLong("fid")).append("\","); form.append("\"pendingAttr\":"); form.append("\"0\""); form.append("}"); Object shkd_cache = SystemParamServiceHelper.getPublicParameter("shkd_cache"); - Integer z = 0; + int z = 0; if (Objects.equals(shkd_type, "0")) { - //旧 eoss 环境 - boolean b = CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); - if(ObjectUtils.isEmpty(shkd_cache)){ + //旧 eoss 环境 待办 + CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); + //旧 eoss 环境 已办 + DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"), userName, next.getString("fbillno")); + if (ObjectUtils.isEmpty(shkd_cache)) { z = 604800; - }else{ - z = Integer.valueOf(shkd_cache.toString()); + } else { + z = Integer.parseInt(shkd_cache.toString()); } - cache.put(ctx.getBusinessKey(),String.valueOf(b),z); + cache.put(ctx.getBusinessKey(), "true", z); } else if (Objects.equals(shkd_type, "1")) { - //新 eoss 环境 - boolean b = CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoNew(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); - if(ObjectUtils.isEmpty(shkd_cache)){ - z = 604800; - }else{ - z = Integer.valueOf(shkd_cache.toString()); - } - cache.put(ctx.getBusinessKey(),String.valueOf(b),z); - } else if (Objects.equals(shkd_type, "2")) { - //二套环境 - boolean b = CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); + //新 eoss 环境 待办 CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoNew(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); - if(ObjectUtils.isEmpty(shkd_cache)){ - z = 604800; - }else{ - z = Integer.valueOf(shkd_cache.toString()); - } - cache.put(ctx.getBusinessKey(),String.valueOf(b),z); - } - if (Objects.equals(shkd_type, "0")) { - //旧 eoss 环境 - boolean b = DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"), userName, next.getString("fbillno")); - if(ObjectUtils.isEmpty(shkd_cache)){ - z = 604800; - }else{ - z = Integer.valueOf(shkd_cache.toString()); - } - cache.put(ctx.getBusinessKey(),String.valueOf(b),z); - } else if (Objects.equals(shkd_type, "1")) { - //新 eoss 环境 - boolean b = DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(next.getLong("fid"), userName, next.getString("fbillno")); - if(ObjectUtils.isEmpty(shkd_cache)){ - z = 604800; - }else{ - z = Integer.valueOf(shkd_cache.toString()); - } - cache.put(ctx.getBusinessKey(),String.valueOf(b),z); - } else if (Objects.equals(shkd_type, "2")) { - //二套环境 - boolean b = DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"), userName, next.getString("fbillno")); + //新 eoss 环境 已办 DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(next.getLong("fid"), userName, next.getString("fbillno")); - if(ObjectUtils.isEmpty(shkd_cache)){ + if (ObjectUtils.isEmpty(shkd_cache)) { z = 604800; - }else{ - z = Integer.valueOf(shkd_cache.toString()); + } else { + z = Integer.parseInt(shkd_cache.toString()); } - cache.put(ctx.getBusinessKey(),String.valueOf(b),z); + cache.put(ctx.getBusinessKey(), "true", z); + } else if (Objects.equals(shkd_type, "2")) { + //二套环境 待办 + CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); + CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoNew(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno")); + //二套环境 已办 + DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"), userName, next.getString("fbillno")); + DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(next.getLong("fid"), userName, next.getString("fbillno")); + if (ObjectUtils.isEmpty(shkd_cache)) { + z = 604800; + } else { + z = Integer.parseInt(shkd_cache.toString()); + } + cache.put(ctx.getBusinessKey(), "true", z); } } } catch (Exception e) { logger.error("###首节已办数据拼接、发送失败,具体原因:", e.getMessage(), e); } - logger.info("首节已办数据拼接和发送完成"); + logger.info("###首节已办数据拼接和发送完成"); } //已办 @@ -359,6 +282,7 @@ public class BacklogServiceHandle extends AbstractServiceHandler { logger.info("###推送结果为:" + b + "(true为不推送,false为推送)"); if (!b) { Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); + logger.info("###shkd_type参数为"+shkd_type); if (Objects.equals(shkd_type, "0")) { //旧 eoss 环境 getDealFormal(ctx, info); @@ -381,6 +305,7 @@ public class BacklogServiceHandle extends AbstractServiceHandler { logger.info("###推送结果为:" + b + "(true为不推送,false为推送)"); if (!b) { Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); + logger.info("###shkd_type参数为"+shkd_type); if (Objects.equals(shkd_type, "0")) { //旧 eoss 环境 getDeleteFormal(ctx, info); @@ -392,21 +317,6 @@ public class BacklogServiceHandle extends AbstractServiceHandler { getDeleteNew(ctx, info); getDeleteFormal(ctx, info); } - /* List userIds = info.getUserIds(); - DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); - DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno", - new QFilter[]{new QFilter("id", "=", info.getTaskId())}); - //业务id - Long taskId = ctx.getTaskId(); - logger.info("####撤销taskid:"+info.getTaskId()); - for (DynamicObject queryOne : query) { - if(dynamicObject != null){ - deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),dynamicObject.getString("billno")); - }else{ - deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),""); - - } - }*/ logger.info("###结束撤销_deleteToDo"); } } @@ -423,15 +333,6 @@ public class BacklogServiceHandle extends AbstractServiceHandler { new QFilter[]{new QFilter("id", "=", todoInfo.getTaskId())}); logger.info("####待办taskid:" + todoInfo.getTaskId()); for (DynamicObject query_one : query) { - String userName; - try { - userName = AesUtils.aesEncryptString(query_one.getString("username")); - logger.info("AES加密后user:" + userName); - } catch (Exception e) { - logger.info("####AES加密出现异常,请联系运维人员排查!"); - ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常,请联系运维人员排查!"); - throw new KDException(errorCode, e); - } StringBuilder form = new StringBuilder(); // BacklogMessage backlogMessage = new BacklogMessage(); form.append("{"); @@ -454,58 +355,22 @@ public class BacklogServiceHandle extends AbstractServiceHandler { form.append("\"handleUrl\":"); Map taskInfo = GetUrlUtils.getTaskInfo(todoInfo.getTaskId()); String url = GetUrlUtils.buildTaskUrl(taskInfo); - form.append("\"").append(url).append("&userName=").append(userName).append("\","); + form.append("\"").append(url).append("\","); form.append("\"appHandleUrl\":"); - form.append("\"").append(url).append("&userName=").append(userName).append("\","); + form.append("\"").append(url).append("\","); // appUrl移动端查看模式 form.append("\"appViewUrl\":"); - form.append("\"").append(url).append("&userName=").append(userName).append("&ado=view").append("\","); + form.append("\"").append(url).append("&ado=view").append("\","); form.append("\"appName\":"); form.append("\"").append(ctx.getEntityName()).append("\","); //pc端查看模式 form.append("\"viewUrl\":"); - form.append("\"").append(url).append("&userName=").append(userName).append("&ado=view").append("\","); + form.append("\"").append(url).append("&ado=view").append("\","); form.append("\"pendingId\":"); form.append("\"").append(todoInfo.getTaskId()).append("\","); form.append("\"pendingAttr\":"); form.append("\"0\""); form.append("}"); - /* //业务类型名称 - backlogMessage.setbName("业务类型名称"); - // 紧急程度 - backlogMessage.setUrGency("0"); - //当前节点名称 - backlogMessage.setCurrentStepName(dynamicObject.getString("name")); - //上步骤名称 - backlogMessage.setPreStepName(""); - // startname发起人名称 - backlogMessage.setSendUserName(dynamicObject.getString("startname")); - //接收人用户名 - backlogMessage.setReceiveUserId(query_one.getString("username")); - //标题 - backlogMessage.setTitle(todoInfo.getTitle()); - //PC地址 - backlogMessage.setHandleUrl(todoInfo.getUrl()); - //PC地址查看 - backlogMessage.setViewUrl(todoInfo.getUrl()+"&ado=view"); - //app地址 - backlogMessage.setAppHandleUrl(todoInfo.getUrl()); - //App应用名称 - backlogMessage.setAppName(""); - //app地址查看 - backlogMessage.setAppViewUrl(todoInfo.getUrl()+"&ado=view"); - //业务id - backlogMessage.setPendingId(String.valueOf(todoInfo.getTaskId())); - // 业务编码 - backlogMessage.setBussinessCode(dynamicObject.getString("billno")); - //属性 - backlogMessage.setPendingAttr("0"); - //notifyMsg 通知消息 - backlogMessage.setNotifyMsg(""); - //notifyMethod 通知方式 - backlogMessage.setNotifyMethod(""); - //业务自定义数据 - backlogMessage.setJsonData("");*/ logger.info("###待办拼接请求体:" + form); CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), todoInfo.getTitle(), todoInfo.getTaskId().toString(), query_one.getString("username"), dynamicObject.getString("billno")); @@ -522,19 +387,9 @@ public class BacklogServiceHandle extends AbstractServiceHandler { ",phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno,subject,startname,id,name", new QFilter[]{new QFilter("id", "=", todoInfo.getTaskId())}); - logger.info("####待办taskid:" + todoInfo.getTaskId()); + logger.info("####新EOSS待办taskid:" + todoInfo.getTaskId()); for (DynamicObject query_one : query) { - String userName; - try { - userName = AesUtils.aesEncryptString(query_one.getString("username")); - logger.info("AES加密后user:" + userName); - } catch (Exception e) { - logger.info("####AES加密出现异常,请联系运维人员排查!"); - ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常,请联系运维人员排查!"); - throw new KDException(errorCode, e); - } StringBuilder form = new StringBuilder(); - // BacklogMessage backlogMessage = new BacklogMessage(); form.append("{"); form.append("\"title\":"); form.append("\"").append(dynamicObject.getString("subject")).append("\","); @@ -555,24 +410,24 @@ public class BacklogServiceHandle extends AbstractServiceHandler { form.append("\"handleUrl\":"); Map taskInfo = GetUrlUtils.getTaskInfo(todoInfo.getTaskId()); String url = GetUrlUtils.buildTaskUrl(taskInfo); - form.append("\"").append(url).append("&isNew=true&userName=").append(userName).append("\","); + form.append("\"").append(url).append("&isNew=true").append("\","); form.append("\"appHandleUrl\":"); - form.append("\"").append(url).append("&isNew=true&userName=").append(userName).append("\","); + form.append("\"").append(url).append("&isNew=true").append("\","); // appUrl移动端查看模式 form.append("\"appViewUrl\":"); - form.append("\"").append(url).append("&isNew=true&userName=").append(userName).append("&ado=view").append("\","); + form.append("\"").append(url).append("&isNew=true").append("&ado=view").append("\","); form.append("\"appName\":"); form.append("\"").append(ctx.getEntityName()).append("\","); //pc端查看模式 form.append("\"viewUrl\":"); - form.append("\"").append(url).append("&isNew=true&userName=").append(userName).append("&ado=view").append("\","); + form.append("\"").append(url).append("&isNew=true").append("&ado=view").append("\","); form.append("\"pendingId\":"); form.append("\"").append(todoInfo.getTaskId()).append("\","); form.append("\"pendingAttr\":"); form.append("\"0\""); form.append("}"); - logger.info("###待办拼接请求体:" + form); + logger.info("###推送新EOSS待办拼接请求体:" + form); CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoNew(form.toString(), todoInfo.getTitle(), todoInfo.getTaskId().toString(), query_one.getString("username"), dynamicObject.getString("billno")); } diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/MobApproveListServiceHelper.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/MobApproveListServiceHelper.java index e824032..a8aed54 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/MobApproveListServiceHelper.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/MobApproveListServiceHelper.java @@ -70,12 +70,12 @@ public class MobApproveListServiceHelper { public static boolean allowMobApprove(Object taskId){ DynamicObject object = BusinessDataServiceHelper.loadSingleFromCache("wf_hitaskinst", - "entitynumber,entityname,taskdefkey", + "entitynumber,entityname,taskdefinitionkey", new QFilter[]{new QFilter("id", "=", taskId)}); if(object != null){ String entityNumber = object.getString("entitynumber"); String billType = object.getString("entityname"); - String elementId = object.getString("taskdefkey"); + String elementId = object.getString("taskdefinitionkey"); int i = elementId.lastIndexOf("_"); //流程 String procDefNumber = elementId.substring(0, i); diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/RequestClient.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/RequestClient.java index 4010932..256ce94 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/RequestClient.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/midservice/utils/RequestClient.java @@ -44,8 +44,8 @@ public class RequestClient { //测试环境 this.newIp = System.getProperty("scnyfz-ip"); // ip this.newPort = System.getProperty("scnyfz-port"); //port - this.newClientKey = System.getProperty("scnyfz-scict"); // scicsiku - this.newClientSecret = System.getProperty("scnyfz-clientKey"); // 18b9a506-d9d8-4d15-9e03-01867cff5824 + this.newClientKey = System.getProperty("scnyfz-clientKey"); // scicsiku + this.newClientSecret = System.getProperty("scnyfz-scict"); // 18b9a506-d9d8-4d15-9e03-01867cff5824 } /**