ocr 调试,todo
This commit is contained in:
parent
d46541b90a
commit
2407520ca5
@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.tika.Tika;
|
import org.apache.tika.Tika;
|
||||||
import org.springframework.util.Base64Utils;
|
import org.springframework.util.Base64Utils;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@ -30,7 +31,7 @@ public class UploadUtil {
|
|||||||
);
|
);
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
String base64 = URLFileToBase64("http://gips3.baidu.com/it/u=1022347589,1106887837&fm=3028&app=3028&f=JPEG&fmt=auto?w=960&h=1280");
|
String base64 = fileUrlToBase64("http://gips3.baidu.com/it/u=1022347589,1106887837&fm=3028&app=3028&f=JPEG&fmt=auto?w=960&h=1280");
|
||||||
System.out.println(base64);
|
System.out.println(base64);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,25 +282,46 @@ public class UploadUtil {
|
|||||||
* @param fileUrl
|
* @param fileUrl
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String URLFileToBase64(String fileUrl) {
|
public static String fileUrlToBase64(String fileUrl) {
|
||||||
try {
|
try {
|
||||||
URL url = new URL(fileUrl);
|
URL url = new URL(fileUrl);
|
||||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||||
connection.setRequestMethod("GET");
|
connection.setRequestMethod("GET");
|
||||||
|
|
||||||
try (InputStream inputStream = connection.getInputStream()) {
|
int responseCode = connection.getResponseCode();
|
||||||
byte[] buffer = new byte[inputStream.available()];
|
if (responseCode == HttpURLConnection.HTTP_OK) {
|
||||||
inputStream.read(buffer);
|
InputStream inputStream = connection.getInputStream();
|
||||||
return Base64Utils.encodeToString(buffer);
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||||
} finally {
|
byte[] buffer = new byte[4096];
|
||||||
connection.disconnect();
|
int bytesRead;
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
|
outputStream.write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
byte[] imageBytes = outputStream.toByteArray();
|
||||||
|
inputStream.close();
|
||||||
|
outputStream.close();
|
||||||
|
|
||||||
|
return Base64Utils.encodeToString(imageBytes);
|
||||||
}
|
}
|
||||||
} catch (MalformedURLException e) {
|
|
||||||
log.error("输入的 URL 格式不正确: {}", e.getMessage());
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("在连接或读取文件时发生 I/O 错误: {}", e.getMessage());
|
// 可以在这里添加日志记录,方便调试,这里简单打印异常信息
|
||||||
} catch (Exception e) {
|
log.error("处理图片 URL 时出现 IOException: ", e.getMessage());
|
||||||
log.error("发生未知异常: {}", e.getMessage());
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将MultipartFile 图片转换为Base64字符串
|
||||||
|
*
|
||||||
|
* @param multipartFile
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String multipartFileToBase64(MultipartFile multipartFile) {
|
||||||
|
try {
|
||||||
|
return Base64Utils.encodeToString(multipartFile.getBytes());
|
||||||
|
} catch (IOException e) {
|
||||||
|
// 可以在这里添加日志记录,方便调试,这里简单打印异常信息
|
||||||
|
log.error("处理图片 URL 时出现 IOException: ", e.getMessage());
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -294,21 +294,21 @@ public class EsignContractServiceImpl extends BaseServiceImpl<EsignContractMappe
|
|||||||
if (success && StrUtil.isNotBlank(downloadUrl)) {
|
if (success && StrUtil.isNotBlank(downloadUrl)) {
|
||||||
|
|
||||||
|
|
||||||
taskService.executeTask(() -> {
|
// taskService.executeTask(() -> {
|
||||||
// 1、(电子合同)给商家申请分账功能;2、商家绑定接收方;
|
// 1、(电子合同)给商家申请分账功能;2、商家绑定接收方;
|
||||||
|
|
||||||
// 新建一个正式的已审核通过的店铺
|
// 新建一个正式的已审核通过的店铺
|
||||||
Pair<Integer, String> retPair = shopStoreBaseService.merchEntryInfo2StoreInfo(esignContract.getMch_mobile());
|
// Pair<Integer, String> retPair = shopStoreBaseService.merchEntryInfo2StoreInfo(esignContract.getMch_mobile());
|
||||||
if (retPair.getFirst() > 0) {
|
// if (retPair.getFirst() > 0) {
|
||||||
// 更改合同记录表的店铺id
|
// // 更改合同记录表的店铺id
|
||||||
updateContractStoreId(esignContract.getMch_mobile(), retPair.getFirst());
|
// updateContractStoreId(esignContract.getMch_mobile(), retPair.getFirst());
|
||||||
// 填充合同模版表的店铺Id
|
// // 填充合同模版表的店铺Id
|
||||||
esignContractFillingFileService.updateContractFillingStoreId(esignContract.getMch_mobile(), retPair.getFirst());
|
// esignContractFillingFileService.updateContractFillingStoreId(esignContract.getMch_mobile(), retPair.getFirst());
|
||||||
// 店铺创建状态已完成
|
// // 店铺创建状态已完成
|
||||||
shopMchEntryService.updateMerchEntryStoreStatus(esignContract.getMch_mobile(), CommonConstant.Enable);
|
// shopMchEntryService.updateMerchEntryStoreStatus(esignContract.getMch_mobile(), CommonConstant.Enable);
|
||||||
}
|
// }
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
return new ResponseEntity<>(new JSONObject().put("code", 200).put("msg", "success").toString(), HttpStatus.OK);
|
return new ResponseEntity<>(new JSONObject().put("code", 200).put("msg", "success").toString(), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,21 +26,28 @@ import com.suisung.mall.common.feignService.ShopService;
|
|||||||
import com.suisung.mall.common.modules.lakala.LklLedgerMember;
|
import com.suisung.mall.common.modules.lakala.LklLedgerMember;
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerMerReceiverBind;
|
import com.suisung.mall.common.modules.lakala.LklLedgerMerReceiverBind;
|
||||||
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
|
import com.suisung.mall.common.modules.lakala.LklLedgerReceiver;
|
||||||
|
import com.suisung.mall.common.modules.store.ShopMchEntry;
|
||||||
import com.suisung.mall.common.modules.store.ShopStoreBase;
|
import com.suisung.mall.common.modules.store.ShopStoreBase;
|
||||||
import com.suisung.mall.common.utils.I18nUtil;
|
import com.suisung.mall.common.utils.I18nUtil;
|
||||||
import com.suisung.mall.common.utils.StringUtils;
|
import com.suisung.mall.common.utils.StringUtils;
|
||||||
import com.suisung.mall.common.utils.UploadUtil;
|
import com.suisung.mall.common.utils.UploadUtil;
|
||||||
|
import com.suisung.mall.shop.esign.service.EsignContractFillingFileService;
|
||||||
|
import com.suisung.mall.shop.esign.service.EsignContractService;
|
||||||
import com.suisung.mall.shop.lakala.service.LakalaApiService;
|
import com.suisung.mall.shop.lakala.service.LakalaApiService;
|
||||||
import com.suisung.mall.shop.lakala.service.LklLedgerMemberService;
|
import com.suisung.mall.shop.lakala.service.LklLedgerMemberService;
|
||||||
import com.suisung.mall.shop.lakala.service.LklLedgerMerReceiverBindService;
|
import com.suisung.mall.shop.lakala.service.LklLedgerMerReceiverBindService;
|
||||||
import com.suisung.mall.shop.lakala.service.LklLedgerReceiverService;
|
import com.suisung.mall.shop.lakala.service.LklLedgerReceiverService;
|
||||||
import com.suisung.mall.shop.lakala.utils.LakalaUtil;
|
import com.suisung.mall.shop.lakala.utils.LakalaUtil;
|
||||||
|
import com.suisung.mall.shop.store.service.ShopMchEntryService;
|
||||||
|
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.data.util.Pair;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@ -92,6 +99,24 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private LklLedgerMerReceiverBindService lklLedgerMerReceiverBindService;
|
private LklLedgerMerReceiverBindService lklLedgerMerReceiverBindService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private ShopMchEntryService shopMchEntryService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private
|
||||||
|
EsignContractService esignContractService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private EsignContractFillingFileService esignContractFillingFileService;
|
||||||
|
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private ShopStoreBaseService shopStoreBaseService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化 拉卡拉SDK
|
* 初始化 拉卡拉SDK
|
||||||
*
|
*
|
||||||
@ -447,7 +472,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
req.setSplitEntrustFileName(fileName);
|
req.setSplitEntrustFileName(fileName);
|
||||||
|
|
||||||
// 分账结算委托书文件上传到拉卡拉服务器
|
// 分账结算委托书文件上传到拉卡拉服务器
|
||||||
JSONObject fileUploadResp = uploadFile(req.getOrderNo(), "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), UploadUtil.URLFileToBase64(paramsJSON.getStr("splitEntrustFile")));
|
JSONObject fileUploadResp = uploadFile(req.getOrderNo(), "SPLIT_ENTRUST_FILE", StringUtils.getFileExt(fileName), UploadUtil.fileUrlToBase64(paramsJSON.getStr("splitEntrustFile")));
|
||||||
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
|
if (fileUploadResp == null || StrUtil.isBlank(fileUploadResp.getStr("attFileId"))) {
|
||||||
throw new ApiException(I18nUtil._("分账结算委托书上传失败!"));
|
throw new ApiException(I18nUtil._("分账结算委托书上传失败!"));
|
||||||
}
|
}
|
||||||
@ -617,7 +642,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
for (JSONObject attachJSON : paramsJSON.getJSONArray("attachList").jsonIter()) {
|
for (JSONObject attachJSON : paramsJSON.getJSONArray("attachList").jsonIter()) {
|
||||||
String fileName = attachJSON.getStr("attachName");
|
String fileName = attachJSON.getStr("attachName");
|
||||||
String attachType = attachJSON.getStr("attachType");
|
String attachType = attachJSON.getStr("attachType");
|
||||||
String fileBase64 = UploadUtil.URLFileToBase64(attachJSON.getStr("attachStoreFile")); // 这个是 url 地址,不是 base64 字节码
|
String fileBase64 = UploadUtil.fileUrlToBase64(attachJSON.getStr("attachStoreFile")); // 这个是 url 地址,不是 base64 字节码
|
||||||
attachInfo.setAttachName(fileName);
|
attachInfo.setAttachName(fileName);
|
||||||
attachInfo.setAttachType(attachType);
|
attachInfo.setAttachType(attachType);
|
||||||
|
|
||||||
@ -710,7 +735,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
req.setReceiverNo(paramsJSON.getStr("receiverNo"));
|
req.setReceiverNo(paramsJSON.getStr("receiverNo"));
|
||||||
|
|
||||||
String fileName = paramsJSON.getStr("entrustFileName");
|
String fileName = paramsJSON.getStr("entrustFileName");
|
||||||
String splitEntrustFileBase64 = UploadUtil.URLFileToBase64(paramsJSON.getStr("entrustFile")); // 这个是 url 地址,不是 base64 字节码
|
String splitEntrustFileBase64 = UploadUtil.fileUrlToBase64(paramsJSON.getStr("entrustFile")); // 这个是 url 地址,不是 base64 字节码
|
||||||
req.setEntrustFileName(fileName);
|
req.setEntrustFileName(fileName);
|
||||||
|
|
||||||
String domain = projectDomain;
|
String domain = projectDomain;
|
||||||
@ -791,9 +816,10 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
respData.put("retMsg", "响应处理失败!");
|
respData.put("retMsg", "响应处理失败!");
|
||||||
|
|
||||||
if (paramsJSON != null) {
|
if (paramsJSON != null) {
|
||||||
|
String merCupNo = paramsJSON.getStr("merCupNo");
|
||||||
Boolean success = lklLedgerMerReceiverBindService.updateAuditResult(paramsJSON.getStr("applyId"),
|
Boolean success = lklLedgerMerReceiverBindService.updateAuditResult(paramsJSON.getStr("applyId"),
|
||||||
paramsJSON.getStr("merInnerNo"),
|
paramsJSON.getStr("merInnerNo"),
|
||||||
paramsJSON.getStr("merCupNo"),
|
merCupNo,
|
||||||
paramsJSON.getStr("receiverNo"),
|
paramsJSON.getStr("receiverNo"),
|
||||||
paramsJSON.getStr("entrustFileName"),
|
paramsJSON.getStr("entrustFileName"),
|
||||||
paramsJSON.getStr("entrustFilePath"),
|
paramsJSON.getStr("entrustFilePath"),
|
||||||
@ -804,6 +830,20 @@ public class LakalaApiServiceImpl implements LakalaApiService {
|
|||||||
respData.put("retCode", lklSuccessCode);
|
respData.put("retCode", lklSuccessCode);
|
||||||
|
|
||||||
// TODO 新建一个正式的已审核通过的店铺, 新建之前判断是否已经新建过了?
|
// TODO 新建一个正式的已审核通过的店铺, 新建之前判断是否已经新建过了?
|
||||||
|
// 新建一个正式的已审核通过的店铺
|
||||||
|
ShopMchEntry shopEntry = shopMchEntryService.getShopMerchEntryByMerCupNo(merCupNo);
|
||||||
|
if (shopEntry != null) {
|
||||||
|
String mchMobile = shopEntry.getLogin_mobile();
|
||||||
|
Pair<Integer, String> retPair = shopStoreBaseService.merchEntryInfo2StoreInfo(mchMobile);
|
||||||
|
if (retPair.getFirst() > 0) {
|
||||||
|
// 更改合同记录表的店铺id
|
||||||
|
esignContractService.updateContractStoreId(mchMobile, retPair.getFirst());
|
||||||
|
// 填充合同模版表的店铺Id
|
||||||
|
esignContractFillingFileService.updateContractFillingStoreId(mchMobile, retPair.getFirst());
|
||||||
|
// 店铺创建状态已完成
|
||||||
|
shopMchEntryService.updateMerchEntryStoreStatus(mchMobile, CommonConstant.Enable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
respData.put("retMsg", "操作成功!");
|
respData.put("retMsg", "操作成功!");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -226,6 +226,8 @@ public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerRecei
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 是否存在平台方的相关记录信息?
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -187,8 +187,11 @@ public class LklTkServiceImpl {
|
|||||||
|
|
||||||
|
|
||||||
String updUrlPath = isProd() ? "/registration/file/base/upload" : "/sit/htkregistration/file/base/upload";
|
String updUrlPath = isProd() ? "/registration/file/base/upload" : "/sit/htkregistration/file/base/upload";
|
||||||
String fileBase64 = UploadUtil.URLFileToBase64(imgURL);
|
String fileBase64 = UploadUtil.multipartFileToBase64(file);
|
||||||
|
if (StrUtil.isBlank(fileBase64)) {
|
||||||
|
return CommonResult.failed("解析文件转换失败");
|
||||||
|
}
|
||||||
|
// Base64Utils.encodeToString(file.getBytes());
|
||||||
|
|
||||||
JSONObject requestBody = new JSONObject();
|
JSONObject requestBody = new JSONObject();
|
||||||
requestBody.put("fileBase64", fileBase64);
|
requestBody.put("fileBase64", fileBase64);
|
||||||
@ -210,7 +213,6 @@ public class LklTkServiceImpl {
|
|||||||
return CommonResult.failed("上传文件返回值有误");
|
return CommonResult.failed("上传文件返回值有误");
|
||||||
}
|
}
|
||||||
|
|
||||||
updObj.put("url", imgURL);
|
|
||||||
|
|
||||||
// 调用 OCR 识别接口
|
// 调用 OCR 识别接口
|
||||||
// String ocrUrlPath = isProd() ? "/registration/ocr/result" : "/sit/htkregistration/ocr/result";
|
// String ocrUrlPath = isProd() ? "/registration/ocr/result" : "/sit/htkregistration/ocr/result";
|
||||||
@ -231,10 +233,14 @@ public class LklTkServiceImpl {
|
|||||||
// return CommonResult.failed("OCR返回结果有误");
|
// return CommonResult.failed("OCR返回结果有误");
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// ocrObj.put("url", updObj.getStr("url"));
|
// ocrObj.put("lklUrl", updObj.getStr("url"));
|
||||||
// ocrObj.put("showUrl", updObj.getStr("showUrl"));
|
// ocrObj.put("lklShowUrl", updObj.getStr("showUrl"));
|
||||||
// ocrObj.put("imgType", imgType);
|
// ocrObj.put("imgType", imgType);
|
||||||
// ocrObj.put("batchNo", batchNo);
|
// ocrObj.put("batchNo", batchNo);
|
||||||
|
// ocrObj.put("cosURL", imgURL);
|
||||||
|
|
||||||
|
|
||||||
|
updObj.put("cosURL", imgURL);
|
||||||
|
|
||||||
return CommonResult.success(updObj);
|
return CommonResult.success(updObj);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user