jiangping
2024-02-01 d4920f7a0b3146a2218a210d3f93b655ff010eb3
server/service/src/main/java/com/doumee/service/business/third/SignService.java
@@ -83,11 +83,11 @@
    }
    public void initParams(){
        long ts=System.currentTimeMillis();
        long ts=System.currentTimeMillis()/1000;
        String nonce=DigestUtils.md5Hex(System.currentTimeMillis()+"");
        String sign=DigestUtils.sha256Hex("nonce"+nonce+"ts"+ts+"app_key"+APP_KEY+"app_secret"+APP_SECRET);
        bodyParams=new IdentityHashMap<>();
        bodyParams.put("ts",ts);
        bodyParams.put("ts",System.currentTimeMillis()/1000);
        bodyParams.put("app_key",APP_KEY);
        bodyParams.put("sign",sign);
        bodyParams.put("nonce",nonce);//这只只是为了生成一个随机值
@@ -125,6 +125,7 @@
     */
    public boolean organizationCreate (String fullname,String creditCode,String legalName,String email,String businessimgPath, String notifyUrl){
        try {
            initParams();
            File  businessimg =netFileToLoclFile(businessimgPath);
            if(businessimg == null || !businessimg.isFile() || !businessimg.exists()){
                return false;
@@ -166,10 +167,12 @@
     */
    public boolean organizationReApply(String fullname,String creditCode,String legalName,String email,String businessimgPath,String notifyUrl){
        try {
            File  businessimg = new File(new URI(businessimgPath));
            if(businessimg == null|| !businessimg.isFile() || !businessimg.exists()){
                return false ;
            }
            initParams();
            Map<String, Object>  params=bodyParams;
            String url=SERVICE_URL+"/v2/user/organizationReapply";
            params.put("name",fullname);
@@ -230,6 +233,7 @@
     */
    public int  organizationAuditStatus (String email){
        try {
            initParams();
            Map<String, Object>  params=bodyParams;
            String url=SERVICE_URL+"/v2/user/organizationAuditStatus";
            params.put("emailOrMobile",email);
@@ -257,6 +261,7 @@
     */
    public String applySign(String name,String fileUrl,String fullname,String creditCoe,String email,String postionJson,String singId,String notifyUrl){
      try {
          initParams();
          String url=SERVICE_URL+"/v2/sign/applySign";
          Map<String, Object>  params=bodyParams;
          params.put("contractName",name); //合同名称
@@ -264,7 +269,7 @@
//          params.put("file",file);
          params.put("url",fileUrl);
          params.put("dealType",5); //指定合同文件签署方式 5 为部分自动签
          params.put("positionType",1); //指定通过表单域方式设置签字位置
          params.put("positionType",2); //指定通过表单域方式设置签字位置
          params.put("fileType",1);
          params.put("needQifengSign",1);
          params.put("notifyUrl",notifyUrl);
@@ -281,7 +286,7 @@
          sReq.setNoNeedVerify(1);
          signatories.add(sReq);
          params.put("signatories",signatories.toJSONString());
          System.out.println(signatories.toJSONString());
          System.out.println("================"+JSONObject.toJSONString(params));
          String str= HttpClientUtils.init().getPost(url,null,params,true);
          System.out.println(str);
          saveInterfaceLog(url,"【电子签】发起签约",JSONObject.toJSONString(params),str);
@@ -305,14 +310,14 @@
     * @param postionJson
     */
    public String applySignLocalFile(String name,String fullname,String file,String creditCoe,String email,String postionJson,String singId,String notifyUrl){
      try {
      try {    initParams();
          String url=SERVICE_URL+"/v2/sign/applySign";
          Map<String, Object>  params=bodyParams;
          params.put("contractName",name); //合同名称
          params.put("serverCa",1); //使用云证书
          params.put("file",new File(file));
          params.put("dealType",5); //指定合同文件签署方式 5 为部分自动签
          params.put("positionType",1); //指定通过表单域方式设置签字位置
          params.put("positionType",2); //指定通过表单域方式设置签字位置
          params.put("fileType",0);
          params.put("needQifengSign",1);
          params.put("notifyUrl",notifyUrl);
@@ -326,6 +331,7 @@
//          sReq.setChapteJson(postionJson);
          sReq.setSearchKey(postionJson);
          sReq.setSignId(singId);
          sReq.setSearchConvertExtend("{\"fixX\":-80,\"fixY\":-80}");
          sReq.setNoNeedVerify(1);
          signatories.add(sReq);
          params.put("signatories",signatories.toJSONString());
@@ -352,7 +358,7 @@
     * @param creditCode
     */
    public String signLink(String applyNo,String name,String creditCode) {
        try {
        try {    initParams();
            Map<String, Object> params = bodyParams;
            String url = SERVICE_URL + "/v2/sign/link";
            params.put("applyNo",applyNo); //发起合同签署接口返回的APL编号
@@ -375,9 +381,36 @@
     * 获取签署链接地址(返回文件地址,签署后才是文件地址,否则跳转到签署页面)
     * @param applyNo
     */
    public String  linkFileStatus(String applyNo) {
        try {    initParams();
            Map<String, Object> params = bodyParams;
            String url = SERVICE_URL + "/v2/sign/status";
            //构建请求参数
            params.put("applyNo",applyNo); //发起合同签署接口返回的APL编号
//            params.put("fullName",fullName); //签约人名称
//            params.put("identityCard",identityCard); //签约人证件号
//            params.put("identityType",12); //证件类型 1身份证, 2护照, 3台胞证, 4港澳居民来往内地通行证, 11营业执照, 12统一社会信用代码, 20子账号, 99其他
            String str= HttpClientUtils.init().getPost(url,null,params,true);
            System.out.println(str);
            saveInterfaceLog(url,"【电子签】签约状态查询",JSONObject.toJSONString(params),str);
            JSONObject json = JSONObject.parseObject(str);
            if(json!=null && json.getBoolean("success")){
                //0 :未签 1 :已签 2:拒签 3:已保全
                return  json.getString("data");
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return  null;
    }
    /**
     * 获取签署链接地址(返回文件地址,签署后才是文件地址,否则跳转到签署页面)
     * @param applyNo
     */
    public String  linkFile(String applyNo) {
        try {
        try {    initParams();
            Map<String, Object> params = bodyParams;
            String url = SERVICE_URL + "/v2/sign/linkFile";
            //构建请求参数
@@ -401,8 +434,8 @@
     */
    public String  uploadEntSign(String signName,String path,String email ) {
        try {
            File signImgFile = new File(new URI(path));
        try {    initParams();
            File signImgFile =netFileToLoclFile(path);
            Map<String, Object> params = bodyParams;
            String url = SERVICE_URL + "/v2/user/uploadEntSign";
            //构建请求参数
@@ -427,7 +460,7 @@
     */
    public boolean  deleteEntSign(String signId ) {
        try {
        try {    initParams();
            Map<String, Object> params = bodyParams;
            String url = SERVICE_URL + "/v2/user/deleteEntSign";
            //构建请求参数