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 @@ +