Commit 5952a493 authored by hanfeng's avatar hanfeng

Merge branch 'master-invoice-modular' into dev

parents 7c885bcd a34221b7
...@@ -120,6 +120,8 @@ public class OrderInvoiceBiz extends BaseBiz<OrderInvoiceMapper, OrderInvoice> { ...@@ -120,6 +120,8 @@ public class OrderInvoiceBiz extends BaseBiz<OrderInvoiceMapper, OrderInvoice> {
invoiceVo.setPurchaserTaxCode(newValue.getTaxCode()); invoiceVo.setPurchaserTaxCode(newValue.getTaxCode());
invoiceVo.setRemark(newValue.getContentRemark()); invoiceVo.setRemark(newValue.getContentRemark());
invoiceVo.setOrderInvoiceId(newValue.getId()); invoiceVo.setOrderInvoiceId(newValue.getId());
invoiceVo.setUserId(appUserDTO.getUserid());
invoiceVo.setCreateBy(appUserDTO.getRealname());
invoiceVo.setOrders(list); invoiceVo.setOrders(list);
ObjectRestResponse objectRestResponse = thirdFeign.invoicing(invoiceVo); ObjectRestResponse objectRestResponse = thirdFeign.invoicing(invoiceVo);
if (!objectRestResponse.isRel()) { if (!objectRestResponse.isRel()) {
......
...@@ -2,7 +2,6 @@ package com.xxfc.platform.universal.entity.vo; ...@@ -2,7 +2,6 @@ package com.xxfc.platform.universal.entity.vo;
import com.xxfc.platform.universal.entity.OrderData; import com.xxfc.platform.universal.entity.OrderData;
import lombok.Data; import lombok.Data;
import lombok.ToString;
import java.util.List; import java.util.List;
......
package com.xxfc.platform.universal.controller; package com.xxfc.platform.universal.controller;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
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.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
...@@ -11,10 +8,8 @@ import com.xxfc.platform.universal.entity.Invoice; ...@@ -11,10 +8,8 @@ import com.xxfc.platform.universal.entity.Invoice;
import com.xxfc.platform.universal.entity.vo.InvoiceVo; import com.xxfc.platform.universal.entity.vo.InvoiceVo;
import com.xxfc.platform.universal.service.InvoiceBiz; import com.xxfc.platform.universal.service.InvoiceBiz;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -29,10 +24,7 @@ import java.util.Map; ...@@ -29,10 +24,7 @@ import java.util.Map;
@RequestMapping("/invoice") @RequestMapping("/invoice")
@Slf4j @Slf4j
public class InvoiceController extends BaseController<InvoiceBiz, Invoice> { public class InvoiceController extends BaseController<InvoiceBiz, Invoice> {
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
private UserAuthUtil userAuthUtil;
/** /**
* 根据开票代码获取税号 * 根据开票代码获取税号
...@@ -78,15 +70,15 @@ public class InvoiceController extends BaseController<InvoiceBiz, Invoice> { ...@@ -78,15 +70,15 @@ public class InvoiceController extends BaseController<InvoiceBiz, Invoice> {
* @throws Exception * @throws Exception
*/ */
@PostMapping("/invoicing") @PostMapping("/invoicing")
public ObjectRestResponse invoicing(@RequestBody InvoiceVo invoiceVo,HttpServletRequest request) throws Exception { public ObjectRestResponse invoicing(@RequestBody InvoiceVo invoiceVo) throws Exception {
String token = request.getHeader("Authorization"); // String token = request.getHeader("Authorization");
log.info("开票信息={}", invoiceVo); // log.info("开票信息={}", invoiceVo);
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(token); // IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(token);
invoiceVo.setUserId(Integer.valueOf(infoFromToken.getId())); // invoiceVo.setUserId(Integer.valueOf(infoFromToken.getId()));
invoiceVo.setCreateBy(infoFromToken.getName()); // invoiceVo.setCreateBy(infoFromToken.getName());
try { try {
String invoicing = baseBiz.Invoicing(invoiceVo,request); String invoicing = baseBiz.Invoicing(invoiceVo);
return ObjectRestResponse.succ(invoicing); return ObjectRestResponse.succ(invoicing);
} catch (BaseException e) { } catch (BaseException e) {
log.error("开票错误信息={}", e); log.error("开票错误信息={}", e);
......
package com.xxfc.platform.universal.service; package com.xxfc.platform.universal.service;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
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.biz.BaseBiz;
import com.xxfc.platform.order.entity.OrderInvoice; import com.xxfc.platform.order.entity.OrderInvoice;
import com.xxfc.platform.order.feign.OrderFeign; import com.xxfc.platform.order.feign.OrderFeign;
...@@ -24,9 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -24,9 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -107,11 +105,10 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> { ...@@ -107,11 +105,10 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
* 开票 * 开票
* *
* @param invoiceVo * @param invoiceVo
* @param request
* @return * @return
* @throws Exception * @throws Exception
*/ */
public String Invoicing(InvoiceVo invoiceVo, HttpServletRequest request) throws Exception { public String Invoicing(InvoiceVo invoiceVo) throws Exception {
//没有填写邮箱不需要进行推送 //没有填写邮箱不需要进行推送
if (StringUtils.isBlank(invoiceVo.getPurchaserEmail())) { if (StringUtils.isBlank(invoiceVo.getPurchaserEmail())) {
pushMode = -1; pushMode = -1;
...@@ -140,7 +137,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> { ...@@ -140,7 +137,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
//调用第三方开票 //调用第三方开票
String invoiceSerialNum = invoiceDao.Invoicing(invoice, orders); String invoiceSerialNum = invoiceDao.Invoicing(invoice, orders);
insertInvoic(invoice, invoiceSerialNum, orders,request); insertInvoic(invoice, invoiceSerialNum, orders);
return invoiceSerialNum; return invoiceSerialNum;
} }
...@@ -152,7 +149,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> { ...@@ -152,7 +149,7 @@ public class InvoiceBiz extends BaseBiz<InvoiceMapper, Invoice> {
* @param orders * @param orders
* @throws Exception * @throws Exception
*/ */
public void insertInvoic(Invoice invoice, String invoiceSerialNum, List<OrderData> orders,HttpServletRequest request) throws Exception { public void insertInvoic(Invoice invoice, String invoiceSerialNum, List<OrderData> orders) throws Exception {
invoice.setInvoiceSerialNum(invoiceSerialNum); invoice.setInvoiceSerialNum(invoiceSerialNum);
BigDecimal taxExcludedAmount = BigDecimal.ZERO; BigDecimal taxExcludedAmount = BigDecimal.ZERO;
......
...@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.universal.entity.Invoice; import com.xxfc.platform.universal.entity.Invoice;
...@@ -19,7 +18,6 @@ import org.springframework.context.annotation.Primary; ...@@ -19,7 +18,6 @@ import org.springframework.context.annotation.Primary;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -82,17 +80,12 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -82,17 +80,12 @@ public class InvoiceDaoImpl implements InvoiceDao {
// 唯一标识,由企业自己生成32位随机码 // 唯一标识,由企业自己生成32位随机码
String senid = UUID.randomUUID().toString().replace("-", ""); String senid = UUID.randomUUID().toString().replace("-", "");
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, getTokenJS(), taxnum, method, content); String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, getTokenJS(), taxnum, method, content);
try {
JSONObject jsonObject = JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
List<Map<String, String>> mapList = (List<Map<String, String>>) jsonObject.get("result"); List<Map<String, String>> mapList = (List<Map<String, String>>) jsonObject.get("result");
if (CollectionUtil.isNotEmpty(mapList)) { if (CollectionUtil.isNotEmpty(mapList)) {
return mapList; return mapList;
} }
throw new BaseException(result); return new ArrayList<>();
} catch (Exception e) {
throw new BaseException(result);
}
} }
/** /**
...@@ -115,13 +108,9 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -115,13 +108,9 @@ public class InvoiceDaoImpl implements InvoiceDao {
// 唯一标识,由企业自己生成32位随机码 // 唯一标识,由企业自己生成32位随机码
String senid = UUID.randomUUID().toString().replace("-", ""); String senid = UUID.randomUUID().toString().replace("-", "");
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, getTokenJS(), taxnum, method, content); String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, getTokenJS(), taxnum, method, content);
try {
JSONObject jsonObject = JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
Map<String, String> resultMap = (Map<String, String>) jsonObject.get("result"); Map<String, String> resultMap = (Map<String, String>) jsonObject.get("result");
return resultMap.get("kpCode"); return resultMap.get("kpCode");
} catch (Exception e) {
throw new BaseException(result);
}
} }
...@@ -188,8 +177,9 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -188,8 +177,9 @@ public class InvoiceDaoImpl implements InvoiceDao {
String jsonString = JSON.toJSONString(orderMap); String jsonString = JSON.toJSONString(orderMap);
//调用第三方接口 //调用第三方接口
String result = sdk.sendPostSyncRequest(invoiceUrl, senid, appKey2, appSecret2, token, taxnum2, method, jsonString); String result = sdk.sendPostSyncRequest(invoiceUrl, senid, appKey2, appSecret2, token, taxnum2, method, jsonString);
log.info("第三方响应信息={}",result);
//把字符串json数据转换为map //把字符串json数据转换为map
try { try {
JSONObject jsonObject = JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
Map<String, String> data = (Map<String, String>) jsonObject.get("result"); Map<String, String> data = (Map<String, String>) jsonObject.get("result");
...@@ -227,7 +217,7 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -227,7 +217,7 @@ public class InvoiceDaoImpl implements InvoiceDao {
List<Map<String, Object>> mapList = (List<Map<String, Object>>) jsonObject.get("result"); List<Map<String, Object>> mapList = (List<Map<String, Object>>) jsonObject.get("result");
return mapList; return mapList;
} catch (Exception e) { } catch (Exception e) {
throw new BaseException("发票请求流水号错误-"); throw new BaseException("发票请求流水号错误");
} }
} }
return null; return null;
...@@ -245,7 +235,7 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -245,7 +235,7 @@ public class InvoiceDaoImpl implements InvoiceDao {
/** /**
* 获取诺诺发票token * 获取诺诺发票token
*/ */
private String getTokenFP() { public String getTokenFP() {
return getToken(appKey2, appSecret2); return getToken(appKey2, appSecret2);
} }
...@@ -263,20 +253,8 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -263,20 +253,8 @@ public class InvoiceDaoImpl implements InvoiceDao {
redisTemplate.opsForValue().set(appKey, token, 23, TimeUnit.HOURS); redisTemplate.opsForValue().set(appKey, token, 23, TimeUnit.HOURS);
} }
return token; return token;
}
@PostConstruct
public void deleteTokenJS(){
System.out.println("deleteTokenJS");
setToken(appKey);
setToken(appKey2);
} }
private void setToken(String appKey) {
redisTemplate.delete(appKey);
}
} }
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