3 커밋 31bd37809a ... 7a3cb3d02c

작성자 SHA1 메시지 날짜
  wzy 7a3cb3d02c Merge branch 'master' of https://mc.cloudpure.cn/mjava/cont 1 개월 전
  wzy 21df4e1ca1 华高 1 개월 전
  wzy fc6191462d 博洋 1 개월 전

+ 2 - 2
mjava-boyang/src/main/java/com/malk/boyang/controller/BoyangController.java

@@ -65,8 +65,8 @@ public class BoyangController {
             eventList.put(info, System.currentTimeMillis());
             //签署开始回写签署详情地址
             if ("SIGN_FLOW_START".equals(callBackDesc)) {
-                String signPreUrl = UtilMap.getString(callBackProcessVO, "signPreUrl");
-                boyangService.start(processInstanceId,signPreUrl);
+//                String signPreUrl = UtilMap.getString(callBackProcessVO, "signPreUrl");
+                boyangService.start(processInstanceId,signFlowId);
             }
             //签署完成回写审批单
             if ("SIGN_FLOW_FINISH".equals(callBackDesc)) {

+ 1 - 1
mjava-boyang/src/main/java/com/malk/boyang/service/BoyangService.java

@@ -13,5 +13,5 @@ public interface BoyangService {
 
     McR getOrganization(String name);
 
-    void start(String processInstanceId, String signPreUrl);
+    void start(String processInstanceId,String signFlowId);
 }

+ 31 - 14
mjava-boyang/src/main/java/com/malk/boyang/service/impl/BoyangServiceImpl.java

@@ -11,10 +11,6 @@ import com.malk.service.dingtalk.*;
 import com.malk.utils.UtilHttp;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
-import okhttp3.*;
-import okio.BufferedSink;
-import okio.Okio;
-import okio.Sink;
 import org.apache.commons.codec.binary.Hex;
 import org.apache.commons.codec.digest.HmacAlgorithms;
 import org.apache.commons.codec.digest.HmacUtils;
@@ -27,7 +23,6 @@ import org.springframework.stereotype.Service;
 import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;
-import java.text.MessageFormat;
 import java.util.*;
 
 @Slf4j
@@ -67,16 +62,21 @@ public class BoyangServiceImpl implements BoyangService {
     final static String organizationCode = "b60a9c18b8cc4ecc80e30f36b4267a68";// 宁波博洋家纺集团有限公司
     final static String host = "http://122.227.225.202:9011/";// 接口调用域名
     final static String intranet_host = "http://11.0.11.62/";// 接口调用域名(内网)
-    final static String signerUser = "wangze";// 签署人*/
+    final static String signerUser = "wangze";// 签署人
+    final static String uploadFileUrlHost = "http://11.0.11.62:8199/";// 返回的上传文件url host*/
 
     //正式环境
     final static String projectId = "1000003";// 应用ID
     final static String secret = "5V6xsY3q8JWZ9Qik";// 应用密钥
-    final static String businessTypeCode = "dcbf2d9db561a0e656c86177d36279cd";// 钉钉对接测试业务模板
+    final static String businessTypeCode = "f5e84fdb04ef4ead57f37e2a60729066";// 钉钉OA对接业务模板
     final static String organizationCode = "0c8dd6496e7f4d228ec033aeef95a526";// 宁波博洋家纺集团有限公司
     final static String host = "https://dzqz.beyond-it-service.com/";// 接口调用域名
-    final static String intranet_host = "https://dzqz.beyond-it-service.com/";// 接口调用域名(内网)
+    final static String intranet_host = "http://11.0.11.82/";// 接口调用域名(内网)
     final static String signerUser = "22060093";// 签署人
+    final static String uploadFileUrlHost = "http://11.0.11.82:8199/";// 返回的上传文件url host
+
+
+
 
     @Override
     public McR eSignSubmit(Map map) {
@@ -326,7 +326,7 @@ public class BoyangServiceImpl implements BoyangService {
                 String signedFileName = fileName.substring(0, suffixIndex) + "(已签署)" + fileName.substring(suffixIndex);
 
                 //todo 1、评论签署后附件下载链接
-//                    comment(processInstanceId,userId,"接口测试 "+ fileName + "已签署,签署文件下载地址:" + signDownloadOuterUrl,null);
+//                    comment(processInstanceId,userId,"接口测试 "+ "已签署,签署文件下载地址:" + signDownloadOuterUrl,null);
 
 
 
@@ -336,7 +336,7 @@ public class BoyangServiceImpl implements BoyangService {
                 //todo 签署后文件上传到钉盘
                 Map dentry = uploadDdFile(spaceId, parentDentryUuid, downloadPath + signedFileName, operatorUnionId);
                 //todo 审批单添加评论
-                comment(processInstanceId,originatorUserId,"接口测试 "+ fileName + "已签署",Arrays.asList(dentry));
+                comment(processInstanceId,originatorUserId,fileName + "已签署",Arrays.asList(dentry));
             }
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -370,18 +370,26 @@ public class BoyangServiceImpl implements BoyangService {
             }
         }
 
+        //options按label排序
+        options.sort(Comparator.comparing(m -> UtilMap.getString(m, "label")));
+
         return McR.success(options);
     }
 
     @Override
-    public void start(String processInstanceId, String signPreUrl) {
+    public void start(String processInstanceId,String signFlowId) {
         try {
             Map result = ddClient_workflow.getProcessInstanceId(ddClient.getAccessToken(), processInstanceId);
             String originatorUserId = UtilMap.getString(result, "originatorUserId");
 
+            //获取签署地址列表
+            Map eqbData = (Map) eqbGet(host + "/esign-signs/v1/signFlow/signUrls?signFlowId=" + signFlowId);
+            Map signUrlInfo = ((List<Map>) UtilMap.getList(eqbData, "signUrlInfos")).get(0);
+
+            String signUrlShort = UtilMap.getString(signUrlInfo, "signUrlShort");
+
             //审批单添加评论
-            String signPreUrl2 = signPreUrl.replace(intranet_host, host);
-            comment(processInstanceId,originatorUserId,"签署预览地址:" + signPreUrl2,null);
+            comment(processInstanceId,originatorUserId,"签署地址:" + signUrlShort,null);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -566,7 +574,8 @@ public class BoyangServiceImpl implements BoyangService {
 
             String url = UtilMap.getString(data, "url");
 
-            url = url.replace("http://11.0.11.62:8199/",host);
+            url = url.replace(uploadFileUrlHost,host);
+
 
             //2、上传文件到指定链接
             Map<String,Object> body = new HashMap<>();
@@ -616,7 +625,9 @@ public class BoyangServiceImpl implements BoyangService {
             header.put("Content-Type", contentType);
 
             // 发送GET请求
+            log.info("eqb请求入参,url:{},header:{}",url,header);
             String resultStr = HTTPHelper.sendGet(url, header, "UTF-8");
+            log.info("eqb请求响应:{}",resultStr);
             Map result = (Map) JSONObject.parse(resultStr);
 
             isSuccess(result);
@@ -647,8 +658,12 @@ public class BoyangServiceImpl implements BoyangService {
             header.put("Accept", "*/*");
             header.put("Content-Type", "application/json; charset=UTF-8");
 
+            log.info("eqb请求入参,url:{},reqBodyData:{},header:{}",url,reqBodyData,header);
+
             String resultStr = HTTPHelper.sendPOST(url, reqBodyData, header, "UTF-8");
 
+            log.info("eqb请求响应:{}",resultStr);
+
             Map result = (Map) JSONObject.parse(resultStr);
 
             isSuccess(result);
@@ -672,7 +687,9 @@ public class BoyangServiceImpl implements BoyangService {
             header.put("X-timevale-signature", reqSignature);
             header.put("Accept", "*/*");
 
+            log.info("eqb请求入参,url:{},filePath:{},body:{},header:{}",url,filePath,body,header);
             String resultStr = HTTPHelper.uploadFile(url,  "file", filePath, body,  header, "UTF-8");
+            log.info("eqb请求响应:{}",resultStr);
 
             Map result = (Map) JSONObject.parse(resultStr);
 

+ 1 - 1
mjava-boyang/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: prod
   servlet:
     multipart:
       max-file-size: 100MB

+ 27 - 11
mjava-huagao/src/main/java/com/malk/huagao/service/impl/EqbServiceImpl.java

@@ -65,6 +65,9 @@ public class EqbServiceImpl implements EqbService {
     @Value(value = "${eqb.signatoryPsnId}")
     private String signatoryPsnId;
 
+    @Value(value = "${dingtalk.atUserId}")
+    private String atUserId;
+
 
 
     @Async
@@ -164,6 +167,13 @@ public class EqbServiceImpl implements EqbService {
 
         String fileId = UtilMap.getString(result,"fileId");
 
+        //文档转换pdf需时间
+        try {
+            Thread.sleep(3000);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+
         //3、基于文件发起签署
         JSONObject reqBodyObj2 = new JSONObject();
         //设置待签署文件信息
@@ -180,13 +190,19 @@ public class EqbServiceImpl implements EqbService {
 
         //签署方信息
         Map signer = new HashMap();
-        signer.put("signerType",0);//签署方类型,0 - 个人,1 - 企业/机构,2 - 法定代表人,3 - 经办人
-            /*Map orgSignerInfo = new HashMap();
-            orgSignerInfo.put("orgId","a5ec8fb7d8cc4276bd486824df0ec640");
-            signer.put("orgSignerInfo",orgSignerInfo);*/
-        Map psnSignerInfo = new HashMap();
+        signer.put("signerType",1);//签署方类型,0 - 个人,1 - 企业/机构,2 - 法定代表人,3 - 经办人
+
+        Map orgSignerInfo = new HashMap();
+        orgSignerInfo.put("orgId","a5ec8fb7d8cc4276bd486824df0ec640");//华高机构id
+        //企业/机构经办人信息
+        Map transactorInfo = new HashMap();
+        transactorInfo.put("psnId",signatoryPsnId);//陈伟东
+        orgSignerInfo.put("transactorInfo",transactorInfo);
+        signer.put("orgSignerInfo",orgSignerInfo);
+
+        /*Map psnSignerInfo = new HashMap();
         psnSignerInfo.put("psnId",signatoryPsnId);//陈伟东
-        signer.put("psnSignerInfo",psnSignerInfo);
+        signer.put("psnSignerInfo",psnSignerInfo);*/
 
         Map signField = new HashMap();
         signField.put("fileId",fileId);
@@ -211,7 +227,7 @@ public class EqbServiceImpl implements EqbService {
         //4、回写签署地址
         JSONObject reqBodyObj3 = new JSONObject();
         Map operator = new HashMap();
-        operator.put("psnId", "0fd3eb8b0c424b4e827bb3bf1fba62f3");
+        operator.put("psnId", signatoryPsnId);
         reqBodyObj3.put("operator", operator);
         Map result3 = eqbPost("/v3/sign-flow/" + signFlowId + "/sign-url", reqBodyObj3);
 
@@ -220,8 +236,8 @@ public class EqbServiceImpl implements EqbService {
         ydClient.operateData(YDParam.builder()
                 .formInstanceId(formInstId)
                 .content("签署地址:"+shortUrl)
-                .userId("344749020127590108")
-                .atUserId("344749020127590108")
+                .userId("yida_pub_account")
+                .atUserId(atUserId)//陈伟东
                 .build(), YDConf.FORM_OPERATION.remarks);
 
 
@@ -582,9 +598,9 @@ public class EqbServiceImpl implements EqbService {
             String mxbz = UtilMap.getString(cgmx.get(i), "textField_mizdd3r0");//备注
 
             if (i == 0){
-                cghtmx.add(getRowMap(false,i+1,wlbm,wlmc,null,ggxh,cgdw,cgsl,hsdj,jshj,jhrqStr,mxbz));
+                cghtmx.add(getRowMap(false,i+1,wlbm,wlmc,null,ggxh,cgsl,cgdw,hsdj,jshj,jhrqStr,mxbz));
             }else {
-                cghtmx.add(getRowMap(true,i+1,wlbm,wlmc,null,ggxh,cgdw,cgsl,hsdj,jshj,jhrqStr,mxbz));
+                cghtmx.add(getRowMap(true,i+1,wlbm,wlmc,null,ggxh,cgsl,cgdw,hsdj,jshj,jhrqStr,mxbz));
             }
         }
         Map component7 = new HashMap();

+ 1 - 0
mjava-huagao/src/main/resources/application-dev.yml

@@ -39,6 +39,7 @@ dingtalk:
   aesKey:
   token:
   operator:
+  atUserId: 15959870735792794 #陈伟东
 
 # aliwork
 aliwork:

+ 2 - 1
mjava-huagao/src/main/resources/application-prod.yml

@@ -2,7 +2,7 @@ server:
   port: 7708
   servlet:
     context-path: /huagao
-  host: https://mes.huagaochina.com:8022
+  host: https://mes.huagaochina.com:7708
 
 enable:
   scheduling: true
@@ -39,6 +39,7 @@ dingtalk:
   aesKey:
   token:
   operator:
+  atUserId: 15959870735792794 #陈伟东
 
 # aliwork
 aliwork:

+ 2 - 1
mjava-huagao/src/main/resources/application-prod2.yml

@@ -3,7 +3,7 @@ server:
   port: 7708
   servlet:
     context-path: /huagao
-    host: https://mes.huagaochina.com:8022
+    host: https://mes.huagaochina.com:7708
 
 enable:
   scheduling: true
@@ -40,6 +40,7 @@ dingtalk:
   aesKey:
   token:
   operator:
+  atUserId: 15959870735792794 #陈伟东
 
 # aliwork
 aliwork:

+ 16 - 10
mjava-huagao/src/test/java/com/malk/huagao/YqbTest.java

@@ -13,7 +13,7 @@ import com.malk.huagao.utils.HTTPHelper;
 import org.apache.commons.codec.binary.Base64;
 import com.alibaba.fastjson.JSONObject;
 
-public class YqbTest {
+public class EqbTest {
 
     public static void main(String[] args) {
         // 应用ID
@@ -38,7 +38,7 @@ public class YqbTest {
         //1.2上传文件流 postman
 
         //步骤2:查看文件上传状态及详情
-//        getFileInfo(appId,appKey,host,"e5f64e2ba6694a8daebcb13249ded314");
+//        getFileInfo(appId,appKey,host,"1c2ede25c6454ad4af8bcba3dd9beb35");
 
         //步骤3:获取制作合同模板页面链接
 //        getDocCreateUrl(appId,appKey,host,"418d535ab69f4c1fbe01931b8b74f82f");
@@ -48,7 +48,7 @@ public class YqbTest {
         //正式环境模板id 采购订单模板: a0827f8946994ebfbed7f44e6b8a6ed8
 
         //步骤4:制作含动态表格控件的HTML模板 访问【获取制作合同模板页面】接口返回的创建文件模板页面链接(docTemplateCreateUrl参数值),并在页面中拖动【动态表格】控件来制作模板,若链接失效,调用【获取编辑合同模板页面】接口
-//        getDocTemplateEditUrl(appId,appKey,host,"6a23f76742d74b858cdc2259a5d5c32f");
+//        getDocTemplateEditUrl(appId,appKey,host,"a0827f8946994ebfbed7f44e6b8a6ed8");
 
 
         //步骤5:获取 HTML 模板中控件ID和控件Key
@@ -62,7 +62,7 @@ public class YqbTest {
 
 
         //基于文件发起签署
-//        createByFile(appId,appKey,host,"28e65af0dd3a4f989da68d14bcd06373");
+        createByFile(appId,appKey,host,"1c2ede25c6454ad4af8bcba3dd9beb35");
 
         //查询签署流程详情
 //        getSignFlowDetail(appId,appKey,host,"62dc01292d684653bae341adb014b4d0");
@@ -75,7 +75,7 @@ public class YqbTest {
 
 //        getOrgUserInfo(appId,appKey,host,"00739a62731c498a8ecf477bf79efc54");
 
-        getOrgMember(appId,appKey,host,"a5ec8fb7d8cc4276bd486824df0ec640");
+//        getOrgMember(appId,appKey,host,"a5ec8fb7d8cc4276bd486824df0ec640");
 
 
         //获取签署地址
@@ -591,13 +591,19 @@ public class YqbTest {
 
             //签署方信息
             Map signer = new HashMap();
-            signer.put("signerType",0);//签署方类型,0 - 个人,1 - 企业/机构,2 - 法定代表人,3 - 经办人
-            /*Map orgSignerInfo = new HashMap();
+            signer.put("signerType",1);//签署方类型,0 - 个人,1 - 企业/机构,2 - 法定代表人,3 - 经办人
+
+            Map orgSignerInfo = new HashMap();
             orgSignerInfo.put("orgId","a5ec8fb7d8cc4276bd486824df0ec640");
-            signer.put("orgSignerInfo",orgSignerInfo);*/
-            Map psnSignerInfo = new HashMap();
+            //企业/机构经办人信息
+            Map transactorInfo = new HashMap();
+            transactorInfo.put("psnId","0fd3eb8b0c424b4e827bb3bf1fba62f3");//wzy
+            orgSignerInfo.put("transactorInfo",transactorInfo);
+            signer.put("orgSignerInfo",orgSignerInfo);
+
+            /*Map psnSignerInfo = new HashMap();
             psnSignerInfo.put("psnId","0fd3eb8b0c424b4e827bb3bf1fba62f3");//wzy
-            signer.put("psnSignerInfo",psnSignerInfo);
+            signer.put("psnSignerInfo",psnSignerInfo);*/
 
             Map signField = new HashMap();
             signField.put("fileId",fileId);