From 030cf92beab9ea03daa4cbb6c3f133a69516f380 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 11 四月 2023 09:04:32 +0800 Subject: [PATCH] ocr识别 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java | 14 +++++-- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 45 ++++++++++++++++------ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java | 5 +- 3 files changed, 45 insertions(+), 19 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java index f139140..85ce7e6 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java @@ -1,45 +1,50 @@ package com.stylefeng.guns.modular.system.controller.general; -import cn.hutool.core.util.CreditCodeUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.base.tips.SuccessTip; +import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp; import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; -import com.stylefeng.guns.modular.system.controller.util.*; +import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; +import com.stylefeng.guns.modular.system.controller.util.HttpUtils; +import com.stylefeng.guns.modular.system.controller.util.TokenUtils; +import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; import com.stylefeng.guns.modular.system.enums.UserTypeEnum; -import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.model.TDriver; +import com.stylefeng.guns.modular.system.model.TRechargeRecord; +import com.stylefeng.guns.modular.system.model.TRegion; import com.stylefeng.guns.modular.system.service.*; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; -import org.apache.logging.log4j.core.util.UuidUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.shiro.subject.Subject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; -import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @@ -76,6 +81,8 @@ private TokenUtils tokenUtils; @Autowired private ITRechargeRecordService tRechargeRecordService; + + private Logger log = LoggerFactory.getLogger(this.getClass()); /** * 跳转到首页 @@ -363,7 +370,7 @@ */ @RequestMapping(value = "/ocr") @ResponseBody - public Object ocr(String imgUrl) { + public JSONObject ocr(MultipartFile multipartFile) { /*String accessToken = redisTemplate.opsForValue().get(TokenUtils.ACCESS_TOKEN_CACHE_KEY); if (!StringUtils.hasLength(accessToken)) { accessToken = tokenUtils.getSimpleAccessToken(); @@ -374,7 +381,19 @@ JSONObject jsonObject = JSONObject.parseObject(result); System.err.println(jsonObject); return jsonObject;*/ - return tDriverService.ocr(imgUrl); + String originalFilename = multipartFile.getOriginalFilename(); + String[] filename = originalFilename.split("\\."); + log.info("tupian::"+filename[0]+"//"+filename[1]); + File file= null; + try { + file = File.createTempFile(filename[0], "."+filename[1]); + multipartFile.transferTo(file); + file.deleteOnExit(); + log.info("file:"+file.getName()); + } catch (IOException e) { + log.error("ocr识别失败:{}",e.getMessage()); + } + return tDriverService.ocr(file); } /** diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java index 1a421f9..1b133ba 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.service.IService; import org.springframework.ui.Model; +import java.io.File; import java.util.List; import java.util.Map; @@ -46,10 +47,10 @@ /** * 聚合ocr识别 - * @param imgUrl + * @param file * @return */ - JSONObject ocr(String imgUrl); + JSONObject ocr(File file); /** * 新增修改处理数据 diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java index 66a752d..b44288e 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java @@ -18,7 +18,10 @@ import com.stylefeng.guns.modular.system.service.ITDriverService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.modular.system.service.ITRegionService; +import org.apache.commons.io.FileUtils; import org.apache.poi.hdf.extractor.TC; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,7 +30,11 @@ import org.springframework.util.StringUtils; import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.math.BigDecimal; +import java.net.URL; +import java.net.URLConnection; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Period; @@ -72,6 +79,7 @@ @Autowired private TCashWithdrawalMapper tCashWithdrawalMapper; + private Logger log = LoggerFactory.getLogger(this.getClass()); @Override public EntityWrapper<TDriver> getPageList(String createTime, String phone, Integer status) { EntityWrapper<TDriver> wrapper = new EntityWrapper<>(); @@ -285,11 +293,9 @@ } @Override - public JSONObject ocr(String imgUrl) { - File file = new File(imgUrl); + public JSONObject ocr(File file) { String result = httpUtils.ocr("2", file); - JSONObject jsonObject = JSONObject.parseObject(result); - return jsonObject; + return JSONObject.parseObject(result); } @Override -- Gitblit v1.7.1