xuhy
2023-04-11 030cf92beab9ea03daa4cbb6c3f133a69516f380
ocr识别
3个文件已修改
64 ■■■■ 已修改文件
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
    /**
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);
    /**
     * 新增修改处理数据
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