From fb494bef88ccab6e552dea57857df00ff7f0c5d4 Mon Sep 17 00:00:00 2001 From: kane Date: Mon, 26 Jun 2023 17:53:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E5=AD=97=E4=BF=A1=E6=81=AF=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/RedInformationController.java | 8 ++++ .../service/RedInformationService.java | 8 ++++ .../impl/RedInformationServiceImpl.java | 37 +++++++++++++++++++ 3 files changed, 53 insertions(+) diff --git a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/RedInformationController.java b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/RedInformationController.java index 0d5b829..f8eebc4 100644 --- a/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/RedInformationController.java +++ b/jianshui-admin/src/main/java/com/jianshui/web/controller/platform/RedInformationController.java @@ -2,6 +2,7 @@ package com.jianshui.web.controller.platform; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.invoice.domain.dto.FindRedWordDTO; +import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.platform.dto.invoicered.RedWordSelectionDTO; import com.jianshui.platform.dto.invoicered.RedWordDTO; import com.jianshui.platform.service.RedInformationService; @@ -60,4 +61,11 @@ public class RedInformationController { public AjaxResult updateRedWord(@RequestBody RedWordDTO dto){ return redInformationService.updateRedWord(dto); } + + @ApiOperation("红字信息上传") + @GetMapping("/uploadRedWord/{id}") + public HXResponse uploadRedWord(@PathVariable Long id){ + // TODO 暂未开发完成 + return redInformationService.uploadRedWord(id); + } } diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/RedInformationService.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/RedInformationService.java index 3d8bc70..3b54999 100644 --- a/jianshui-platform/src/main/java/com/jianshui/platform/service/RedInformationService.java +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/RedInformationService.java @@ -2,6 +2,7 @@ package com.jianshui.platform.service; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.invoice.domain.dto.FindRedWordDTO; +import com.jianshui.invoice.domain.dto.HXResponse; import com.jianshui.platform.dto.invoicered.RedWordSelectionDTO; import com.jianshui.platform.dto.invoicered.RedWordDTO; @@ -53,4 +54,11 @@ public interface RedInformationService { * @return : com.jianshui.common.core.domain.AjaxResult */ AjaxResult updateRedWord(RedWordDTO dto); + + /** + * 功能描述: 红字信息上传 + * @param id + * @return : com.jianshui.common.core.domain.AjaxResult + */ + HXResponse uploadRedWord(Long id); } diff --git a/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/RedInformationServiceImpl.java b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/RedInformationServiceImpl.java index cacd1ac..502e0fd 100644 --- a/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/RedInformationServiceImpl.java +++ b/jianshui-platform/src/main/java/com/jianshui/platform/service/impl/RedInformationServiceImpl.java @@ -13,8 +13,11 @@ import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.InvoiceDetail; import com.jianshui.invoice.domain.Redinfo; import com.jianshui.invoice.domain.Redinfodetail; +import com.jianshui.invoice.domain.dto.HXResponse; +import com.jianshui.invoice.factory.IInvoiceServiceFactory; import com.jianshui.invoice.mapper.InvoiceMapper; import com.jianshui.invoice.mapper.RedinfoMapper; +import com.jianshui.invoice.service.IInvoiceApiService; import com.jianshui.platform.constant.ExceptionInformationConstants; import com.jianshui.platform.constant.RedWordConstants; import com.jianshui.invoice.domain.dto.FindRedWordDTO; @@ -62,6 +65,9 @@ public class RedInformationServiceImpl implements RedInformationService { @Autowired private IServiceManageService serviceManageService; + @Autowired + private IInvoiceServiceFactory invoiceServiceFactory; + /** * 功能描述: 红字信息选择 @@ -405,4 +411,35 @@ public class RedInformationServiceImpl implements RedInformationService { } } + /** + * 功能描述: 红字信息表上传 + * @param id + * @return : com.jianshui.common.core.domain.AjaxResult + */ + @Override + public HXResponse uploadRedWord(Long id) { + // TODO 暂未开发完成 + if (id == null){ + return new HXResponse(ExceptionInformationConstants.REDWORDINFOISEMPT); + } + Redinfo redinfo = redinfoMapper.selectRedinfoById(id); + if (redinfo == null){ + return new HXResponse(ExceptionInformationConstants.NOTFINREDWORDINFO); + } + Long userId = SecurityUtils.getUserId(); + SysUser sysUser = sysUserMapper.selectUserById(userId); + Companyservice companyservice = companyserviceMapper.selectCompanyserviceByCompanyid(sysUser.getCompanyId()); + String serviceKey = null; + HXResponse result; + try { + serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", sysUser.getCompanyId()); + IInvoiceApiService invoiceService = invoiceServiceFactory.getService(serviceKey); + result = invoiceService.uploadRedInfo(redinfo, companyservice); + } catch (Exception e) { + log.error("简税产品端,红字信息上传失败,企业税号={},servicekey={}",companyservice.toString(),serviceKey); + throw new JianshuiServiceException("红字信息上传异常!"); + } + return result; + } + }