diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java index ac2aaef4..69c0dc4c 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/grovy/service/impl/GroovyIntegrationServiceImpl.java @@ -41,62 +41,48 @@ public class GroovyIntegrationServiceImpl implements IGroovyIntegrationService { static class A88772 { String execute(String jsonStr) { + com.alibaba.fastjson.JSONObject returnObject = new com.alibaba.fastjson.JSONObject(); + com.alibaba.fastjson.JSONObject bodys = new com.alibaba.fastjson.JSONObject(); + com.alibaba.fastjson.JSONObject parent = new com.alibaba.fastjson.JSONObject(); com.alibaba.fastjson.JSONObject reqData = com.alibaba.fastjson.JSON.parseObject(jsonStr); com.alibaba.fastjson.JSONObject data = reqData.getJSONObject("data"); - com.alibaba.fastjson.JSONArray gl_detail = data.getJSONArray("gl_detail"); - com.alibaba.fastjson.JSONArray gl_fixtmpfreevalue = data.getJSONArray("gl_fixtmpfreevalue"); - - com.alibaba.fastjson.JSONObject returnObject = new com.alibaba.fastjson.JSONObject(); - com.alibaba.fastjson.JSONObject sendData = new com.alibaba.fastjson.JSONObject(); - sendData.put("accbookCode",data.getString("accbook_code")); - sendData.put("prepareddate",data.getString("prepareddate")); - sendData.put("year",data.getString("year")); - sendData.put("num",data.getString("num")); - sendData.put("period",data.getString("period")); - sendData.put("vouchertype",data.getString("vouchertype")); - sendData.put("attachment",data.getString("attachment")); - sendData.put("prepared",data.getString("prepared")); - com.alibaba.fastjson.JSONArray detail = new com.alibaba.fastjson.JSONArray(); - if(gl_detail != null && gl_detail.size() > 0){ - for (int i = 0; i < gl_detail.size(); i++) { - com.alibaba.fastjson.JSONObject detaildata = gl_detail.getJSONObject(i); - com.alibaba.fastjson.JSONObject object1 = new com.alibaba.fastjson.JSONObject(); - object1.put("detailindex",detaildata.getString("detailindex")); - object1.put("explanation",detaildata.getString("explanation")); - object1.put("accountCode",detaildata.getString("account_code")); - object1.put("currtypeCode",detaildata.getString("currtype_code")); - object1.put("amount",detaildata.getString("amount")); - object1.put("localdebitamount",detaildata.getString("localdebitamount")); - object1.put("localcreditamount",detaildata.getString("localcreditamount")); - object1.put("groupdebitamount",detaildata.getString("groupdebitamount")); - object1.put("groupcreditamount",detaildata.getString("groupcreditamount")); - object1.put("globaldebitamount",detaildata.getString("globaldebitamount")); - object1.put("globalcreditamount",detaildata.getString("globalcreditamount")); - object1.put("busidate",detaildata.getString("busidate")); - detail.add(object1); - if(gl_fixtmpfreevalue != null && gl_fixtmpfreevalue.size() > 0){ - com.alibaba.fastjson.JSONArray ass = new com.alibaba.fastjson.JSONArray(); - for (int i1 = 0; i1 < gl_fixtmpfreevalue.size(); i1++) { - if(gl_fixtmpfreevalue.getJSONObject(i1).getString("voucher_id").equals(data.getString("voucher_id")) - && gl_fixtmpfreevalue.getJSONObject(i1).getString("detail_id").equals(detaildata.getString("detail_id"))){ - com.alibaba.fastjson.JSONObject assdetail1 = new com.alibaba.fastjson.JSONObject(); - assdetail1.put("checktypecode",gl_fixtmpfreevalue.getJSONObject(i1).getString("checktypecode")); - assdetail1.put("checkvaluecode",gl_fixtmpfreevalue.getJSONObject(i1).getString("checkvaluecode")); - ass.add(assdetail1); - } - } - if(ass.size() > 0){ - object1.put("ass",ass); - - } - } + java.lang.String hour = cn.hutool.core.convert.Convert.toStr(cn.hutool.core.date.DateUtil.hour(new java.util.Date(),true)); + java.lang.String minute = cn.hutool.core.convert.Convert.toStr(cn.hutool.core.date.DateUtil.minute(new java.util.Date())); + parent.put("sourceFlowNumber", data.getString("source_flow_number")+"_"+hour+minute); + parent.put("documentNo", data.getString("document_no")); + parent.put("companyCode", data.getString("company_code")); + parent.put("fundType", data.getString("fund_type")); + parent.put("digest", data.getString("digest")); + parent.put("payAccountNum", data.getString("pay_account_num")); + parent.put("payAccountName", data.getString("pay_account_name")); + parent.put("recAccountNum", data.getString("rec_account_num")); + parent.put("recAccountName", data.getString("rec_account_name")); + parent.put("recBankCode", data.getString("rec_bank_code")); + parent.put("settleAccountType", data.getString("settle_account_type")); + parent.put("payChannel", data.getString("pay_channel")); + parent.put("currency", data.getString("currency")); + parent.put("transAmount", data.getString("trans_amount")); + parent.put("payDate", data.getString("pay_date")); + boolean fale=true; + if("false".equals(data.getString("to_public"))){ + fale=false; + parent.put("toPublic",fale); + parent.put("recFinanceCode",data.getString("recFinanceCode")); + //如果银行编码不为空,则不用传联行号 + if (null != data.getString("recFinanceCode")){ + parent.put("recBankCode", null); } } - sendData.put("detail",detail); - returnObject.put("bodys",sendData); + parent.put("toPublic",fale); + parent.put("purpose", data.getString("purpose")); + bodys.put("data",parent); + java.lang.String params = bodys.toJSONString(); + //com.hzya.frame.seeyon.util.SM2Util sm2Util=new com.hzya.frame.seeyon.util.SM2Util(); + //java.lang.String encrypt = sm2Util.encrypt(params, "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEDT3LdDBzrg61SQSMtESOySsffz05RR2ZZCCa9BKqQvm//jfs9ySmwjGf8HD9Vd+kPg5XwyQmPQIv1JNj2fWWhQ=="); + //com.alibaba.fastjson.JSONObject zx = new com.alibaba.fastjson.JSONObject(); + //zx.put("data",encrypt); + //returnObject.put("bodys",zx.toJSONString()); return returnObject.toJSONString(); } } - - } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java index 4d91ad4f..ad2dcee4 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java @@ -239,7 +239,7 @@ public class InvoiceServiceImpl extends BaseService imple String xmlFileName = generateFileName(xmlUrl, "XML"); String xmlSavePath = invoiceXmlUrl + xmlFileName; downloadPdf(xmlUrl, xmlSavePath); - logger.info("========pdf文件保存到本地完成========"); + logger.info("========xml文件保存到本地完成========"); File fileXml = new File(xmlSavePath); if(null !=fileXml){ logger.info("========开始将xml文件上传OA========"); diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/util/SM2Util.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/util/SM2Util.java index 860a45a3..a7a49819 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/util/SM2Util.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/util/SM2Util.java @@ -237,14 +237,15 @@ public class SM2Util { private void testSignByQuickpass() throws Exception { //密钥生成 String privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgOHOzaKWBWOAbslvtYtS8tcQiJ9W9DT2cGQM3KSgXpfygCgYIKoEcz1UBgi2hRANCAAQNPct0MHOuDrVJBIy0RI7JKx9/PTlFHZlkIJr0EqpC+b/+N+z3JKbCMZ/wcP1V36Q+DlfDJCY9Ai/Uk2PZ9ZaF"; - String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEDT3LdDBzrg61SQSMtESOySsffz05RR2ZZCCa9BKqQvm//jfs9ySmwjGf8HD9Vd+kPg5XwyQmPQIv1JNj2fWWhQ=="; + //String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEDT3LdDBzrg61SQSMtESOySsffz05RR2ZZCCa9BKqQvm//jfs9ySmwjGf8HD9Vd+kPg5XwyQmPQIv1JNj2fWWhQ=="; + String publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEyocGV+D91yPL2EyngjizFW2p1DW2l46yBGcp7IcHTs0VYM0UEojzVqOjgQZAD76hPtkUvuQAaUvNg0pSpfNc9A==";//测试环境 // 加验签 //String value = "{\"partner\": \"test\",\"tranTime\": \"20240128003627\",\"seqNo\": \"123456\",\"orderNo\": \"order123456\", \"orderAmt\": \"1500\"}"; - String value="{\"data\":{\"companyCode\":\"CN000001\",\"purpose\":\"加入中国光伏行业协会会员单位,获得行业技术支持,2025年会员单位缴纳标准为1万元/年,汇款时需注明“会费”字样,并在备注中注明汇款单位;缴纳会费后,需有付款凭证,将付款凭证发送至协会邮箱,并填写开票信息等内容\",\"recAccountNum\":\"8110701012801540483\",\"recAccountName\":\"\",\"payAccountNum\":\"8110701012601540892\",\"fundType\":\"0001\",\"transAmount\":\"9.90\",\"documentNo\":\"DG202503240321\",\"recBankCode\":\"\",\"settleAccountType\":\"CASH_TRANSFER\",\"sourceFlowNumber\":\"-3854827654841675885_1539\",\"submitUser\":\"user1\",\"digest\":\"加入中国光伏行业协会会员单位,获得行业技术支持,2025年会\",\"payChannel\":\"DIRECT\",\"currency\":\"CNY\",\"toPublic\":true,\"payAccountName\":\"\",\"payDate\":\"2025-03-26\"}}"; + String value="{\"data\":{\"companyCode\":\"CN000001\",\"recFinanceCode\":\"ICBC\",\"purpose\":\"丽水景宁招商局拜访我司,交流业务需求,购买星巴克咖啡\",\"recAccountNum\":\"6222031202014975097\",\"recAccountName\":\"董笑笑\",\"payAccountNum\":\"8110701012601540892\",\"fundType\":\"0002\",\"transAmount\":\"192.00\",\"documentNo\":\"ZD202505290104\",\"recBankCode\":\"102331002036\",\"settleAccountType\":\"CASH_TRANSFER\",\"sourceFlowNumber\":\"-1647479218002638895_1746\",\"digest\":\"付招待报销ZD202505290104\",\"payChannel\":\"DIRECT\",\"currency\":\"CNY\",\"toPublic\":false,\"payDate\":\"2025-06-04\"}}"; System.out.println("明文:" + value); //加密 - //String encryptStr = encrypt(value, publicKey); - String encryptStr="BLTRQV8d8D1ILWs21weVXVubIB1Ppx3Oy3rWqdocyrAXm5WBNhSz6YemoVVPTTtdycJ3mcFF1YuRKhuHsMhU/VkzssS3i7W8FPwWHNyyorhd3LrP0HMx+j3MN/s7kGs9PGRem/X4U+tQsJxoQSi8CkmwCcF42aN78LkQ5292cDQ6/AcobhKYNHBqCeX9+gUhue76pWFM12k9rXQYvCnIqdf+vB5ot+UXuk3eXwnlmVdP+f5kSSKxyWRIC8GjLwHRWChkuk6IkjIhVlSMJfVt1fOseBYq5VW32XkHQFbSZW3JvYUhHpimibw7SP6SK60TT8lfJzsABJ5euADCFlhVwfUZZXZLdSV4YFSB/IQ6vVkHorQmD5RdGxktgu3MbErdEPhiGl7/tLj6gKi2ecRobGkQwu1peKcKB08WgnWFX/6Wbs0dxfavAAc1W3mXta0zx/+q2jiIydCsySUT2xCRDVBlGHPIlN8RDucQ4mOE5gBlr9vvMxnKOG2kdWzTVoj+aibqKh5ljwGbIUetbE3XtwNlO7deupvTaUN565P1M8cuK7zQjLeoUD2gqLMZOzz5fgkrPTzd7jUyf3QatDOGEFxrF1u03BMJVNAssxj7pdq2aSBTrHKwafoplUpWEAogeiUh2xYlVSEu2BUinHoMxqGU57UM/ZU1IRFgVKTdHV/R/4hLOpu55Mq7C5cOTVwVFasnIdbkJvabNX/vN0js9Bx/2QJx5SN2wqCV5R4yrXTH4dUGVTQFNLuiZSX8TML463FCIrtiofHZ/jvp3hEbyYTchkMuPEvH3MBZAt6ZXmwInYEktymF2nvBD7Pw22xQaE1Sqfjig5m4gQHB1mRV/RKCaNv7CuXsef29ldU5mQnER0U="; + String encryptStr = encrypt(value, publicKey); + //String encryptStr="BD0GuyA+11ejXLUgFbf2jW0YBh0klhbiHry6dyUtnto2Ld3Mb9DLmsKtDulejqdhpZpFffaMumy+eLU80cERr4QwGGCP7rOVt010bsP8a0RMH7JbMdpSMNUeB8nAYTI+rdsHVCFn6wTWMpMAqNqAw8HkZ+OHEjuPBht3Q1VX670twFSnOa/h/hBY2DeEO1Nzo1yodzfLVJF6fyDA+4dwz7Zi/4cqO+AEwFYmZ20WR6hTAmC4dzDK9BLFx7ymSQX46X3ppydZGcnGQcBR8RWItk4ev84TB59PREeXf0ruNEqsryUrCLsVAHeB1+RhhgRYQyz0L8hFRRbXq0ArMgrnYZzDgagAtGvo6QtE49dbERr4rSfAk65XVew5aEBmhHmL4gEgGOgaJ8juIzoYnj5pssmdxYh8xOzrpFprLI5Rp7mbbl/GhPruUNCrZOg5kTahVzMYodgokeWjQLp3bjXROIQBcgkLH2Dhov9lVKqa9Bnf291XxvsWkU7hr68WGz+30nEEOfmCfoFF8ZBZPyCbZ/zNKYL136F3qqezdh6x7OgTH8CFbFdK/qMIgGrzLTwIXYJJx3ZA+zzUQ7PlosFuv/vYACN5BQ3NbX8uVWJQVJ2KmG4fgo7xEa61TeBB3i5n6FJNxO5NPelDlJToy/FS0tutmwgwu/vvKbeb4Hz6ZZt9nyCvDoHbMdKutyQKmNPNc6fz2VvhUCEbQrtDmZqimHMpozm+lZFHn8bHsxVqDY0M0G3hJhoQDWElIWBrZF7TWb0WEk4leCKB6z+qK8V8Bjdc3UdV4IsFU2MV9H5tcjKk+2k4gqUB9+vfV5fYhVsBpflyw6uGNjwdWoGmZAXbKyrKI3bIlmPCe2/boraFNQfr7BsRT6D0PgJn+kb4TVgl6TP2MTX3bDMe4h5XR6Qs6HYQnm8KnS5uXdrQh3Luyhw+dch5D4kzK7Yf"; System.out.println("加密结果:" + encryptStr); //解密