From fad1e6f7cc38e7a2b19177d648d2ebceed795beb Mon Sep 17 00:00:00 2001 From: wen <1455474577@qq.com> Date: Thu, 13 Jan 2022 18:03:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96invoice=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=BB=99=E5=89=8D=E7=AB=AF=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E8=AF=AD=E5=8F=A5=20=E7=BB=99=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=A5=A8=E6=8E=A5=E5=8F=A3=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=90=8E=E5=8F=B0=E7=94=9F=E6=88=90=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E6=97=B6=E9=97=B4=20=E4=BF=AE=E5=A4=8D=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=E6=B2=A1=E6=9C=89=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8A=A5404=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=AE=A9=E5=85=B6=E8=BF=94=E5=9B=9Enull?= =?UTF-8?q?=E5=80=BC=20=E4=BF=AE=E6=94=B9bootrap.yml=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E4=B8=8B=E8=BD=BD=E9=99=84=E4=BB=B6=E5=AD=98?= =?UTF-8?q?=E6=94=BE=E8=B7=AF=E5=BE=84=EF=BC=8C=E8=AE=A9=E5=85=B6=E4=B8=BA?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=EF=BC=8C=E5=90=88=E5=B9=B6=E6=98=AF=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E6=9B=B4=E6=94=B9=E4=B8=BA=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E5=AD=98=E6=94=BE=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xhpc/system/api/model/LoginUser.java | 2 +- .../com/xhpc/common/api/UserTypeService.java | 4 +- .../{invoice => }/XhpcInvoiceApplication.java | 2 +- .../controller/XhpcInvoiceController.java | 2 +- .../service/impl/XhpcInvoiceServiceImpl.java | 60 +++++++++++-------- .../src/main/resources/bootstrap.yml | 3 +- .../XhpcInvoiceMapHistoryOrderMapper.xml | 1 + 7 files changed, 43 insertions(+), 31 deletions(-) rename xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/{invoice => }/XhpcInvoiceApplication.java (98%) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java index cae15e70..49878ee4 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java @@ -25,7 +25,7 @@ public class LoginUser implements Serializable private Long userid; /** - * 用户名 + * 用户账号(手机号、账号) */ private String username; diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java index 4508fe61..48058043 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; +import java.util.Map; /** * @author yuyang @@ -18,11 +19,12 @@ public interface UserTypeService { /** * 根据手机号(账号),用户id和类型 获取用户信息 + * * @param * @return */ @GetMapping("/common/getUser") - R getUser(@RequestParam(value = "phone")String phone,@RequestParam(value = "userId")Long userId,@RequestParam(value = "userType")Integer userType,@RequestParam(value = "serialNumber")String serialNumber,@RequestParam(value = "tenantId")String tenantId); + R> getUser(@RequestParam(value = "phone") String phone, @RequestParam(value = "userId") Long userId, @RequestParam(value = "userType") Integer userType, @RequestParam(value = "serialNumber") String serialNumber, @RequestParam(value = "tenantId") String tenantId); diff --git a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/XhpcInvoiceApplication.java b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/XhpcInvoiceApplication.java similarity index 98% rename from xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/XhpcInvoiceApplication.java rename to xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/XhpcInvoiceApplication.java index 51a0ad3d..f88706bd 100644 --- a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/XhpcInvoiceApplication.java +++ b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/XhpcInvoiceApplication.java @@ -1,4 +1,4 @@ -package com.xhpc.invoice; +package com.xhpc; import com.xhpc.common.security.annotation.EnableCustomConfig; import com.xhpc.common.security.annotation.EnableRyFeignClients; diff --git a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java index efd09327..ed1b7f29 100644 --- a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java +++ b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java @@ -95,7 +95,7 @@ public class XhpcInvoiceController extends BaseController { public AjaxResult invoiceToUser(@RequestBody InvoiceToUserRequest requestData) { //前置条件 if (requestData.getInvoiceId() == null) { - return AjaxResult.error("必须传递未开发票id"); + return AjaxResult.error("必须上传发票id"); } if (requestData.getStatus() == null || requestData.getStatus().equals(InvoiceStatusConst.INVOICING)) { return AjaxResult.error("必须传递发票状态或发票状态不能为0"); diff --git a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/service/impl/XhpcInvoiceServiceImpl.java b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/service/impl/XhpcInvoiceServiceImpl.java index e2d32a27..2528d3e7 100644 --- a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/service/impl/XhpcInvoiceServiceImpl.java +++ b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/service/impl/XhpcInvoiceServiceImpl.java @@ -128,6 +128,8 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { @Override @Transactional(rollbackFor = Exception.class) public Boolean invoiceToUser(InvoiceToUserRequest requestData) { + //获取当前时间 + requestData.setInvoicingTime(DateUtil.getYyyyMmDdHhMmSs()); //根据操作人的id,查询操作人的名字 SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(requestData.getDrawer())); requestData.setDrawer(sysUser.getNickName()); @@ -137,7 +139,14 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { //从阿里云上下载下来电子发票 String fileUrl = requestData.getEletricInvoiceUrl(); File electricInvoiceFile = new File(environment.getProperty("file.serverStoreDisposableFileLocation") + "ElectricInvoice.pdf"); - HttpUtil.downloadFile(fileUrl, electricInvoiceFile); + try { + //参数1 文件下载路径 + //参数2 文件存放位置 + //服务器响应404 表示服务器找不到客户端所请求的资源 + HttpUtil.downloadFile(fileUrl, electricInvoiceFile); + } catch (Exception e) { + throw new RuntimeException("在阿里云上无法找到该文件,请检查上传的图片路径是否完整或有误"); + } try { MailUtil.send(receiveEmail, "【小华充电】电子发票", "邮件来自小华充电", false, electricInvoiceFile); } catch (Exception e) { @@ -161,6 +170,8 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { @Override @Transactional(rollbackFor = Exception.class) public void failInvoiceToUser(InvoiceToUserRequest requestData) { + //获取当前时间 + requestData.setInvoicingTime(DateUtil.getYyyyMmDdHhMmSs()); //根据操作人的id,查询操作人的名字 SysUser sysUser = sysUserMapper.selectUserById(Long.valueOf(requestData.getDrawer())); requestData.setDrawer(sysUser.getNickName()); @@ -196,6 +207,11 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { public InvoiceTitleResponse findTitleInfo(String firmName) { List xhpcInvoiceList = xhpcInvoiceMapper.selectInvoiceTitleInfo(firmName); + InvoiceTitleResponse invoiceTitleResponse = new InvoiceTitleResponse(); + //如果没有记录,则返回空包装类 + if (xhpcInvoiceList.size() == 0) { + return invoiceTitleResponse; + } ArrayList dataDTOList = new ArrayList<>(); for (XhpcInvoice xhpcInvoice : xhpcInvoiceList) { InvoiceTitleResponse.DataDTO dataDTO = new InvoiceTitleResponse.DataDTO(); @@ -203,7 +219,6 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { dataDTO.setDutyNumber(xhpcInvoice.getDutyNumber()); dataDTOList.add(dataDTO); } - InvoiceTitleResponse invoiceTitleResponse = new InvoiceTitleResponse(); invoiceTitleResponse.setData(dataDTOList); return invoiceTitleResponse; } @@ -223,6 +238,10 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { XhpcInvoice xhpcInvoice = xhpcInvoiceMapper.selectUserLastInputInvoiceInfo(creatorId, creatorType); TitleResponse titleResponse = new TitleResponse(); + //如果数据库本身就没有数据,那么就返回空实体类对象 + if (xhpcInvoice == null) { + return titleResponse; + } BeanUtils.copyProperties(xhpcInvoice, titleResponse); return titleResponse; @@ -251,6 +270,10 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { //查询该用户3个月内可以开发票的历史订单 List> xhpcHistoryOrderList = xhpcHistoryOrderMapper.findByCondition(invoicedOrdersRequest, lockOrderNumberList); InvoicedOrderResponse invoicedOrderResponse = new InvoicedOrderResponse(); + //没有则直接返回空对象出去 + if (xhpcHistoryOrderList.size() == 0) { + return invoicedOrderResponse; + } //设置该用户3个月内可以开发票的历史订单数量 invoicedOrderResponse.setTotalItems(xhpcHistoryOrderList.size()); //查询该用户所有可以开的发票的历史订单数量 @@ -312,29 +335,6 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { invoicedOrderResponse.setItems(itemsDTOS); return invoicedOrderResponse; -// //计算分页索引,放置到currentPage属性中 -// int startIndex = (invoicedOrdersRequest.getCurrentPage() - 1) * invoicedOrdersRequest.getItems(); -// invoicedOrdersRequest.setCurrentPage(startIndex); -// //先查询该用户被锁定了的订单,过滤掉它 -// List lockOrderNumberList = xhpcInvoiceMapHistoryOrderMapper.findLockOrdersByUserIdAndUserType(invoicedOrdersRequest); -// //查询该用户3个月内可以开发票的历史订单 -// List xhpcHistoryOrderList = xhpcHistoryOrderMapper.findByCondition(invoicedOrdersRequest, lockOrderNumberList); -// ArrayList itemsDTOList = new ArrayList<>(); -// for (XhpcHistoryOrder xhpcHistoryOrder : xhpcHistoryOrderList) { -// InvoiceOrdersResponse.ItemsDTO itemsDTO = new InvoiceOrdersResponse.ItemsDTO(); -// itemsDTO.setOrderId(xhpcHistoryOrder.getHistoryOrderId()); -// itemsDTO.setOrderNumber(xhpcHistoryOrder.getSerialNumber()); -// itemsDTO.setOrderMoney(xhpcHistoryOrder.getActPrice()); -// itemsDTO.setOrderTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, xhpcHistoryOrder.getCreateTime())); -// itemsDTOList.add(itemsDTO); -// } -// InvoiceOrdersResponse invoiceOrdersResponse = new InvoiceOrdersResponse(); -// invoiceOrdersResponse.setItems(itemsDTOList); -// //查询该用户所有可以开发票的历史订单的数量 -// Long allOrdersCount = xhpcHistoryOrderMapper.findAllOrdersByCondition(invoicedOrdersRequest, lockOrderNumberList); -// invoiceOrdersResponse.setTotalItems(allOrdersCount); -// return invoiceOrdersResponse; - } /** @@ -353,6 +353,10 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { //对拷发票部分数据 XhpcInvoice xhpcInvoice = xhpcInvoiceMapper.selectByPrimaryKey(invoiceId); SpecificInvoicedResponse specificInvoicedResponse = new SpecificInvoicedResponse(); + //查不出来返回空包装类 + if (xhpcInvoice == null) { + return specificInvoicedResponse; + } specificInvoicedResponse.setCreatorTime(DateUtils.parseDateToStr(xhpcInvoice.getCreateTime())); specificInvoicedResponse.setReceiveEmail(xhpcInvoice.getReceiveEmail()); specificInvoicedResponse.setTitleType(xhpcInvoice.getTitleType()); @@ -462,6 +466,11 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { invoiceHistoryRecordsRequest.setCurrentPage(startIndex); //获取该用户所提交的每个发票信息 List invoicesList = xhpcInvoiceMapper.findInvoicesByCreatorIdAndCreatorType(invoiceHistoryRecordsRequest); + //如果为0,那么则返回空的实体类出去 + InvoiceHistoryRecordsResponse invoiceHistoryRecordsResponse = new InvoiceHistoryRecordsResponse(); + if (invoicesList.size() == 0) { + return invoiceHistoryRecordsResponse; + } //实体类对拷 ArrayList itemsDTOS = new ArrayList<>(); for (XhpcInvoice xhpcInvoice : invoicesList) { @@ -473,7 +482,6 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService { itemsDTO.setIsRead(xhpcInvoice.getIsRead()); itemsDTOS.add(itemsDTO); } - InvoiceHistoryRecordsResponse invoiceHistoryRecordsResponse = new InvoiceHistoryRecordsResponse(); invoiceHistoryRecordsResponse.setItems(itemsDTOS); Long userInvoiceItems = xhpcInvoiceMapper.getUserInvoiceItemsByCreatorIdAndCreatorType(invoiceHistoryRecordsRequest.getCreatorId(), invoiceHistoryRecordsRequest.getCreatorType()); invoiceHistoryRecordsResponse.setTotalItems(userInvoiceItems); diff --git a/xhpc-modules/xhpc-invoice/src/main/resources/bootstrap.yml b/xhpc-modules/xhpc-invoice/src/main/resources/bootstrap.yml index 9f962452..adcb25c9 100644 --- a/xhpc-modules/xhpc-invoice/src/main/resources/bootstrap.yml +++ b/xhpc-modules/xhpc-invoice/src/main/resources/bootstrap.yml @@ -37,4 +37,5 @@ oss: #文件路径 file: aliyunPath: invoicePdf/ - serverStoreDisposableFileLocation: /www/wwwroot/xhpc.scxhua.com/disposableFiles/ \ No newline at end of file + # serverStoreDisposableFileLocation: /www/wwwroot/xhpc.scxhua.com/disposableFiles/ + serverStoreDisposableFileLocation: C:\\www\\wwwroot\\xhpc.scxhua.com\\disposableFiles\\ \ No newline at end of file diff --git a/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapHistoryOrderMapper.xml b/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapHistoryOrderMapper.xml index 08622bd6..783c6d8d 100644 --- a/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapHistoryOrderMapper.xml +++ b/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapHistoryOrderMapper.xml @@ -1,5 +1,6 @@ +