Commit 8ae1e228 authored by hanfeng's avatar hanfeng

开票

parent f56e95cf
...@@ -3,13 +3,11 @@ package com.xxfc.platform.order.feign; ...@@ -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.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; 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.dto.OrderDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
...@@ -27,4 +25,8 @@ public interface OrderFeign { ...@@ -27,4 +25,8 @@ public interface OrderFeign {
@GetMapping(value = "/count/basebase/findByOrderIds") @GetMapping(value = "/count/basebase/findByOrderIds")
public ObjectRestResponse<List<OrderDTO>> findOrdersByorderId(@RequestParam(value = "orderIds") List<Integer> orderIds); 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; ...@@ -19,6 +19,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.HashSet; import java.util.HashSet;
...@@ -164,4 +166,17 @@ public class OrderInvoiceBiz extends BaseBiz<OrderInvoiceMapper, OrderInvoice> { ...@@ -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 ...@@ -47,4 +47,9 @@ public class OrderInvoiceController extends BaseController<OrderInvoiceBiz, Orde
return baseBiz.update(orderInvoice); 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; ...@@ -3,12 +3,14 @@ package com.xxfc.platform.universal.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.universal.entity.InvoiceQueryError; import com.xxfc.platform.universal.entity.InvoiceQueryError;
import com.xxfc.platform.universal.mapper.InvoiceQueryErrorMapper; import com.xxfc.platform.universal.mapper.InvoiceQueryErrorMapper;
import org.springframework.stereotype.Service;
/** /**
* @Auther: Administrator * @Auther: Administrator
* @Date: 2020/1/8 10:48 * @Date: 2020/1/8 10:48
* @Description: * @Description:
*/ */
@Service
public class InvoiceQueryErrorBiz extends BaseBiz<InvoiceQueryErrorMapper, InvoiceQueryError> { public class InvoiceQueryErrorBiz extends BaseBiz<InvoiceQueryErrorMapper, InvoiceQueryError> {
} }
...@@ -8,6 +8,7 @@ import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; ...@@ -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.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; 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.order.feign.OrderFeign;
import com.xxfc.platform.universal.biz.InvoiceQueryErrorBiz; import com.xxfc.platform.universal.biz.InvoiceQueryErrorBiz;
import com.xxfc.platform.universal.constant.InvoiceStatusEum; import com.xxfc.platform.universal.constant.InvoiceStatusEum;
...@@ -168,8 +169,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> { ...@@ -168,8 +169,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
//税率 //税率
BigDecimal taxRate = order.getTaxRate(); 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); taxExcludedAmount=taxExcludedAmount.add(TaxFree);
taxIncludedAmount=taxIncludedAmount.add(taxIncluded); taxIncludedAmount=taxIncludedAmount.add(taxIncluded);
}else { }else {
...@@ -227,8 +227,8 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> { ...@@ -227,8 +227,8 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
String invoiceFileUrl = (String) data.get("invoiceFileUrl"); String invoiceFileUrl = (String) data.get("invoiceFileUrl");
String invoiceCode = (String) data.get("invoiceCode"); String invoiceCode = (String) data.get("invoiceCode");
String invoiceNum = (String) data.get("invoiceNum"); String invoiceNum = (String) data.get("invoiceNum");
String taxIncludedAmountStr = (String) data.get("taxIncludedAmount"); String taxIncludedAmountStr = String.valueOf(data.get("taxIncludedAmount")) ;
String taxExcludedAmountStr = (String) data.get("taxExcludedAmount"); String taxExcludedAmountStr = String.valueOf(data.get("taxExcludedAmount")) ;
Invoice invoice = new Invoice(); Invoice invoice = new Invoice();
invoice.setId(id); invoice.setId(id);
...@@ -248,13 +248,40 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> { ...@@ -248,13 +248,40 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
invoice.setInvoiceCode(invoiceCode); invoice.setInvoiceCode(invoiceCode);
invoice.setInvoiceNo(invoiceNum); invoice.setInvoiceNo(invoiceNum);
invoice.setPictureUrl(invoiceFileUrl); invoice.setPictureUrl(invoiceFileUrl);
orderFeign
}
setOrderInvoice(orderId, status, invoiceFileUrl);
}else {
setOrderInvoice(orderId, status,null);
}
mapper.updateByPrimaryKeySelective(invoice); 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) { public void schedule(String invoiceSerialNum, Integer id,String orderId,Integer lastStatus, int count, int time,TimeUnit timeUnit) {
executorService.schedule(() -> { executorService.schedule(() -> {
queryInvoiceResult(invoiceSerialNum, id,orderId,lastStatus, count); 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