diff --git a/sql/upgrade/1.0.17/upgrade.sql b/sql/upgrade/1.0.17/upgrade.sql index 38b5205..9902661 100644 --- a/sql/upgrade/1.0.17/upgrade.sql +++ b/sql/upgrade/1.0.17/upgrade.sql @@ -5,4 +5,7 @@ ALTER TABLE `wfc_user_db`.`u_bill` ADD COLUMN `invoice_number` varchar(64) NULL COMMENT '发票编号' AFTER `status`, ADD COLUMN `invoice_file` varchar(255) NULL COMMENT '发票文件' AFTER `invoice_number` +ALTER TABLE `wfc_user_db`.`u_bill` +ADD COLUMN `invoice_time` datetime NULL COMMENT '发票时间' AFTER `invoice_file` + SET FOREIGN_KEY_CHECKS = 1; diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UOrderController.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UOrderController.java index 8fbff78..c6c706c 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UOrderController.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/controller/UOrderController.java @@ -82,7 +82,7 @@ public class UOrderController extends BaseController { continue; } UPackage uPackage = uPackageService.getById(uOrder.getPackageId()); - if (ObjectUtil.isNotNull(uPackage.getRateLimitId())) { + if (ObjectUtil.isNotNull(uPackage) && ObjectUtil.isNotNull(uPackage.getRateLimitId())) { uPackage.setRateLimits(uRateLimitService.getById(uPackage.getRateLimitId())); } uOrder.setUPackage(uPackage); diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/UBill.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/UBill.java index 39998f1..d89e809 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/UBill.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/UBill.java @@ -7,6 +7,7 @@ import lombok.Setter; import org.wfc.common.mybatis.domain.BaseData; import java.math.BigDecimal; +import java.util.Date; /** *

@@ -44,4 +45,7 @@ public class UBill extends BaseData { @Schema(description = "发票文件") private String invoiceFile; + + @Schema(description = "发票文件") + private Date invoiceTime; } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/bo/UInvoiceTemplateBo.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/bo/UInvoiceTemplateBo.java index c0be0b5..26f7e95 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/bo/UInvoiceTemplateBo.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/bo/UInvoiceTemplateBo.java @@ -37,4 +37,8 @@ public class UInvoiceTemplateBo { private String clientsNumber; private String billingCycle; + + private String currencySymbol; + + private Long now; } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceBillVo.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceBillVo.java index fc6495f..b14ae96 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceBillVo.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceBillVo.java @@ -23,7 +23,7 @@ public class UInvoiceBillVo { private Integer type; @Schema(description = "发票日期") - private Date invoiceDate; + private Date invoiceTime; @Schema(description = "发票编号") private String invoiceFile; diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceGenVo.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceGenVo.java index b3786cd..5edda20 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceGenVo.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/domain/vo/UInvoiceGenVo.java @@ -2,6 +2,8 @@ package org.wfc.user.domain.vo; import lombok.Data; +import java.util.Date; + /** * @description: invoice vo * @author: cyc @@ -14,4 +16,5 @@ public class UInvoiceGenVo { private String invoiceFile; + private Date invoiceTime; } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UBillServiceImpl.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UBillServiceImpl.java index 9270f9a..f56bd91 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UBillServiceImpl.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UBillServiceImpl.java @@ -52,9 +52,8 @@ import java.io.IOException; import java.math.RoundingMode; import java.nio.file.Files; import java.nio.file.Paths; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Collections; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import java.util.Map; @@ -111,13 +110,14 @@ public class UBillServiceImpl extends ServiceImpl implements .isNotNull(UBill::getInvoiceNumber) .orderByDesc(BaseData::getCreateTime).last("limit 1"), false); - LocalDateTime dateTime = LocalDateTime.now(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateStr = dateTime.format(formatter); + Date date = new Date(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String dateStr = simpleDateFormat.format(date); String oldInvoiceNumber = StrUtil.EMPTY; if (bill != null) { oldInvoiceNumber = bill.getInvoiceNumber(); } + invoiceBo.setNow(date.getTime()); invoiceBo.setInvoiceNumber(genInvoiceNumber(dateStr, oldInvoiceNumber)); invoiceBo.setInvoiceDate(dateStr); @@ -168,6 +168,7 @@ public class UBillServiceImpl extends ServiceImpl implements invoiceBo.setHasDetails(false); invoiceBo.setItemName(OrderTypeEnum.RECHARGE.getDesc()); } + invoiceBo.setCurrencySymbol(currencySymbol); invoiceBo.setUnitPrice(currencySymbol + order.getOrderAmount().setScale(2, RoundingMode.HALF_UP)); invoiceBo.setTotal(currencySymbol + order.getOrderAmount().setScale(2, RoundingMode.HALF_UP)); // 填充发票模版 @@ -204,13 +205,14 @@ public class UBillServiceImpl extends ServiceImpl implements } MailUtils.sendHtml(invoiceBo.getEmail(), subject, htmlStr, uploadFile); - FileUtil.del(uploadFile); +// FileUtil.del(uploadFile); } catch (Exception e) { log.error("email invoice send failed => {}", e.getMessage()); } UInvoiceGenVo invoiceGenVo = new UInvoiceGenVo(); invoiceGenVo.setInvoiceNumber(invoiceBo.getInvoiceNumber()); invoiceGenVo.setInvoiceFile(url); + invoiceGenVo.setInvoiceTime(date); return invoiceGenVo; } @@ -230,6 +232,8 @@ public class UBillServiceImpl extends ServiceImpl implements context.setVariable("speedCap", invoiceBo.getSpeedCap()); context.setVariable("clientsNumber", invoiceBo.getClientsNumber()); context.setVariable("billingCycle", invoiceBo.getBillingCycle()); + context.setVariable("currencySymbol", invoiceBo.getCurrencySymbol()); + context.setVariable("now", invoiceBo.getNow()); return context; } diff --git a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java index 2a4b30f..ab0cdf2 100644 --- a/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java +++ b/wfc-modules/wfc-user/src/main/java/org/wfc/user/service/impl/UOrderServiceImpl.java @@ -108,6 +108,7 @@ public class UOrderServiceImpl extends ServiceImpl impleme // 设置发票编号和发票文件地址 bill.setInvoiceNumber(invoiceGenVo.getInvoiceNumber()); bill.setInvoiceFile(invoiceGenVo.getInvoiceFile()); + bill.setInvoiceTime(invoiceGenVo.getInvoiceTime()); } billMapper.insert(bill); diff --git a/wfc-modules/wfc-user/src/main/resources/mapper/user/UBillMapper.xml b/wfc-modules/wfc-user/src/main/resources/mapper/user/UBillMapper.xml index 7f980db..30d5249 100644 --- a/wfc-modules/wfc-user/src/main/resources/mapper/user/UBillMapper.xml +++ b/wfc-modules/wfc-user/src/main/resources/mapper/user/UBillMapper.xml @@ -24,7 +24,7 @@ b.invoice_number, b.invoice_file, b.amount, - b.create_time invoice_date, + b.invoice_time, b.`type` FROM u_bill b