Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
03b754a6
Commit
03b754a6
authored
Jan 06, 2020
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
开票
parent
70037a12
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
113 additions
and
55 deletions
+113
-55
Invoice.java
...main/java/com/xxfc/platform/universal/entity/Invoice.java
+1
-1
OrderData.java
...in/java/com/xxfc/platform/universal/entity/OrderData.java
+2
-0
InvoiceVo.java
...java/com/xxfc/platform/universal/entity/vo/InvoiceVo.java
+25
-22
InvoiceController.java
...xxfc/platform/universal/controller/InvoiceController.java
+10
-4
InvoiceService.java
...a/com/xxfc/platform/universal/service/InvoiceService.java
+27
-16
InvoiceDao.java
...m/xxfc/platform/universal/service/invoice/InvoiceDao.java
+4
-2
InvoiceDaoImpl.java
...atform/universal/service/invoice/impl/InvoiceDaoImpl.java
+44
-10
No files found.
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/entity/Invoice.java
View file @
03b754a6
...
...
@@ -186,7 +186,7 @@ public class Invoice {
/**
* 开票类型:1-正票;2-红票
*/
private
Integer
invoiceType
=
0
;
private
Integer
invoiceType
=
1
;
/**
* 开票内容
*/
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/entity/OrderData.java
View file @
03b754a6
...
...
@@ -31,6 +31,8 @@ public class OrderData {
* 税率
*/
private
Double
taxRate
;
private
String
specType
;
/**
* 单位
*/
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/entity/vo/InvoiceVo.java
View file @
03b754a6
...
...
@@ -4,7 +4,6 @@ import com.xxfc.platform.universal.entity.OrderData;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
...
...
@@ -14,35 +13,38 @@ import java.util.List;
*/
@Data
public
class
InvoiceVo
{
/**
* 订单id :多个以逗号隔开
*/
private
String
orderId
;
/**
* 发票分类:01 专票,02 货物运输业增值税专用发票,03 机动车销售统一发票,
* 04 增值税普通发票,10 增值税普通发票(电子),11 增值税普通发票(卷票),14 增值税普通发票(卷票)
*/
private
Integer
invoiceCategory
=
10
;
/**
* 合计金额
*/
private
BigDecimal
invoiceAmount
;
// /**
// * 合计金额
// */
// private BigDecimal invoiceAmount;
//
// /**
// * 合计税额
// */
// private BigDecimal taxAmount;
//
// /**
// * 价税合计总额
// */
// private BigDecimal invoiceSummaryAmount;
//
// /**
// * 价税合计总额大写
// */
// private String invoiceSummaryAmountText;
/**
* 合计税额
*/
private
BigDecimal
taxAmount
;
/**
* 价税合计总额
* 订单id :多个以逗号隔开
*/
private
BigDecimal
invoiceSummaryAmount
;
private
String
orderId
;
/**
* 价税合计总额大写
*/
private
String
invoiceSummaryAmountText
;
/**
* 备注
*/
...
...
@@ -74,9 +76,10 @@ public class InvoiceVo {
*/
private
String
content
;
/**
*
推送方式:-1,不推送;0,邮箱;1,手机(默认);2,邮箱、
手机
*
购方
手机
*/
private
Integer
pushMode
=
2
;
private
String
purchaserPhone
;
private
List
<
OrderData
>
orders
;
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/InvoiceController.java
View file @
03b754a6
...
...
@@ -46,9 +46,15 @@ public class InvoiceController {
return
ObjectRestResponse
.
succ
(
mapList
);
}
@PostMapping
public
ObjectRestResponse
Invoicing
(
@RequestBody
InvoiceVo
invoiceVo
){
invoiceService
.
Invoicing
(
invoiceVo
);
return
ObjectRestResponse
.
succ
();
@PostMapping
(
"/invoicing"
)
public
ObjectRestResponse
invoicing
(
@RequestBody
InvoiceVo
invoiceVo
){
String
invoicing
=
invoiceService
.
Invoicing
(
invoiceVo
);
return
ObjectRestResponse
.
succ
(
invoicing
);
}
@GetMapping
(
"/result"
)
public
ObjectRestResponse
invoiceResult
(
@RequestParam
(
"invoiceSerialNum"
)
String
invoiceSerialNum
){
String
result
=
invoiceService
.
invoiceResult
(
invoiceSerialNum
);
return
ObjectRestResponse
.
succ
(
result
);
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/InvoiceService.java
View file @
03b754a6
...
...
@@ -2,7 +2,7 @@ package com.xxfc.platform.universal.service;
import
com.xxfc.platform.universal.entity.Invoice
;
import
com.xxfc.platform.universal.entity.vo.InvoiceVo
;
import
com.xxfc.platform.universal.service.
I
nvoice.InvoiceDao
;
import
com.xxfc.platform.universal.service.
i
nvoice.InvoiceDao
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -12,6 +12,7 @@ import java.util.Map;
/**
* 发票服务
*
* @author Administrator
* @Date: 2019/12/31 10:05
* @Description:
...
...
@@ -21,30 +22,35 @@ public class InvoiceService {
@Autowired
private
InvoiceDao
invoiceDao
;
private
static
final
String
salerName
=
"欣新房车网络科技(广东)股份有限公司"
;
private
static
final
String
salerTaxNum
=
"91441900MA53C6713X"
;
private
static
final
String
salerTel
=
"13926892766"
;
private
static
final
String
salerAddress
=
"广东省东莞市松山湖园区科汇路1号1栋801室13926892766"
;
private
static
final
String
salerAccount
=
"中国建设银行股份有限公司东莞虎门连升支行44050110140900000777"
;
private
static
final
String
salerName
=
"欣新房车网络科技(广东)股份有限公司"
;
//正式
// private static final String salerTaxNum="91441900MA53C6713X";
//测试
private
static
final
String
salerTaxNum
=
"339901999999142"
;
private
static
final
String
salerTel
=
"13926892766"
;
private
static
final
String
salerAddress
=
"广东省东莞市松山湖园区科汇路1号1栋801室13926892766"
;
private
static
final
String
salerAccount
=
"中国建设银行股份有限公司东莞虎门连升支行44050110140900000777"
;
//收款人
private
static
final
String
payee
=
"郑超"
;
private
static
final
String
payee
=
"郑超"
;
//复核人
private
static
final
String
checker
=
"邹冬梅"
;
private
static
final
String
checker
=
"邹冬梅"
;
//开票人
private
static
final
String
clerk
=
"郑超"
;
private
static
final
String
clerk
=
"郑超"
;
// 推送方式:-1,不推送;0,邮箱;1,手机(默认);2,邮箱、手机
private
static
final
Integer
pushMode
=
2
;
public
String
getDutyParagraphByCode
(
String
code
)
{
return
invoiceDao
.
getDutyParagraphByCode
(
code
);
}
public
List
<
Map
<
String
,
String
>>
corporateName
(
String
name
)
{
public
List
<
Map
<
String
,
String
>>
corporateName
(
String
name
)
{
return
invoiceDao
.
corporateName
(
name
);
}
public
void
Invoicing
(
InvoiceVo
invoiceVo
)
{
public
String
Invoicing
(
InvoiceVo
invoiceVo
)
{
Invoice
invoice
=
new
Invoice
();
BeanUtils
.
copyProperties
(
invoice
,
invoiceVo
);
BeanUtils
.
copyProperties
(
invoice
Vo
,
invoice
);
invoice
.
setSalerName
(
salerName
);
invoice
.
setSalerTaxCode
(
salerTaxNum
);
invoice
.
setSalerAddressPhone
(
salerAddress
);
...
...
@@ -52,6 +58,11 @@ public class InvoiceService {
invoice
.
setPayee
(
payee
);
invoice
.
setReviewer
(
checker
);
invoice
.
setIssuer
(
clerk
);
invoiceDao
.
Invoicing
(
invoice
);
invoice
.
setPushMode
(
pushMode
);
return
invoiceDao
.
Invoicing
(
invoice
);
}
public
String
invoiceResult
(
String
invoiceSerialNum
)
{
return
invoiceDao
.
invoiceResult
(
invoiceSerialNum
);
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/
I
nvoice/InvoiceDao.java
→
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/
i
nvoice/InvoiceDao.java
View file @
03b754a6
package
com
.
xxfc
.
platform
.
universal
.
service
.
I
nvoice
;
package
com
.
xxfc
.
platform
.
universal
.
service
.
i
nvoice
;
import
com.xxfc.platform.universal.entity.Invoice
;
...
...
@@ -15,5 +15,7 @@ public interface InvoiceDao {
String
getDutyParagraphByCode
(
String
code
);
void
Invoicing
(
Invoice
invoice
);
String
Invoicing
(
Invoice
invoice
);
String
invoiceResult
(
String
invoiceSerialNum
);
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/
I
nvoice/impl/InvoiceDaoImpl.java
→
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/
i
nvoice/impl/InvoiceDaoImpl.java
View file @
03b754a6
package
com
.
xxfc
.
platform
.
universal
.
service
.
I
nvoice
.
impl
;
package
com
.
xxfc
.
platform
.
universal
.
service
.
i
nvoice
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -7,7 +7,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.universal.entity.Invoice
;
import
com.xxfc.platform.universal.entity.OrderData
;
import
com.xxfc.platform.universal.service.
I
nvoice.InvoiceDao
;
import
com.xxfc.platform.universal.service.
i
nvoice.InvoiceDao
;
import
lombok.extern.slf4j.Slf4j
;
import
nuonuo.open.sdk.NNOpenSDK
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -16,6 +16,7 @@ import org.springframework.context.annotation.Primary;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -42,8 +43,13 @@ public class InvoiceDaoImpl implements InvoiceDao {
* 诺诺-诺诺发票
*/
private
static
final
String
taxnum2
=
"91441900MA53C6713X"
;
private
static
final
String
appKey2
=
"26345711"
;
private
static
final
String
appSecret2
=
"901B543442BF41A1"
;
//沙箱
private
static
final
String
appKey2
=
"SD26345711"
;
private
static
final
String
appSecret2
=
"SD1B543442BF41A1"
;
// //正式
// private static final String appKey2 = "26345711";
// private static final String appSecret2 = "901B543442BF41A1";
...
...
@@ -101,13 +107,17 @@ public class InvoiceDaoImpl implements InvoiceDao {
@Override
public
void
Invoicing
(
Invoice
invoice
)
{
public
String
Invoicing
(
Invoice
invoice
)
{
NNOpenSDK
sdk
=
NNOpenSDK
.
getIntance
();
// API方法名
String
method
=
"nuonuo.electronInvoice.requestBilling"
;
// SDK请求地址
//沙箱
String
url
=
"https://sandbox.nuonuocs.cn/open/v1/services"
;
//正式
// String url = "https://sdk.nuonuo.com/open/v1/services";
String
senid
=
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
HashMap
<
String
,
Map
<
String
,
Object
>>
orderMap
=
new
HashMap
<>();
...
...
@@ -115,16 +125,16 @@ public class InvoiceDaoImpl implements InvoiceDao {
//购方信息
map
.
put
(
"buyerName"
,
invoice
.
getPurchaserName
());
map
.
put
(
"buyerTaxNum"
,
invoice
.
getPurchaserTaxCode
());
map
.
put
(
"buyerTel"
,
invoice
.
getPurchaserPhone
());
//
map.put("buyerTel", invoice.getPurchaserPhone());
map
.
put
(
"buyerAddress"
,
invoice
.
getPurchaserAddressPhone
());
map
.
put
(
"buyerAccount"
,
invoice
.
getPurchaserAccountBank
());
map
.
put
(
"buyerPhone"
,
invoice
.
getPurchaserPhone
());
map
.
put
(
"email"
,
invoice
.
getPurchaserEmail
());
map
.
put
(
"remark"
,
invoice
.
getRemark
());
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
//销方信息
map
.
put
(
"orderNo"
,
invoice
.
getOrderId
());
map
.
put
(
"invoiceDate"
,
new
Date
(
));
map
.
put
(
"invoiceDate"
,
dateFormat
.
format
(
new
Date
()
));
map
.
put
(
"salerName"
,
invoice
.
getSalerName
());
map
.
put
(
"salerTaxNum"
,
invoice
.
getSalerTaxCode
());
map
.
put
(
"salerAddress"
,
invoice
.
getSalerAddressPhone
());
...
...
@@ -151,15 +161,39 @@ public class InvoiceDaoImpl implements InvoiceDao {
mx
.
put
(
"price"
,
String
.
valueOf
(
order
.
getPrice
()));
mx
.
put
(
"taxRate"
,
String
.
valueOf
(
order
.
getTaxRate
()));
mx
.
put
(
"unit"
,
order
.
getUnit
());
mx
.
put
(
"specType"
,
order
.
getSpecType
());
arrayList
.
add
(
mx
);
}
String
token
=
getTokenFP
();
String
jsonString
=
JSON
.
toJSONString
(
orderMap
);
String
result
=
sdk
.
sendPostSyncRequest
(
url
,
senid
,
appKey2
,
appSecret2
,
getTokenFP
()
,
taxnum2
,
method
,
jsonString
);
String
result
=
sdk
.
sendPostSyncRequest
(
url
,
senid
,
appKey2
,
appSecret2
,
token
,
taxnum2
,
method
,
jsonString
);
System
.
out
.
println
(
result
);
return
result
;
}
@Override
public
String
invoiceResult
(
String
invoiceSerialNum
)
{
NNOpenSDK
sdk
=
NNOpenSDK
.
getIntance
();
// API方法名
String
method
=
"nuonuo.electronInvoice.CheckEInvoice"
;
HashMap
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
ArrayList
<
String
>
arrayList
=
Lists
.
newArrayList
();
arrayList
.
add
(
invoiceSerialNum
);
map
.
put
(
"invoiceSerialNum"
,
arrayList
);
String
content
=
JSON
.
toJSONString
(
map
);
// SDK请求地址
//沙箱
String
url
=
"https://sandbox.nuonuocs.cn/open/v1/services"
;
//正式
// String url = "https://sdk.nuonuo.com/open/v1/services";
// 唯一标识,由企业自己生成32位随机码
String
senid
=
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
);
String
result
=
sdk
.
sendPostSyncRequest
(
url
,
senid
,
appKey2
,
appSecret2
,
getTokenFP
(),
taxnum2
,
method
,
content
);
System
.
out
.
println
(
result
);
return
result
;
}
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment