From a6fa58d43e876349716133f0e905ddb0545da46b Mon Sep 17 00:00:00 2001 From: lucky Date: Wed, 26 Jan 2022 18:25:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/ptccsens/bean/vo/FinanceVo.java | 4 ++++ .../java/com/ccsens/ptccsens/bean/vo/OcrVo.java | 8 ++++---- .../com/ccsens/ptccsens/service/OcrService.java | 12 +++++++++--- .../ccsens/ptccsens/util/BasicsCodeError.java | 1 + src/main/resources/application-dev.yml | 2 +- src/main/resources/application-prod.yml | 2 +- src/main/resources/application-test.yml | 2 +- src/main/resources/mapper_dao/FinanceDao.xml | 16 ++++++++++------ 8 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java index f3231b2..1c19228 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java +++ b/src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java @@ -167,12 +167,16 @@ public class FinanceVo { public static class TaskExpense { @ApiModelProperty("任务ID") private Long taskDetailId; + @ApiModelProperty("财务信息id") + private Long financeId; @ApiModelProperty("任务名") private String taskName; @ApiModelProperty("金额,单位:分") private Long money; @ApiModelProperty("占比,保留两位小数") private BigDecimal percentage; + @ApiModelProperty("追加预算,单位:分") + private Long budget; } @Data diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/OcrVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/OcrVo.java index 80868e5..67419c4 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/vo/OcrVo.java +++ b/src/main/java/com/ccsens/ptccsens/bean/vo/OcrVo.java @@ -14,13 +14,13 @@ public class OcrVo { @ApiModelProperty("发票代码") private String invoiceCode; @ApiModelProperty("发票号码") - private String invoiceNum; + private String invoiceNumber; @ApiModelProperty("金额") - private Long totalAmount; + private Long money; @ApiModelProperty("税额") - private Long totalTax; + private Long taxMoney; @ApiModelProperty("开票时间") - private Long invoiceDate; + private Long invoiceTime; @ApiModelProperty("发票url") private String url; } diff --git a/src/main/java/com/ccsens/ptccsens/service/OcrService.java b/src/main/java/com/ccsens/ptccsens/service/OcrService.java index 45d3ce2..8275730 100644 --- a/src/main/java/com/ccsens/ptccsens/service/OcrService.java +++ b/src/main/java/com/ccsens/ptccsens/service/OcrService.java @@ -4,12 +4,15 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.druid.sql.visitor.functions.If; +import com.ccsens.ptccsens.bean.po.Constant; import com.ccsens.ptccsens.bean.vo.OcrVo; +import com.ccsens.ptccsens.util.BasicsCodeError; import com.ccsens.ptccsens.util.BasicsConstant; import com.ccsens.util.RestTemplateUtil; import com.ccsens.util.baidu.BaiDuDto; import com.ccsens.util.baidu.BaiDuUtil; import com.ccsens.util.baidu.BaiDuVo; +import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -31,6 +34,9 @@ public class OcrService implements IOcrService{ basic.setImage(img); BaiDuVo.BillBasic words = BaiDuUtil.billBasic(BasicsConstant.BaiDu.INVOICE_APP_KEY, BasicsConstant.BaiDu.INVOICE_SECRET_KEY, basic); log.info("识别结果:{}",words); + if ("1486278397695872724".equals(words.getLogId())) { + throw new BaseException(BasicsCodeError.IMG_ERROR); + } // String token = BaiDuUtil.getToken(BasicsConstant.BaiDu.INVOICE_APP_KEY, BasicsConstant.BaiDu.INVOICE_SECRET_KEY); // String invoiceUrl = "https://aip.baidubce.com/rest/2.0/ocr/v1/vat_invoice?access_token={}"; // String url = StrUtil.format(invoiceUrl, token); @@ -41,9 +47,9 @@ public class OcrService implements IOcrService{ if (CollectionUtil.isNotEmpty(words.getWordsResult())) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd"); BeanUtil.copyProperties(words.getWordsResult().get(0),billInfo); - billInfo.setTotalAmount(new BigDecimal(words.getWordsResult().get(0).getTotalAmount()).multiply(BigDecimal.valueOf(100)).longValue()); - billInfo.setTotalTax(new BigDecimal(words.getWordsResult().get(0).getTotalTax()).multiply(BigDecimal.valueOf(100)).longValue()); - billInfo.setInvoiceDate(sdf.parse(words.getWordsResult().get(0).getInvoiceDate()).getTime()); + billInfo.setMoney(new BigDecimal(words.getWordsResult().get(0).getTotalAmount()).multiply(BigDecimal.valueOf(100)).longValue()); + billInfo.setTaxMoney(new BigDecimal(words.getWordsResult().get(0).getTotalTax()).multiply(BigDecimal.valueOf(100)).longValue()); + billInfo.setInvoiceTime(sdf.parse(words.getWordsResult().get(0).getInvoiceDate()).getTime()); billInfo.setUrl(realPath); } // personMsg.toMsg(words.getWordsResult()); diff --git a/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java b/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java index db77a59..61f28cb 100644 --- a/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java +++ b/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java @@ -40,6 +40,7 @@ public class BasicsCodeError extends CodeError { public static final Code CHECK_EXISTED = new Code(528,"您已经提交过审核结果了,无需重复提交。", true); public static final Code TASK_DONT_EXIT = new Code(530,"任务不存在请检查后重试", true); public static final Code FINANCE_NOT_FOUND = new Code(529,"没有找到任务对应的财务预算信息,请修改后重新提交申请。", true); + public static final Code IMG_ERROR = new Code(530,"请上传正确的发票图片", true); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 0e8e64c..fc053ff 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -47,4 +47,4 @@ mybatisCache: file: path: /home/ptccsens/server/uploads/ domain: https://test.tall.wiki/gateway/ptccsens - imgDomain: https://test.tall.wiki/gateway/ptccsens/uploads/ + imgDomain: https://test.tall.wiki/gateway/ptccsens/v1.0/uploads/ diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index d331823..673c4ee 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -37,4 +37,4 @@ apiUrl: https://www.tall.wiki/ file: path: /home/ptccsens/server/uploads/ domain: https://www.tall.wiki/gateway/ptccsens - imgDomain: https://www.tall.wiki/gateway/ptccsens/uploads/ + imgDomain: https://www.tall.wiki/gateway/ptccsens/v1.0/uploads/ diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index bac9719..b1f179e 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -45,4 +45,4 @@ eureka: file: path: /home/ptccsens/server/uploads/ domain: https://test.tall.wiki/gateway/ptccsens - imgDomain: https://test.tall.wiki/gateway/ptccsens/uploads/ + imgDomain: https://test.tall.wiki/gateway/ptccsens/v1.0/uploads/ diff --git a/src/main/resources/mapper_dao/FinanceDao.xml b/src/main/resources/mapper_dao/FinanceDao.xml index ae2a420..cc86f2e 100644 --- a/src/main/resources/mapper_dao/FinanceDao.xml +++ b/src/main/resources/mapper_dao/FinanceDao.xml @@ -169,16 +169,20 @@