| | |
| | | serviceReimbursementdetailShareds.get(i).setId(null); |
| | | //上传OA文件 |
| | | log.info("上传OA文件方法的入参:{}", serviceReimbursementdetailShareds.get(i)); |
| | | uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); |
| | | try { |
| | | uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); |
| | | } catch (Exception e) { |
| | | log.error("Exception中reimShare的入参id为:{}", serviceReimbursementShared.getId()); |
| | | if (serviceReimbursementShared.getId() != null) { |
| | | Boolean aBoolean = sharedService.delResharedInfoById(serviceReimbursementShared.getId()); |
| | | log.error("文件上传失败,将分享表数据回滚:{}", aBoolean); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | |
| | | // detailSharedService.saveBatch(serviceReimbursementdetailShareds); |
| | |
| | | } |
| | | |
| | | |
| | | public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) { |
| | | public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) throws Exception { |
| | | log.info("uploadOAFileAndUpdate方法的入参:{}", remShare); |
| | | System.out.println("uploadOAFileAndUpdate方法的入参:" + remShare); |
| | | //上传OA文件 |
| | |
| | | List<RbDetailFile> invoicefilesArray = JSON.parseArray(remShare.getInvoicefiles(), RbDetailFile.class); |
| | | //普通附件 |
| | | uploadFile(filePath, strFUrl, parseArray2, parseArray, remShare, "1"); |
| | | |
| | | //发票附件 |
| | | uploadFile(filePath, strFUrl, invoicefilesList, invoicefilesArray, remShare, "2"); |
| | | return 0; |
| | | } |
| | | |
| | | private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceReimbursementdetailShared remShare, String flag) { |
| | | private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceReimbursementdetailShared remShare, String flag) throws Exception { |
| | | if (!CollectionUtils.isEmpty(parseArray)) { |
| | | for (int i = 0; i < parseArray.size(); i++) { |
| | | RbDetailFile rbDetailFile = parseArray.get(i); |
| | |
| | | String strFile = rbDetailFile.getUrl().replace(filePath, "/profile/upload"); |
| | | System.out.println("reimbursement服务的filePath + substring是乱码吗: " + filePath + substring); |
| | | File filetest = new File(filePath + substring); |
| | | try { |
| | | log.info("请求第三方的入参strFile : {}, strFUrl : {}", strFile, filePath); |
| | | String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); |
| | | log.info("第三方传回的数据: {}", struploadResult); |
| | | if (StringUtils.isEmpty(struploadResult)) { |
| | | log.info("HttpClientKit.sendPostWithFile 请求为空了 filetest:{}, strFUrl:{} ", filetest, strFUrl); |
| | | return 0; |
| | | } |
| | | log.info("请求第三方的入参strFile : {}, strFUrl : {}", strFile, filePath); |
| | | String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); |
| | | log.info("第三方传回的数据: {}", struploadResult); |
| | | if (StringUtils.isEmpty(struploadResult)) { |
| | | log.info("HttpClientKit.sendPostWithFile 请求为空了 filetest:{}, strFUrl:{} ", filetest, strFUrl); |
| | | return 0; |
| | | } |
| | | |
| | | //获取fileid |
| | | JSONObject jsonR = JSONObject.parseObject(struploadResult); |
| | | JSONArray jsonArr = jsonR.getJSONArray("atts"); |
| | | log.info("第三方传回的数据获取的atts : {}", jsonArr); |
| | | for (int j = 0; j < jsonArr.size(); j++) { |
| | | JSONObject jsonRet = jsonArr.getJSONObject(j); |
| | | rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("HttpClientKit.sendPostWithFile 报错了 : " + e.getMessage()); |
| | | //获取fileid |
| | | JSONObject jsonR = JSONObject.parseObject(struploadResult); |
| | | JSONArray jsonArr = jsonR.getJSONArray("atts"); |
| | | log.info("第三方传回的数据获取的atts : {}", jsonArr); |
| | | for (int j = 0; j < jsonArr.size(); j++) { |
| | | JSONObject jsonRet = jsonArr.getJSONObject(j); |
| | | rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); |
| | | } |
| | | parseArray2.add(rbDetailFile); |
| | | } |