Commit deaec583 authored by hanfeng's avatar hanfeng

开票

parent 497c724e
...@@ -31,7 +31,7 @@ public class OrderData { ...@@ -31,7 +31,7 @@ public class OrderData {
/** /**
* 税率 * 税率
*/ */
private BigDecimal taxRate=new BigDecimal(0.03); private BigDecimal taxRate=new BigDecimal("0.03");
/** /**
* 单位 * 单位
......
package com.xxfc.platform.universal.controller; package com.xxfc.platform.universal.controller;
import com.alibaba.fastjson.JSONException;
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;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
...@@ -14,6 +16,7 @@ import java.util.Map; ...@@ -14,6 +16,7 @@ import java.util.Map;
/** /**
* 发票接口 * 发票接口
*
* @Auther: Administrator * @Auther: Administrator
* @Date: 2019/12/31 09:57 * @Date: 2019/12/31 09:57
* @Description: * @Description:
...@@ -26,54 +29,59 @@ public class InvoiceController extends BaseController<InvoiceBiz, Invoice> { ...@@ -26,54 +29,59 @@ public class InvoiceController extends BaseController<InvoiceBiz, Invoice> {
/** /**
* 根据开票代码获取税号 * 根据开票代码获取税号
*
* @param code * @param code
* @return * @return
*/ */
@GetMapping("/dutyParagraph") @GetMapping("/dutyParagraph")
public ObjectRestResponse getDutyParagraphByCode(@RequestParam("code")String code){ public ObjectRestResponse getDutyParagraphByCode(@RequestParam("code") String code) {
String dutyParagraph = baseBiz.getDutyParagraphByCode(code); String dutyParagraph = baseBiz.getDutyParagraphByCode(code);
return ObjectRestResponse.succ(dutyParagraph); return ObjectRestResponse.succ(dutyParagraph);
} }
/** /**
* 模糊查询获取公司全名和开票代码 * 模糊查询获取公司全名和开票代码
*
* @param name * @param name
* @return * @return
*/ */
@GetMapping("/corporateName") @GetMapping("/corporateName")
public ObjectRestResponse corporateName(@RequestParam("name")String name){ public ObjectRestResponse corporateName(@RequestParam("name") String name) {
List<Map<String, String>> mapList = baseBiz.corporateName(name); List<Map<String, String>> mapList = baseBiz.corporateName(name);
return ObjectRestResponse.succ(mapList); return ObjectRestResponse.succ(mapList);
} }
/** /**
* 开票接口 * 开票接口
*
* @param invoiceVo * @param invoiceVo
* @return * @return
* @throws Exception * @throws Exception
*/ */
@PostMapping("/invoicing") @PostMapping("/invoicing")
public ObjectRestResponse invoicing(@RequestBody InvoiceVo invoiceVo) { public ObjectRestResponse invoicing(@RequestBody InvoiceVo invoiceVo) {
String invoicing = null;
try { try {
invoicing = baseBiz.Invoicing(invoiceVo); String invoicing = baseBiz.Invoicing(invoiceVo);
return ObjectRestResponse.succ(invoicing); return ObjectRestResponse.succ(invoicing);
} catch (JSONException e) {
log.error("开票错误信息={}", e);
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, e.getMessage());
} catch (Exception e) { } catch (Exception e) {
log.error("开票错误信息={}",e); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "开票失败");
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"开票失败");
} }
} }
/** /**
* 查询开票结果 * 查询开票结果
*
* @param invoiceSerialNum * @param invoiceSerialNum
* @return * @return
*/ */
@GetMapping("/result") @GetMapping("/result")
public ObjectRestResponse invoiceResult(@RequestParam("invoiceSerialNum")String invoiceSerialNum){ public ObjectRestResponse invoiceResult(@RequestParam("invoiceSerialNum") String invoiceSerialNum) {
List<Map<String,Object>> result= baseBiz.invoiceResult(invoiceSerialNum); List<Map<String, Object>> result = baseBiz.invoiceResult(invoiceSerialNum);
return ObjectRestResponse.succ(result); return ObjectRestResponse.succ(result);
} }
} }
...@@ -2,6 +2,7 @@ package com.xxfc.platform.universal.service.invoice.impl; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.universal.service.invoice.impl;
import cn.hutool.core.collection.CollectionUtil; 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.JSONObject; import com.alibaba.fastjson.JSONObject;
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;
...@@ -54,11 +55,9 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -54,11 +55,9 @@ public class InvoiceDaoImpl implements InvoiceDao {
private String appSecret2; private String appSecret2;
@Value("${invoice.nuonuo.queryUrl}") @Value("${invoice.nuonuo.queryUrl}")
private String queryUrl ; private String queryUrl;
@Value("${invoice.nuonuo.invoiceUrl}") @Value("${invoice.nuonuo.invoiceUrl}")
private String invoiceUrl ; private String invoiceUrl;
/** /**
...@@ -117,6 +116,7 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -117,6 +116,7 @@ public class InvoiceDaoImpl implements InvoiceDao {
/** /**
* 调用第三方开票接口进行开票 * 调用第三方开票接口进行开票
*
* @param invoice * @param invoice
* @param orders * @param orders
* @return * @return
...@@ -177,16 +177,17 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -177,16 +177,17 @@ 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={}", result);
//把字符串json数据转换为map //把字符串json数据转换为map
JSONObject jsonObject = JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
Map<String, String> data = (Map<String, String>) jsonObject.get("result");
String invoiceSerialNum = data.get("invoiceSerialNum"); try {
if (StringUtils.isBlank(invoiceSerialNum)) { Map<String, String> data = (Map<String, String>) jsonObject.get("result");
String invoiceSerialNum = data.get("invoiceSerialNum");
return invoiceSerialNum;
} catch (JSONException e) {
log.error("失败原因={}", result); log.error("失败原因={}", result);
throw new BaseException("开票失败"); throw new JSONException(result);
} }
return invoiceSerialNum;
} }
@Override @Override
...@@ -209,7 +210,7 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -209,7 +210,7 @@ public class InvoiceDaoImpl implements InvoiceDao {
e.printStackTrace(); e.printStackTrace();
} }
if (data!=null){ if (data != null) {
try { try {
JSONObject jsonObject = JSON.parseObject(data); JSONObject jsonObject = JSON.parseObject(data);
List<Map<String, Object>> mapList = (List<Map<String, Object>>) jsonObject.get("result"); List<Map<String, Object>> mapList = (List<Map<String, Object>>) jsonObject.get("result");
...@@ -218,7 +219,7 @@ public class InvoiceDaoImpl implements InvoiceDao { ...@@ -218,7 +219,7 @@ public class InvoiceDaoImpl implements InvoiceDao {
throw new BaseException("发票请求流水号错误"); throw new BaseException("发票请求流水号错误");
} }
} }
return null; return null;
} }
......
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