|
|
@@ -1,11 +1,9 @@
|
|
|
package com.yc.ship.module.trade.service.invoice.impl;
|
|
|
|
|
|
-import cn.hutool.core.date.DatePattern;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
-import cn.hutool.json.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.yc.ship.framework.common.lang.Asserts;
|
|
|
@@ -20,14 +18,12 @@ import com.yc.ship.module.trade.api.invoice.dto.InvoicingReqDTO;
|
|
|
import com.yc.ship.module.trade.controller.admin.invoice.vo.InvoicePageReqVO;
|
|
|
import com.yc.ship.module.trade.controller.admin.invoice.vo.InvoiceRespVO;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.invoice.InvoiceDO;
|
|
|
-import com.yc.ship.module.trade.dal.dataobject.invoice.InvoiceDetailDO;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
|
|
|
import com.yc.ship.module.trade.dal.mysql.invoice.InvoiceMapper;
|
|
|
import com.yc.ship.module.trade.enums.SellMethodEnum;
|
|
|
import com.yc.ship.module.trade.enums.invoice.InvoiceStatusEnum;
|
|
|
import com.yc.ship.module.trade.service.invoice.InvoiceDetailService;
|
|
|
import com.yc.ship.module.trade.service.invoice.InvoiceGroupService;
|
|
|
-import com.yc.ship.module.trade.service.invoice.InvoiceHangxinService;
|
|
|
import com.yc.ship.module.trade.service.invoice.InvoiceService;
|
|
|
import com.yc.ship.module.trade.service.order.TradeOrderRepositoryService;
|
|
|
import com.yc.ship.module.trade.service.refund.TradeRefundRepositoryService;
|
|
|
@@ -48,7 +44,6 @@ import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
|
|
@@ -69,8 +64,6 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|
|
private InvoiceMapper invoiceMapper;
|
|
|
@Resource
|
|
|
private InvoiceGroupService invoiceGroupService;
|
|
|
- @Resource
|
|
|
- private InvoiceHangxinService invoiceHangxinService;
|
|
|
|
|
|
//TODO 待完善
|
|
|
@Resource
|
|
|
@@ -166,11 +159,8 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|
|
// CompletableFuture<CommonResult<InvoiceDO>> future = CompletableFuture.supplyAsync(() -> invoiceHangxinService.invoiceIssuance(invoiceDO), executor);
|
|
|
String fpSupplier = configApi.getPlatformConfigValueByKey("invoice.supplier");
|
|
|
CompletableFuture<CommonResult<InvoiceDO>> future = CompletableFuture.supplyAsync(() -> {
|
|
|
- if (StringUtils.equals("group", fpSupplier)) {
|
|
|
return invoiceGroupService.invoiceIssuance(invoiceDO,reqDTO.getRemark());
|
|
|
- } else {
|
|
|
- return invoiceHangxinService.invoiceIssuance(invoiceDO);
|
|
|
- }
|
|
|
+
|
|
|
}, executor);
|
|
|
future.thenAcceptAsync(result -> {
|
|
|
if (result.isSuccess()) {
|
|
|
@@ -184,27 +174,6 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|
|
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public String queryInvoiceUrl(InvoiceDO invoice) {
|
|
|
- if (invoice == null) {
|
|
|
- throw exception(INVOICE_NOT_EXISTS);
|
|
|
- }
|
|
|
- Asserts.isTrue(invoice.getInvoiceStatus().equals(InvoiceStatusEnum.INVOICE_SUCCESS.getValue()), "发票未开票成功,无法查询!");
|
|
|
- String kprq = DateUtil.format(invoice.getCKprq(), DatePattern.PURE_DATETIME_PATTERN);
|
|
|
- JSONObject resObj = invoiceHangxinService.queryInvoiceUrl(invoice.getId(), invoice.getCFphm(), kprq);
|
|
|
- String resultUrl = "";
|
|
|
- if (null != resObj) {
|
|
|
- resultUrl = resObj.getStr("DATA");
|
|
|
- List<InvoiceDetailDO> list = invoiceDetailService.getInvoiceDetails(invoice.getId());
|
|
|
- List<String> orderNoList = list.stream().map(InvoiceDetailDO::getOrderNo).collect(Collectors.toList());
|
|
|
- //TODO:
|
|
|
-// tradeOrderRepositoryService.updateInvoiceStatusByOrderNo(orderNoList, 1);
|
|
|
- invoice.setCUrl(resultUrl);
|
|
|
- invoiceMapper.updateById(invoice);
|
|
|
- }
|
|
|
- return resultUrl;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public String queryGroupInvoiceUrl(InvoiceDO invoice) {
|
|
|
if (invoice == null) {
|
|
|
@@ -216,12 +185,6 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
- private void validateInvoiceExists(Long id) {
|
|
|
- if (invoiceMapper.selectById(id) == null) {
|
|
|
- throw exception(INVOICE_NOT_EXISTS);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
@Override
|
|
|
public InvoiceDO getInvoice(Long id) {
|
|
|
@@ -262,7 +225,7 @@ public class InvoiceServiceImpl implements InvoiceService {
|
|
|
|
|
|
private InvoiceDO buildInvoice(InvoicingReqDTO reqDTO, BigDecimal price) {
|
|
|
InvoiceDO invoiceDO = BeanUtils.toBean(reqDTO, InvoiceDO.class);
|
|
|
- String taxCode = configApi.getPlatformConfigValueByKey("invoice.tax");
|
|
|
+ String taxCode = configApi.getPlatformConfigValueByKey("newinvoice.group.tax");
|
|
|
String serialNum = RandomUtil.randomNumbers(30 - taxCode.length());
|
|
|
long id = IdWorker.getId(invoiceDO);
|
|
|
invoiceDO.setId(id);
|