Commit 8ae1e228 authored by hanfeng's avatar hanfeng

开票

parent f56e95cf
......@@ -3,13 +3,11 @@ package com.xxfc.platform.order.feign;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.order.entity.OrderInvoice;
import com.xxfc.platform.order.pojo.dto.OrderDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -27,4 +25,8 @@ public interface OrderFeign {
@GetMapping(value = "/count/basebase/findByOrderIds")
public ObjectRestResponse<List<OrderDTO>> findOrdersByorderId(@RequestParam(value = "orderIds") List<Integer> orderIds);
@PostMapping(value = "/order/invoice/updateByOrderId")
ObjectRestResponse updateByOrderId(@RequestBody OrderInvoice orderInvoice);
}
......@@ -19,6 +19,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.util.HashSet;
......@@ -164,4 +166,17 @@ public class OrderInvoiceBiz extends BaseBiz<OrderInvoiceMapper, OrderInvoice> {
}
@Transactional(rollbackFor = Exception.class)
public boolean updateByOrderId(OrderInvoice orderInvoice) {
try {
Example example = new Example(OrderInvoice.class);
example.createCriteria().andEqualTo("orderIds",orderInvoice.getOrderIds());
mapper.updateByExample(orderInvoice,example);
return true;
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
log.error("修改状态异常={}",e);
return false;
}
}
}
......@@ -47,4 +47,9 @@ public class OrderInvoiceController extends BaseController<OrderInvoiceBiz, Orde
return baseBiz.update(orderInvoice);
}
@PostMapping(value = "/updateByOrderId")
public ObjectRestResponse updateByOrderId(@RequestBody OrderInvoice orderInvoice) {
boolean flag = baseBiz.updateByOrderId(orderInvoice);
return ObjectRestResponse.succ();
}
}
......@@ -3,12 +3,14 @@ package com.xxfc.platform.universal.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.universal.entity.InvoiceQueryError;
import com.xxfc.platform.universal.mapper.InvoiceQueryErrorMapper;
import org.springframework.stereotype.Service;
/**
* @Auther: Administrator
* @Date: 2020/1/8 10:48
* @Description:
*/
@Service
public class InvoiceQueryErrorBiz extends BaseBiz<InvoiceQueryErrorMapper, InvoiceQueryError> {
}
......@@ -8,6 +8,7 @@ import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.order.entity.OrderInvoice;
import com.xxfc.platform.order.feign.OrderFeign;
import com.xxfc.platform.universal.biz.InvoiceQueryErrorBiz;
import com.xxfc.platform.universal.constant.InvoiceStatusEum;
......@@ -168,8 +169,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
//税率
BigDecimal taxRate = order.getTaxRate();
//不含税单价
BigDecimal TaxFree = taxIncluded.divide(taxRate.add(new BigDecimal(1)));
BigDecimal TaxFree = taxIncluded.divide(taxRate.add(new BigDecimal(1)),2,BigDecimal.ROUND_HALF_UP);
taxExcludedAmount=taxExcludedAmount.add(TaxFree);
taxIncludedAmount=taxIncludedAmount.add(taxIncluded);
}else {
......@@ -227,8 +227,8 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
String invoiceFileUrl = (String) data.get("invoiceFileUrl");
String invoiceCode = (String) data.get("invoiceCode");
String invoiceNum = (String) data.get("invoiceNum");
String taxIncludedAmountStr = (String) data.get("taxIncludedAmount");
String taxExcludedAmountStr = (String) data.get("taxExcludedAmount");
String taxIncludedAmountStr = String.valueOf(data.get("taxIncludedAmount")) ;
String taxExcludedAmountStr = String.valueOf(data.get("taxExcludedAmount")) ;
Invoice invoice = new Invoice();
invoice.setId(id);
......@@ -248,13 +248,40 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
invoice.setInvoiceCode(invoiceCode);
invoice.setInvoiceNo(invoiceNum);
invoice.setPictureUrl(invoiceFileUrl);
orderFeign
}
setOrderInvoice(orderId, status, invoiceFileUrl);
}else {
setOrderInvoice(orderId, status,null);
}
mapper.updateByPrimaryKeySelective(invoice);
}
/**
* 设置订单发票表
* @param orderId 订单id
* @param status 发票查询状态
* @param invoiceFileUrl 发票pdf地址
*/
public void setOrderInvoice(String orderId, Integer status, String invoiceFileUrl) {
//设置发票订单表
OrderInvoice orderInvoice = new OrderInvoice();
orderInvoice.setOrderIds(orderId);
orderInvoice.setInvoiceUrl(invoiceFileUrl);
orderInvoice.setStatus(status);
orderFeign.updateByOrderId(orderInvoice);
}
/**
* 再次查询开票结果
* @param invoiceSerialNum
* @param id
* @param orderId
* @param lastStatus
* @param count
* @param time
* @param timeUnit
*/
public void schedule(String invoiceSerialNum, Integer id,String orderId,Integer lastStatus, int count, int time,TimeUnit timeUnit) {
executorService.schedule(() -> {
queryInvoiceResult(invoiceSerialNum, id,orderId,lastStatus, count);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment