2 Achegas f9210e499b ... a43eeb6595

Autor SHA1 Mensaxe Data
  yaoyi a43eeb6595 Merge branch 'master' of http://git.meloinfo.com/wangwei/interface_platform hai 1 día
  yaoyi 3ef82211b9 修改E签宝 hai 1 día

+ 1 - 1
src/main/java/com/hr/externelSystem/ESignGenPdfService.java

@@ -33,7 +33,7 @@ public class ESignGenPdfService implements BizHandler<EsignParmDto, EsignReturnD
     @Override
     public EsignReturnDto handle(EsignParmDto esignParmDto, IpInterfacePO ipInterfacePO, ApiLogDto logDto) {
         BaseReturnDto<EsignReturnDto>  rdto=esignService.platformSignByPdfStream(esignParmDto);
-
+        log.info("生成pdf返回的值:{}",rdto);
         logDto.setHttpStatus(String.valueOf(rdto.getCode()));
         logDto.setUrl(rdto.getData().getOssurl());
         logDto.setResponseParam(JSONObject.toJSONString(rdto.getData()));

+ 28 - 6
src/main/java/com/hr/repository/service/impl/EsignServiceImpl.java

@@ -291,12 +291,34 @@ public class EsignServiceImpl implements EsignService {
 //                signPos1.setAddSignTime(true);// 是否显示本地签署时间,需要width设置92以上才可以看到时间
                 posBeansUser.add(signPos1);
                 platformSignParam.setPosBeans(posBeansUser);//签章位置信息
-                signRst=signHelper.platformSign(platformSignParam);
-                if (signRst.getErrCode() != 0) {
-                    String typeMsg="Esign平台自身";
-                    throw new SuperException(
-                            MessageFormat.format("{0}用户签章,签署失败: errCode = {1},msg = {2}",
-                                    typeMsg, signRst.getErrCode(), signRst.getMsg()));
+                try {
+                    signRst = signHelper.platformSign(platformSignParam);
+                    if (signRst.getErrCode() != 0) {
+                        String typeMsg = "Esign平台自身";
+                        throw new SuperException(
+                                MessageFormat.format("{0}用户签章,签署失败: errCode = {1},msg = {2}",
+                                        typeMsg, signRst.getErrCode(), signRst.getMsg()));
+                    }
+                }catch (Exception ex1) {
+                    log.error("通过E签宝签章失败:", ex1);
+                    //如果e签宝次数用完了,则需要调用平台自签章,111111
+                    try {
+                        log.info("通过系统重新签章");
+                        //将e签宝的参数进行调整以便适应本地生成用户签名
+                        if (parm.getWidthUser() != null) {
+                            parm.setWidthUser(parm.getWidthUser() - 20);
+                        }
+                        if (parm.getPosYUser() != null) {
+                            parm.setPosYUser(parm.getPosYUser() - 49);
+                        }
+                        if (parm.getPosXUser() != null) {
+                            parm.setPosXUser(parm.getPosXUser() - 50);
+                        }
+                        return hrSignByPdfStream(parm);
+
+                    } catch (Exception e1) {
+                        log.error("签章Pdf2,非E签宝,失败:", e1);
+                    }
                 }