Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴学德
gdtel-gztel-school-center
Commits
ce39a4c2
Commit
ce39a4c2
authored
Apr 03, 2020
by
黄森林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
单宽支付完成提交
parent
9beef173
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
756 additions
and
94 deletions
+756
-94
apply-net/pom.xml
+5
-0
apply-net/src/main/java/com/winsun/controller/DankuanController.java
+669
-78
common/src/main/java/com/winsun/bean/Order.java
+3
-3
common/src/main/java/com/winsun/constant/Constant.java
+3
-3
common/src/main/java/com/winsun/utils/BeanUtil.java
+58
-0
new-user/src/main/java/com/winsun/controller/PackageNewClothes.java
+16
-8
old-user/src/main/java/com/winsun/controller/PackageUpgradeController.java
+2
-2
No files found.
apply-net/pom.xml
View file @
ce39a4c2
...
...
@@ -15,6 +15,11 @@
<dependencies>
<dependency>
<groupId>
org.jsoup
</groupId>
<artifactId>
jsoup
</artifactId>
<version>
1.9.2
</version>
</dependency>
<dependency>
<groupId>
com.winsun.framework
</groupId>
<artifactId>
winsun-core-message
</artifactId>
<version>
${winsun-framework.version}
</version>
...
...
apply-net/src/main/java/com/winsun/controller/DankuanController.java
View file @
ce39a4c2
package
com
.
winsun
.
controller
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.bean.OrderView
;
import
com.winsun.bean.Product
;
import
com.winsun.bean.School
;
import
com.winsun.bean.UniversityInfo
;
import
com.winsun.bean.*
;
import
com.winsun.constant.Constant
;
import
com.winsun.constant.OrderStatus
;
import
com.winsun.mapper.*
;
import
com.winsun.utils.BeanUtil
;
import
com.winsun.utils.IDCardUtil
;
import
com.winsun.utils.MD5Utils
;
import
com.winsun.utils.MyBatisPlusUpdateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpHost
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.message.BasicNameValuePair
;
import
org.apache.http.util.EntityUtils
;
import
org.jsoup.Jsoup
;
import
org.jsoup.nodes.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* 单宽办理接口
...
...
@@ -49,15 +60,22 @@ public class DankuanController {
private
static
OrderViewMapper
orderViewMapper
;
private
static
OrderMapper
orderMapper
;
private
static
SysUserMapper
sysUserMapper
;
@Autowired
public
DankuanController
(
ProductMapper
productMapper
,
SchoolMapper
schoolMapper
,
AppMapper
appMapper
,
UniversityInfoMapper
universityInfoMapper
,
OrderViewMapper
orderViewMapper
)
{
UniversityInfoMapper
universityInfoMapper
,
OrderViewMapper
orderViewMapper
,
OrderMapper
orderMapper
,
SysUserMapper
sysUserMapper
)
{
DankuanController
.
productMapper
=
productMapper
;
DankuanController
.
schoolMapper
=
schoolMapper
;
DankuanController
.
appMapper
=
appMapper
;
DankuanController
.
universityInfoMapper
=
universityInfoMapper
;
DankuanController
.
orderViewMapper
=
orderViewMapper
;
DankuanController
.
orderMapper
=
orderMapper
;
DankuanController
.
sysUserMapper
=
sysUserMapper
;
}
/**
...
...
@@ -89,11 +107,11 @@ public class DankuanController {
@RequestMapping
(
"/createProductOrder"
)
public
ResponseData
<
OrderView
>
createProductOrder
(
@RequestParam
(
"orderName"
)
String
orderName
,
@RequestParam
(
"orderPhone"
)
String
orderPhone
,
@RequestParam
(
"orderNumber"
)
String
orderNumber
,
@RequestParam
(
"orderCustomerStudentId"
)
String
orderCustomerStudentId
,
@RequestParam
(
"orderCustomerAccount"
)
String
orderCustomerAccount
,
@RequestParam
(
"orderCustomerPwd"
)
String
orderCustomerPwd
,
@RequestParam
(
"orderSetMeal"
)
String
orderSetMeal
,
@RequestParam
(
"productId"
)
String
productId
,
@RequestParam
(
"webOrderAmount"
)
String
webOrderAmount
)
{
if
(!
IDCardUtil
.
IDCardValidate
(
orderNumber
))
{
@RequestParam
(
"orderNumber"
)
String
orderNumber
,
@RequestParam
(
"orderCustomerStudentId"
)
String
orderCustomerStudentId
,
@RequestParam
(
"orderCustomerAccount"
)
String
orderCustomerAccount
,
@RequestParam
(
"orderCustomerPwd"
)
String
orderCustomerPwd
,
@RequestParam
(
"orderSetMeal"
)
String
orderSetMeal
,
@RequestParam
(
"productId"
)
String
productId
,
@RequestParam
(
"webOrderAmount"
)
String
webOrderAmount
)
{
if
(!
IDCardUtil
.
IDCardValidate
(
orderNumber
))
{
return
ResponseData
.
error
(
"您的身份证输入有误,请重新输入!"
);
}
if
(
orderPhone
.
length
()
!=
11
)
{
...
...
@@ -101,13 +119,25 @@ public class DankuanController {
}
Wrapper
<
OrderView
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
orderNumber
),
"orderNumber"
,
orderNumber
);
wrapper
.
ne
(
"status"
,
OrderStatus
.
INVALID
.
getId
());
wrapper
.
ne
(
"status"
,
OrderStatus
.
INVALID
.
getId
());
List
<
OrderView
>
orderViews
=
orderViewMapper
.
selectList
(
wrapper
);
OrderView
orderV
=
new
OrderView
();
if
(
orderViews
.
size
()!=
0
){
if
(
orderViews
.
size
()
!=
0
)
{
if
(
StringUtils
.
isNotBlank
(
orderViews
.
get
(
0
).
getUptranseq
()))
{
Wrapper
<
Order
>
wrapperO
=
new
EntityWrapper
<>();
wrapperO
.
eq
(
"order_number"
,
orderViews
.
get
(
0
).
getOrderseq
());
wrapperO
.
eq
(
"user_type"
,
"5"
);
List
<
Order
>
orders
=
orderMapper
.
selectList
(
wrapperO
);
if
(
orders
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前身份证号订单异常,请联系客服!"
);
}
orderV
.
setOrderseq
(
orders
.
get
(
0
).
getId
());
orderV
.
setUptranseq
(
orderViews
.
get
(
0
).
getUptranseq
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号订单已存在并完成支付!"
);
}
orderV
.
setOrderId
(
orderViews
.
get
(
0
).
getOrderId
());
orderV
.
setOrderseq
(
orderViews
.
get
(
0
).
getOrderseq
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号已有订单存在!"
);
return
ResponseData
.
error
(
orderV
,
"当前身份证号已有订单存在!"
);
}
SimpleDateFormat
yyyyMMdd
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
Date
date
=
new
Date
();
...
...
@@ -131,73 +161,189 @@ public class DankuanController {
orderView
.
setOrderRegion
(
product
.
getProductRegion
());
orderView
.
setPaytype
(
"1"
);
orderView
.
setWeborderamount
(
webOrderAmount
);
if
(
webOrderAmount
.
equals
(
"0"
))
{
if
(
webOrderAmount
.
equals
(
"0"
))
{
orderView
.
setIpay
(
"0"
);
}
else
{
}
else
{
orderView
.
setIpay
(
"1"
);
}
orderView
.
set
Orderreqtranseq
(
"xyzxyql"
);
orderView
.
set
Customerid
(
"xyzxyql"
);
orderView
.
setOrderCustomerType
(
"学生"
);
Integer
insert
=
orderViewMapper
.
insert
(
orderView
);
if
(
insert
==
1
)
{
orderV
.
setOrderId
(
orderView
.
getOrderId
());
orderV
.
setOrderseq
(
orderView
.
getOrderseq
());
return
ResponseData
.
success
(
orderV
,
"订单提交完成!"
);
if
(
insert
==
1
)
{
orderV
.
setOrderId
(
orderView
.
getOrderId
());
orderV
.
setOrderseq
(
orderView
.
getOrderseq
());
return
ResponseData
.
success
(
orderV
,
"订单提交完成!"
);
}
return
ResponseData
.
error
(
"提交失败!"
);
}
/* *//**
@RequestMapping
(
value
=
"toSubmisOrderPreser"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
produces
=
"text/plain;charset=UTF-8"
)
public
void
toSubmisOrderPreser
(
HttpServletRequest
request
)
throws
Exception
{
OrderView
orderMap
=
null
;
Map
<
String
,
Object
>
schoolMap
=
null
;
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
String
currentTimeStr
=
simpleDateFormat
.
format
(
new
Date
());
log
.
info
(
"----------异步通知后返回入口----------"
);
String
orderseq
=
request
.
getParameter
(
"ORDERSEQ"
);
//orderseq
String
uptranseq
=
request
.
getParameter
(
"UPTRANSEQ"
);
// 穗易付平台,支付流水号uptranseq
String
orderamount
=
request
.
getParameter
(
"ORDERAMOUNT"
);
//orderamount 价格
String
orderreqtranseq
=
request
.
getParameter
(
"ORDERREQTRANSEQ"
);
// 穗易付订单号 orderreqtranseq
/*String orderseq = "4iz818f1u74kznypf3w81";
String uptranseq = "2019082922001464810523969803"; // 穗易付平台,支付流水号
String orderamount = "30";
String orderreqtranseq = "GZCTPAY20190829384046979"; // 穗易付订单号*/
log
.
info
(
"----------异步请求接受参数订单号:"
+
orderseq
);
log
.
info
(
"----------异步请求接受参数支付流水号:"
+
uptranseq
);
log
.
info
(
"----------异步请求接受参数订单金额:"
+
orderamount
);
log
.
info
(
"----------异步请求接受参数穗易付订单号:"
+
orderreqtranseq
);
Wrapper
<
OrderView
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"orderSeq"
,
orderseq
);
Map
<
String
,
Object
>
dataMapping
=
new
HashMap
<>();
dataMapping
.
put
(
"orderReqtranSeq"
,
orderreqtranseq
);
dataMapping
.
put
(
"uptranseq"
,
uptranseq
);
dataMapping
.
put
(
"order_payment_time"
,
new
Date
());
dataMapping
.
put
(
"status"
,
"已支付"
);
orderViewMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping
),
wrapper
);
wrapper
.
eq
(
"orderSeq"
,
orderseq
);
orderMap
=
orderViewMapper
.
selectList
(
wrapper
).
get
(
0
);
// 根据学校名称,获取该学校信息
Wrapper
<
UniversityInfo
>
wrapper1
=
new
EntityWrapper
<>();
wrapper1
.
eq
(
"university_name"
,
orderMap
.
getOrderUniversityName
());
wrapper1
.
eq
(
"university_region"
,
orderMap
.
getOrderRegion
());
schoolMap
=
universityInfoMapper
.
selectMaps
(
wrapper1
).
get
(
0
);
if
(
StringUtils
.
isBlank
(
orderMap
.
getOrderseqthd
()))
{
// 1、获取产品ID
JSONObject
productJsonObject
=
getProductId
(
currentTimeStr
);
log
.
info
(
"----------调用智能平台的产品接口返回参数:"
+
productJsonObject
);
// 2、获取销售品ID
if
(
productJsonObject
.
toString
().
indexOf
(
"list"
)
==
-
1
)
{
return
;
}
JSONArray
list
=
productJsonObject
.
getJSONArray
(
"list"
);
String
productId
=
null
;
// 产品id
orderamount
=
orderamount
.
replace
(
"元"
,
""
);
orderamount
=
orderamount
.
replace
(
".00"
,
""
);
String
productName
=
"校园宽带"
+
orderamount
+
"元"
;
if
(
orderamount
.
equals
(
"0.01"
))
{
productName
=
"校园宽带30元"
;
}
else
if
(
orderamount
.
equals
(
"0.02"
))
{
productName
=
"校园宽带300元"
;
}
log
.
info
(
"------"
+
productName
);
// productName = "校园宽带30元";
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
JSONObject
itmeJson
=
JSONObject
.
parseObject
(
list
.
get
(
i
).
toString
());
// 判断获取的全部产品与订单产品符合的拿取对应的ID
if
(
itmeJson
.
getString
(
"name"
).
indexOf
(
productName
)
!=
-
1
)
{
productId
=
itmeJson
.
getString
(
"id"
);
// 获取对应产品ID
break
;
}
}
log
.
info
(
"----------根据返回参数获取产品ID:"
+
productId
);
String
saleId
=
null
;
// 销售id
JSONObject
saleJsonObject
=
getSaleId
(
productId
,
currentTimeStr
);
// 获取销售ID
log
.
info
(
"----------调用智能平台的获取销售品接口返回值:"
+
saleJsonObject
);
JSONArray
saleList
=
saleJsonObject
.
getJSONArray
(
"list"
);
JSONObject
itmeJson
=
JSONObject
.
parseObject
(
saleList
.
get
(
0
).
toString
());
saleId
=
itmeJson
.
getString
(
"saleId"
);
// 3、提交订单到智能平台
JSONObject
submitOrderJsonObject
=
getOrderInfo
(
schoolMap
,
orderMap
,
currentTimeStr
,
productId
,
saleId
,
orderseq
,
uptranseq
,
orderamount
,
orderreqtranseq
);
log
.
info
(
"----------调用单宽带接口(提交订单至智能平台)并返回参数信息---status:"
+
submitOrderJsonObject
.
get
(
"status"
)
+
" msg:"
+
submitOrderJsonObject
.
get
(
"msg"
)
+
" orderNum:"
+
submitOrderJsonObject
.
get
(
"orderNumber"
));
// 4、查询智能订单是否存在
String
orderNum
=
(
String
)
submitOrderJsonObject
.
get
(
"orderNumber"
);
if
(
StringUtils
.
isNotBlank
(
orderNum
))
{
/* 5、更新数据库 */
Map
<
String
,
Object
>
dataMapping1
=
new
HashMap
<>();
dataMapping1
.
put
(
"orderSeqTHD"
,
orderNum
);
dataMapping1
.
put
(
"status"
,
"已支付"
);
orderViewMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping1
),
wrapper
);
Wrapper
<
Order
>
objectEntityWrapper
=
new
EntityWrapper
<>();
objectEntityWrapper
.
eq
(
"order_number"
,
orderseq
);
Map
<
String
,
Object
>
dataMapping2
=
new
HashMap
<>();
dataMapping2
.
put
(
"order_status"
,
"审核中"
);
dataMapping2
.
put
(
"order_id"
,
orderNum
);
dataMapping2
.
put
(
"th_status"
,
submitOrderJsonObject
.
get
(
"status"
));
orderMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping2
),
objectEntityWrapper
);
List
<
Order
>
orders
=
orderMapper
.
selectList
(
objectEntityWrapper
);
appMapper
.
inserOrderHis
(
orders
.
get
(
0
).
getId
(),
"支付完成,待审核!"
,
new
Date
(),
orders
.
get
(
0
).
getCustomerName
());
}
}
else
{
log
.
info
(
"---单宽支付接口推送---"
+
orderseq
+
"---"
+
uptranseq
+
"---"
+
orderamount
+
"---"
+
orderreqtranseq
);
}
}
@RequestMapping
(
value
=
"orderPay"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
produces
=
"text/plain;charset=UTF-8"
)
@ResponseBody
public
String
toPaymentPlatformPage
(
@RequestParam
(
"orderId"
)
String
orderId
,
@RequestParam
(
"ipay"
)
String
ipay
,
@RequestParam
(
"userId"
)
String
userId
,
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
JsoupMethodZhifu
(
orderId
,
ipay
,
userId
,
request
,
response
);
return
null
;
}
/**
* @author ljh
* @Description:支付请求
*/
/*
p
rivate void JsoupMethodZhifu(HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
*/
p
ublic
void
JsoupMethodZhifu
(
String
orderId
,
String
ipay
,
String
userId
,
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
log
.
info
(
"----------首先发送支付请求接口----------"
);
Map<String, String> map = new HashMap<String, String>();
//查询订单信息
OrderView
orderView
=
orderViewMapper
.
selectById
(
orderId
);
String
uuid
=
UUID
.
randomUUID
().
toString
();
String
id
=
uuid
.
split
(
"-"
)[
0
]
+
uuid
.
split
(
"-"
)[
1
];
//修改支付方式
Wrapper
<
OrderView
>
wrapper
=
new
EntityWrapper
<>();
wrapper
.
eq
(
"order_id"
,
orderId
);
Map
<
String
,
Object
>
dataMapping
=
new
HashMap
<>();
dataMapping
.
put
(
"ipay"
,
ipay
);
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
//给MAP数组添加数据
map.put("CLIENTNUMBER", Constant.CLIENTNUMBER);
map.put("ORDERSEQ", orderMap.get("orderSeq"));
log.info("----------宽带价格prices:" + prices);
if (Constant.PRODUCTSKU479Str.indexOf(prices) != -1) {
map.put("PRODUCTSKU", Constant.PRODUCTSKU479);
map
.
put
(
"CLIENTNUMBER"
,
Constant
.
CLIENTNUMBER
);
//商户标识,由穗易付平台统一分配
map
.
put
(
"ORDERSEQ"
,
orderView
.
getOrderseq
());
//订单号
log
.
info
(
"----------宽带价格prices:"
+
orderView
.
getWeborderamount
());
if
(
Constant
.
PRODUCTSKU479Str
.
indexOf
(
orderView
.
getWeborderamount
())
!=
-
1
)
{
map
.
put
(
"PRODUCTSKU"
,
Constant
.
PRODUCTSKU479
);
//商户产品
}
else
{
map
.
put
(
"PRODUCTSKU"
,
Constant
.
PRODUCTSKU481
);
}
Date
orderdate
=
orderView
.
getOrderdate
();
SimpleDateFormat
ft
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
map
.
put
(
"ORDERDATE"
,
ft
.
format
(
orderdate
));
map
.
put
(
"ORDERAMOUNT"
,
orderView
.
getWeborderamount
());
//价格
map
.
put
(
"ORDERNAME"
,
orderView
.
getOrdername
());
//用户名
map
.
put
(
"ORDERPHONE"
,
orderView
.
getOrderphone
());
//支付宝账号(电话)
map
.
put
(
"ORDERNUMBER"
,
orderView
.
getOrdernumber
());
//身份证
map.put("ORDERDATE", orderMap.get("orderDate"));
String pricesStr = orderMap.get("prices").replace("元", "");
// pricesStr = "0.01";
map.put("ORDERAMOUNT", pricesStr);
if
(
Constant
.
Payment1
.
equals
(
ipay
))
{
//支付成功回调的页面
// String MERCHANTURL = Constant.TOMCATURL + "/dankuan/toPaymentSuccessPage?id=" + userId +"orderId="+id;
String
MERCHANTURL
=
"https://www.baidu.com"
;
map
.
put
(
"MERCHANTURL"
,
MERCHANTURL
);
}
//单宽回调后端接口地址
// map.put("BACKDROPURL", Constant.TOMCATURL + "/dankuan/toSubmisOrderPreser");
map
.
put
(
"BACKDROPURL"
,
"http://yrym.winsun-aly.com/gdtel-xyzx-hhr/paymentCon/toSubmisOrderPreser.do"
);
map.put("ORDERNAME", orderMap.get("orderName"));
map.put("ORDERPHONE", orderMap.get("orderPhone"));
map.put("ORDERNUMBER", orderMap.get("orderNumber"));
if (Constant.Payment1.equals(radioValue)) {
String MERCHANTURL = Constant.TOMCATURL + "/gdtel-xyzx-hhr/vPageJump/toPaymentSuccessPage.do?orderSeq=" + orderMap.get("orderSeq");
map.put("MERCHANTURL", MERCHANTURL);
}
if (orderMap.get("upStatus") != null && orderMap.get("upStatus").equals("1")) {
//支付成功后融合回调
map.put("BACKDROPURL", Constant.TOMCATURL + "/gdtel-xyzx-hhr/paymentCon/toSubmisOrderPreserRH.do");
} else {
//单宽回调地址
map.put("BACKDROPURL", Constant.TOMCATURL + "/gdtel-xyzx-hhr/paymentCon/toSubmisOrderPreser.do");
}
String str = "ORDERSEQ=" + orderMap.get("orderSeq") + "&ORDERDATE=" + orderMap.get("orderDate") + "&ORDERAMOUNT=" + pricesStr + "&KEY=" + Constant.KEY;
*//* 将值转换为大写 *//*
map.put("MAC", SignUtil.exChange(SignUtil.md5EncodeSignature(str)));
String
str
=
"ORDERSEQ="
+
orderView
.
getOrderseq
()
+
"&ORDERDATE="
+
ft
.
format
(
orderdate
)
+
"&ORDERAMOUNT="
+
orderView
.
getWeborderamount
()
+
"&KEY="
+
Constant
.
KEY
;
//商户标识
//* 将值转换为大写 *//*
map
.
put
(
"MAC"
,
MD5Utils
.
md5
(
str
).
toUpperCase
());
int
PAYTYPE
=
1
;
// 支付类型
int
IPAY
=
1
;
// 支付平台
log.info("----------支付渠道(0翼支付网厅,1支付宝,3微信):" +
radioValue
);
if (Constant.Payment3.equals(
radioValue
)) {
log
.
info
(
"----------支付渠道(0翼支付网厅,1支付宝,3微信):"
+
ipay
);
if
(
Constant
.
Payment3
.
equals
(
ipay
))
{
PAYTYPE
=
5
;
IPAY
=
3
;
}
...
...
@@ -212,9 +358,9 @@ public class DankuanController {
doc
=
Jsoup
.
connect
(
"https://gzdxpay.mini189.cn/web/order-pay.action"
).
data
(
map
).
timeout
(
20000
).
ignoreContentType
(
true
).
post
();
//获取回调信息
String
i
=
doc
.
text
().
trim
();
System.out.println
(i);
log
.
info
(
i
);
//解析json格式
JSONObject json = JSONObject.
from
Object(i);
JSONObject
json
=
JSONObject
.
parse
Object
(
i
);
//获取jsonp格式中的result(短链接,返回到前端)
log
.
info
(
"----------调用穗易付接口返回的结果:"
+
json
);
result
=
(
String
)
json
.
get
(
"result"
);
...
...
@@ -222,21 +368,466 @@ public class DankuanController {
String
ORDERSEQ
=
(
String
)
json
.
get
(
"ORDERSEQ"
);
String
msg
=
(
String
)
json
.
get
(
"msg"
);
if
(
StringUtils
.
isNotBlank
(
msg
)
&&
msg
.
equals
(
"success"
))
{
//获取的短链接地址,使用redirect方式返回前端。(流程图中的步骤8,301跳转)
orderMap.put("payType", PAYTYPE + "");
log.info("====默认受理未付费,之后可通过提交订单到智能平台后再更新状态====");
orderMap.put("Status", "100");
log.info("====保存到本地数据库 ====");
if (StringUtils.isNotBlank(ORDERSEQ)) {
Map<String, Object> queOrderMaps = orderService.queryorderSeq(ORDERSEQ); // 保存前查询订单号是否存在,存在即为更新
if (BeanUtil.isNotBlank(queOrderMaps)) {
saveOrderInfo(request, orderMap, ORDERSEQ);
} else {
saveOrderInfo(request, orderMap, "");
}
dataMapping
.
put
(
"status"
,
"未支付"
);
orderViewMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping
),
wrapper
);
Order
order
=
new
Order
();
order
.
setId
(
id
);
order
.
setOrderNumber
(
orderView
.
getOrderseq
());
order
.
setOrderStatus
(
OrderStatus
.
NOTPAID
.
getName
());
order
.
setHehuorenId
(
userId
);
order
.
setCustomerName
(
orderView
.
getOrdername
());
order
.
setContactNumber
(
orderView
.
getOrderphone
());
order
.
setIdCard
(
orderView
.
getOrdernumber
());
order
.
setCreateTime
(
new
Date
());
order
.
setUserType
(
"5"
);
order
.
setNetNumber
(
orderView
.
getOrderCustomerAccount
());
order
.
setNetPassword
(
orderView
.
getOrderCustomerPwd
());
order
.
setUserSchool
(
orderView
.
getOrderUniversityName
());
order
.
setExpenses
(
orderView
.
getOrderSetMeal
());
order
.
setKdOrderId
(
orderView
.
getOrderseq
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
String
schoolId
=
appMapper
.
selectSchoolId
(
userId
);
School
school
=
schoolMapper
.
selectById
(
schoolId
);
order
.
setHehuorenSchool
(
school
.
getSchoolName
());
order
.
setHehuorenName
(
sysUser
.
getName
());
order
.
setHehuorenArea
(
sysUser
.
getSubstName
());
List
<
String
>
userId1
=
appMapper
.
selectsupervisorBySchool
(
schoolId
);
SysUser
user
=
sysUserMapper
.
selectById
(
userId1
.
get
(
0
));
order
.
setSupervisorName
(
user
.
getName
());
order
.
setLzgh
(
school
.
getLzgh
());
orderMapper
.
insert
(
order
);
appMapper
.
inserOrderHis
(
id
,
"支付请求提交!"
,
new
Date
(),
orderView
.
getOrdername
());
response
.
sendRedirect
(
result
);
}
}
/**
* @author ljh
* @Description:获取产品ID
* @method:getProductId
* @return: JSONObject
* @date 2018年6月5日上午10:21:19
* @version 1.0
* @exception:
*/
private
JSONObject
getProductId
(
String
currentTimeStr
)
throws
Exception
{
List
<
NameValuePair
>
qParams
=
new
ArrayList
<
NameValuePair
>();
Map
<
String
,
String
>
signMap
=
new
HashMap
<
String
,
String
>();
//待签名参数
RequestConfig
defaultRequestConfig
=
RequestConfig
.
custom
().
setSocketTimeout
(
50000
)
.
setConnectTimeout
(
50000
).
setConnectionRequestTimeout
(
50000
).
build
();
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
setDefaultRequestConfig
(
defaultRequestConfig
)
.
build
();
HttpEntity
entity
=
null
;
HttpPost
httpPost
=
new
HttpPost
(
Constant
.
ZHANGSHIURL
+
"query.action"
);
RequestConfig
requestConfig
=
RequestConfig
.
copy
(
defaultRequestConfig
).
build
();
httpPost
.
setConfig
(
requestConfig
);
qParams
.
add
(
new
BasicNameValuePair
(
"service"
,
"product.broadband.query"
));
//api标识,必填
signMap
.
put
(
"service"
,
"product.broadband.query"
);
qParams
.
add
(
new
BasicNameValuePair
(
"userName"
,
Constant
.
ZHENGSHIAUCCON
));
//用户名,必填
signMap
.
put
(
"userName"
,
Constant
.
ZHENGSHIAUCCON
);
qParams
.
add
(
new
BasicNameValuePair
(
"timeStamp"
,
currentTimeStr
));
//时间戳(YYYYMMDDHHMMSS) ,必填
signMap
.
put
(
"timeStamp"
,
currentTimeStr
);
qParams
.
add
(
new
BasicNameValuePair
(
"business"
,
"单宽带"
));
//产品类型,必填
signMap
.
put
(
"business"
,
"单宽带"
);
List
<
String
>
keys
=
new
ArrayList
<
String
>();
keys
.
addAll
(
signMap
.
keySet
());
Collections
.
sort
(
keys
);
//key按字符串升序
String
value
,
plaintext
=
""
;
for
(
String
key
:
keys
)
{
value
=
signMap
.
get
(
key
);
plaintext
=
plaintext
.
concat
(
value
);
}
plaintext
=
plaintext
.
concat
(
Constant
.
ZHANGSHIKEY
);
String
sign
=
MD5Utils
.
md5
(
plaintext
).
toUpperCase
();
//md5加密
qParams
.
add
(
new
BasicNameValuePair
(
"sign"
,
sign
));
//签名,必填
JSONObject
resultDataJson
=
null
;
try
{
httpPost
.
setHeader
(
"Content-Type"
,
"application/x-www-form-urlencoded;charset=utf-8"
);
httpPost
.
setEntity
(
new
UrlEncodedFormEntity
(
qParams
,
"UTF-8"
));
log
.
info
(
"提交参数:"
+
EntityUtils
.
toString
(
httpPost
.
getEntity
(),
"UTF-8"
));
HttpResponse
response
=
httpclient
.
execute
(
httpPost
);
entity
=
response
.
getEntity
();
String
httpResult
=
EntityUtils
.
toString
(
entity
,
"UTF-8"
);
resultDataJson
=
JSONObject
.
parseObject
(
httpResult
);
}
catch
(
Exception
e
)
{
log
.
info
(
"查询单宽带(预付费、移动、融合、续约、增值)产品接口异常"
);
e
.
printStackTrace
();
}
finally
{
httpPost
.
releaseConnection
();
}
return
resultDataJson
;
}
/**
* @author ljh
* @Description:获取销售品ID
* @method:getSaleId
* @return: JSONObject
* @date 2018年6月5日上午10:23:42
* @version 1.0
* @exception:
*/
/**
* 单宽支付平台异步更新后台地址,主要对订单进去保存和提交订单到智能平台上
*/
@RequestMapping
(
value
=
"getSaleId"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
produces
=
"text/plain;charset=UTF-8"
)
private
JSONObject
getSaleId
(
String
productId
,
String
currentTimeStr
)
throws
Exception
{
List
<
NameValuePair
>
qParams
=
new
ArrayList
<
NameValuePair
>();
Map
<
String
,
String
>
signMap
=
new
HashMap
<
String
,
String
>();
//待签名参数
HttpHost
proxy
=
new
HttpHost
(
"172.18.101.170"
,
3128
);
RequestConfig
defaultRequestConfig
=
RequestConfig
.
custom
().
setSocketTimeout
(
500000
)
.
setConnectTimeout
(
500000
).
setConnectionRequestTimeout
(
500000
).
setProxy
(
proxy
).
build
();
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
setDefaultRequestConfig
(
defaultRequestConfig
)
.
build
();
HttpEntity
entity
=
null
;
HttpPost
httpPost
=
new
HttpPost
(
Constant
.
ZHANGSHIURL
+
"query.action"
);
RequestConfig
requestConfig
=
RequestConfig
.
copy
(
defaultRequestConfig
).
build
();
httpPost
.
setConfig
(
requestConfig
);
qParams
.
add
(
new
BasicNameValuePair
(
"service"
,
"sale.query"
));
//api标识,必填
signMap
.
put
(
"service"
,
"sale.query"
);
qParams
.
add
(
new
BasicNameValuePair
(
"userName"
,
Constant
.
ZHENGSHIAUCCON
));
//用户名,必填
signMap
.
put
(
"userName"
,
Constant
.
ZHENGSHIAUCCON
);
qParams
.
add
(
new
BasicNameValuePair
(
"timeStamp"
,
currentTimeStr
));
signMap
.
put
(
"timeStamp"
,
currentTimeStr
);
if
(
StringUtils
.
isNotBlank
(
productId
))
{
qParams
.
add
(
new
BasicNameValuePair
(
"productId"
,
productId
));
//产品ID
signMap
.
put
(
"productId"
,
productId
);
}
List
<
String
>
keys
=
new
ArrayList
<
String
>();
keys
.
addAll
(
signMap
.
keySet
());
Collections
.
sort
(
keys
);
//key按字符串升序
String
value
,
plaintext
=
""
;
for
(
String
key
:
keys
)
{
value
=
signMap
.
get
(
key
);
plaintext
=
plaintext
.
concat
(
value
);
}
plaintext
=
plaintext
.
concat
(
Constant
.
ZHANGSHIKEY
);
String
sign
=
MD5Utils
.
md5
(
plaintext
).
toUpperCase
();
//md5加密
qParams
.
add
(
new
BasicNameValuePair
(
"sign"
,
sign
));
//签名,必填
JSONObject
resultDataJson
=
null
;
try
{
httpPost
.
setHeader
(
"Content-Type"
,
"application/x-www-form-urlencoded;charset=utf-8"
);
httpPost
.
setEntity
(
new
UrlEncodedFormEntity
(
qParams
,
"UTF-8"
));
log
.
info
(
"提交参数:"
+
EntityUtils
.
toString
(
httpPost
.
getEntity
(),
"UTF-8"
));
HttpResponse
response
=
httpclient
.
execute
(
httpPost
);
entity
=
response
.
getEntity
();
String
httpResult
=
EntityUtils
.
toString
(
entity
,
"UTF-8"
);
log
.
info
(
"返回信息:"
+
httpResult
);
resultDataJson
=
JSONObject
.
parseObject
(
httpResult
);
}
catch
(
Exception
e
)
{
log
.
info
(
"---接口异常"
);
e
.
printStackTrace
();
}
finally
{
httpPost
.
releaseConnection
();
}
return
resultDataJson
;
}
/**
* @author ljh
* @Description:提交单宽
* @method:getOrderInfo
* @return: JSONObject
* @date 2018年6月5日上午10:41:21
* @version 1.0
* @exception:
*/
private
JSONObject
getOrderInfo
(
Map
<
String
,
Object
>
schoolMap
,
OrderView
orderMap
,
String
currentTimeStr
,
String
productId
,
String
saleId
,
String
ORDERSEQ
,
String
UPTRANSEQ
,
String
ORDERAMOUNT
,
String
ORDERREQTRANSEQ
)
throws
Exception
{
List
<
NameValuePair
>
qParams
=
new
ArrayList
<
NameValuePair
>();
RequestConfig
defaultRequestConfig
=
RequestConfig
.
custom
().
setSocketTimeout
(
50000
)
.
setConnectTimeout
(
50000
).
setConnectionRequestTimeout
(
50000
).
build
();
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
setDefaultRequestConfig
(
defaultRequestConfig
)
.
build
();
HttpEntity
entity
=
null
;
HttpPost
httpPost
=
new
HttpPost
(
Constant
.
ZHANGSHIURL
+
"create-order.action"
);
RequestConfig
requestConfig
=
RequestConfig
.
copy
(
defaultRequestConfig
).
build
();
httpPost
.
setConfig
(
requestConfig
);
Map
<
String
,
String
>
signMap
=
new
HashMap
<
String
,
String
>();
//待签名参数
qParams
.
add
(
new
BasicNameValuePair
(
"service"
,
"order.broadband.create"
));
//api标识,必填
signMap
.
put
(
"service"
,
"order.broadband.create"
);
//api标识,必填
qParams
.
add
(
new
BasicNameValuePair
(
"userName"
,
Constant
.
ZHENGSHIAUCCON
));
//用户名,必填
signMap
.
put
(
"userName"
,
Constant
.
ZHENGSHIAUCCON
);
qParams
.
add
(
new
BasicNameValuePair
(
"timeStamp"
,
currentTimeStr
));
//时间戳(YYYYMMDDHHMMSS) ,必填
signMap
.
put
(
"timeStamp"
,
currentTimeStr
);
qParams
.
add
(
new
BasicNameValuePair
(
"productCategory"
,
"单宽带"
));
//业务类型 ,必填
signMap
.
put
(
"productCategory"
,
"单宽带"
);
qParams
.
add
(
new
BasicNameValuePair
(
"customerType"
,
"2"
));
//客户类型 (1:已有固话,未有宽带 2:未有固话和宽带),必填
signMap
.
put
(
"customerType"
,
"2"
);
qParams
.
add
(
new
BasicNameValuePair
(
"fixedPhoneNum"
,
""
));
//客户类型为1时,固话号码,必填
signMap
.
put
(
"fixedPhoneNum"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"govEntCustomer"
,
"0"
));
//是否政企客户下单 0:否 1:是,必填
signMap
.
put
(
"govEntCustomer"
,
"0"
);
qParams
.
add
(
new
BasicNameValuePair
(
"agentName"
,
""
));
//若是政企客户下单,代办人姓名,必填
signMap
.
put
(
"agentName"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"agentCardNum"
,
""
));
//若是政企客户下单,代办人身份证号码,必填
signMap
.
put
(
"agentCardNum"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"customerName"
,
orderMap
.
getOrdername
()));
//客户姓名,必填
signMap
.
put
(
"customerName"
,
orderMap
.
getOrdername
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerPhone"
,
orderMap
.
getOrderphone
()));
//客户电话,必填
signMap
.
put
(
"customerPhone"
,
orderMap
.
getOrderphone
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardType"
,
"身份证"
));
//证件类型,必填
signMap
.
put
(
"customerCardType"
,
"身份证"
);
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardNum"
,
orderMap
.
getOrdernumber
()));
//证件号码,必填
signMap
.
put
(
"customerCardNum"
,
orderMap
.
getOrdernumber
());
qParams
.
add
(
new
BasicNameValuePair
(
"addressProvince"
,
"广东省"
));
//报装地址省份,必填
signMap
.
put
(
"addressProvince"
,
"广东省"
);
qParams
.
add
(
new
BasicNameValuePair
(
"addressCity"
,
"广州市"
));
//报装地址城市,必填
signMap
.
put
(
"addressCity"
,
"广州市"
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryProvince"
,
"广东省"
));
// 配送地址-省,必填
signMap
.
put
(
"deliveryProvince"
,
"广东省"
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryCity"
,
"广州市"
));
// 配送地址-市,必填
signMap
.
put
(
"deliveryCity"
,
"广州市"
);
String
addressDistrict
=
null
;
String
address
=
null
;
String
addressID
=
null
;
String
landId
=
null
;
String
universityTerminalType
=
null
;
String
universityUserCategory
=
null
;
String
universityUserType
=
null
;
String
universityMonthlyRentType
=
null
;
String
universityChargingAttribute
=
null
;
String
universityOnlineNumber
=
null
;
String
universityOneManTerminal
=
null
;
String
universityIsFtthHub
=
null
;
String
universityExteriorLines
=
null
;
String
universityChargeMode
=
null
;
if
(
BeanUtil
.
isNotBlank
(
schoolMap
))
{
addressDistrict
=
(
String
)
schoolMap
.
get
(
"universityRegion"
);
address
=
(
String
)
schoolMap
.
get
(
"universityInstalledAddress"
);
addressID
=
(
String
)
schoolMap
.
get
(
"universityInstalledAddressId"
);
landId
=
(
String
)
schoolMap
.
get
(
"universityPackageNumber"
);
universityTerminalType
=
(
String
)
schoolMap
.
get
(
"universityTerminalType"
);
universityUserCategory
=
(
String
)
schoolMap
.
get
(
"universityUserCategory"
);
universityUserType
=
(
String
)
schoolMap
.
get
(
"universityUserType"
);
universityMonthlyRentType
=
(
String
)
schoolMap
.
get
(
"universityMonthlyRentType"
);
universityChargingAttribute
=
(
String
)
schoolMap
.
get
(
"universityChargingAttribute"
);
universityOnlineNumber
=
(
String
)
schoolMap
.
get
(
"universityOnlineNumber"
);
universityOneManTerminal
=
(
String
)
schoolMap
.
get
(
"universityOneManTerminal"
);
universityIsFtthHub
=
(
String
)
schoolMap
.
get
(
"universityIsFtthHub"
);
universityExteriorLines
=
(
String
)
schoolMap
.
get
(
"universityExteriorLines"
);
universityChargeMode
=
(
String
)
schoolMap
.
get
(
"universityChargeMode"
);
}
else
{
addressDistrict
=
"测试区"
;
address
=
"广东省广州市测试区测试街道1号"
;
addressID
=
"00000"
;
landId
=
"20180621"
;
universityTerminalType
=
"测试"
;
universityUserCategory
=
"测试"
;
universityUserType
=
"测试"
;
universityMonthlyRentType
=
"测试"
;
universityChargingAttribute
=
"测试"
;
universityOnlineNumber
=
"0"
;
universityOneManTerminal
=
"否"
;
universityIsFtthHub
=
"否"
;
universityExteriorLines
=
"测试"
;
universityChargeMode
=
"测试"
;
}
qParams
.
add
(
new
BasicNameValuePair
(
"addressDistrict"
,
addressDistrict
));
//报装地址区域,必填
signMap
.
put
(
"addressDistrict"
,
addressDistrict
);
qParams
.
add
(
new
BasicNameValuePair
(
"address"
,
address
));
//报装详细地址,必填
signMap
.
put
(
"address"
,
address
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryDistrict"
,
addressDistrict
));
// 配送地址-区,必填
signMap
.
put
(
"deliveryDistrict"
,
addressDistrict
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryAddress"
,
address
));
// 配送地址-详细地址,必填
signMap
.
put
(
"deliveryAddress"
,
address
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContact"
,
orderMap
.
getOrdername
()));
//报装联系人,必填
signMap
.
put
(
"deliveryContact"
,
orderMap
.
getOrdername
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderMap
.
getOrderphone
()));
//报装联系电话,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderMap
.
getOrderphone
());
qParams
.
add
(
new
BasicNameValuePair
(
"invoiced"
,
"0"
));
//是否需要发票 0:否 1:是,必填
signMap
.
put
(
"invoiced"
,
"0"
);
qParams
.
add
(
new
BasicNameValuePair
(
"invoiceTitle"
,
""
));
//若需要发票,发票抬头,必填
signMap
.
put
(
"invoiceTitle"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"invoiceDeliveryAddress"
,
""
));
//若需要发票,发票电子邮箱,必填
signMap
.
put
(
"invoiceDeliveryAddress"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"landId"
,
landId
));
//揽装工号,必填
signMap
.
put
(
"landId"
,
landId
);
qParams
.
add
(
new
BasicNameValuePair
(
"groupLanId"
,
""
));
//集团揽装工号,选填
signMap
.
put
(
"groupLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"comarketingLanId"
,
""
));
//协销工号,选填
signMap
.
put
(
"comarketingLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"groupComarketingLanId"
,
""
));
//集团协销工号,选填
signMap
.
put
(
"groupComarketingLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderOutNum"
,
orderMap
.
getOrderseq
()));
//外部订单编号,选填!;通过API接口下单,必须传入一个外部接入商的订单编号,该编号与智能营销系统编号一一对应
signMap
.
put
(
"orderOutNum"
,
orderMap
.
getOrderseq
());
qParams
.
add
(
new
BasicNameValuePair
(
"orderSource"
,
"校园宽带自助受理"
));
//订单来源 ,选填
signMap
.
put
(
"orderSource"
,
"校园宽带自助受理"
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderSourceNum"
,
orderMap
.
getOrderseq
()));
//订单来源单号,选填; 与订单来源对应,用于业务上记录订单的来源订单编号
signMap
.
put
(
"orderSourceNum"
,
orderMap
.
getOrderseq
());
qParams
.
add
(
new
BasicNameValuePair
(
"salePointCode"
,
""
));
//销售点编码,选填
signMap
.
put
(
"salePointCode"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"personCode"
,
""
));
//人员编码,选填
signMap
.
put
(
"personCode"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"distributorSmsReceive"
,
""
));
//分销商短信接收号码,选填
signMap
.
put
(
"distributorSmsReceive"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"agent"
,
""
));
//代理商推荐人,选填
signMap
.
put
(
"agent"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"copyied"
,
"0"
));
//是否收取复印件(0:否 1:是),必填
signMap
.
put
(
"copyied"
,
"0"
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderMap
.
getOrderphone
()));
//联系人电话 ,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderMap
.
getOrderphone
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone2"
,
""
));
//联系人电话2,选填
signMap
.
put
(
"deliveryContactPhone2"
,
""
);
List
<
Map
<
String
,
Object
>>
productList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
//下单产品列表
List
<
Map
<
String
,
String
>>
paymentList
=
new
ArrayList
<
Map
<
String
,
String
>>();
//收费项列表
List
<
Map
<
String
,
String
>>
propertyList
=
new
ArrayList
<
Map
<
String
,
String
>>();
//产品自定义属性列表
//下单产品
Map
<
String
,
Object
>
productMap
=
new
HashMap
<
String
,
Object
>();
//收费项;智能平台3.0产品设计中收费项可由用户自主选择(至少选择一个),可根据需要创建paymentMap对象;注意:每个收费项可独立选择缴费方式
Map
<
String
,
String
>
paymentMap
=
new
HashMap
<
String
,
String
>();
paymentMap
.
put
(
"id"
,
saleId
);
//收费项ID,必填;请通过销售品列表接口获取
paymentMap
.
put
(
"payType"
,
"2"
);
//缴费方式,必填(例:payType:1);1:银行划账2:现金支付3:代理商打款4:穗易付5:原套餐缴费方式6:支付宝划扣8:装维上门收取
paymentMap
.
put
(
"tag"
,
""
);
//费用项标识,选填
paymentMap
.
put
(
"bank"
,
""
);
//缴费银行,缴费方式为“银行划账”时必填 :[中国银行|中国工商银行|中国农业银行|民生银行|招商银行|中信银行|商业银行|广东发展银行|光大银行|华夏银行|兴业银行|浦发银行|广州农村商业银行|广州银行|深圳发展银行|交通银行|中国建设银行|邮政储蓄]
paymentMap
.
put
(
"bankNumber"
,
""
);
//银行账号,缴费方式为“银行划账”时必填
paymentMap
.
put
(
"bankOwner"
,
""
);
////银行账号持有人,缴费方式为“银行划账”时必填
String
payPlatform
=
orderMap
.
getIpay
();
if
(
StringUtils
.
isNotBlank
(
payPlatform
))
{
if
(
"1"
.
equals
(
payPlatform
))
{
paymentMap
.
put
(
"payPlatform"
,
"支付宝"
);
//支付平台,缴费方式为“穗易付”时必填
}
else
{
paymentMap
.
put
(
"payPlatform"
,
"微信"
);
//支付平台,缴费方式为“穗易付”时必填
}
}
else
{
paymentMap
.
put
(
"payPlatform"
,
"穗易付"
);
//支付平台,缴费方式为“穗易付”时必填
}
paymentMap
.
put
(
"electronicPayNumber"
,
UPTRANSEQ
);
//支付流水号,缴费方式为“穗易付”时必填
paymentMap
.
put
(
"payOrderNumber"
,
ORDERREQTRANSEQ
);
// 穗易付订单号,若选择穗易付,此项必填
paymentMap
.
put
(
"alipayUserid"
,
""
);
//用户ID,缴费方式为“支付宝支付”时必填
paymentMap
.
put
(
"alipayNumber"
,
""
);
//支付宝账号,缴费方式为“支付宝支付”时必填
paymentMap
.
put
(
"alipayAuthNumber"
,
""
);
//授权协议号,缴费方式为“支付宝支付”时必填
paymentMap
.
put
(
"payAmount"
,
ORDERAMOUNT
);
//缴费金额(打款金额),缴费方式为“代理商打款”或“穗易付”时必填
paymentList
.
add
(
paymentMap
);
response.sendRedirect(result);
//产品自定义属性;暂时默认属性名称只能传“日租卡号码”
Map
<
String
,
String
>
propertyMap
=
new
HashMap
<
String
,
String
>();
propertyMap
.
put
(
"name"
,
"宽带速率"
);
String
setMeal
=
orderMap
.
getOrderSetMeal
();
if
(
StringUtils
.
isNotBlank
(
setMeal
))
{
setMeal
=
setMeal
.
replace
(
"包月"
,
""
);
setMeal
=
setMeal
.
replace
(
"包年"
,
""
);
}
if
(
setMeal
.
contains
(
"20M"
))
{
setMeal
=
"20M下行速率/4M上行速率"
;
}
else
if
(
setMeal
.
contains
(
"2M"
))
{
setMeal
=
"2M下行速率/512K上行速率"
;
}
else
if
(
setMeal
.
contains
(
"50M"
))
{
setMeal
=
"50M下行速率/10M上行速率"
;
}
}*/
propertyMap
.
put
(
"value"
,
setMeal
);
Map
<
String
,
String
>
propertyMap1
=
new
HashMap
<
String
,
String
>();
propertyMap1
.
put
(
"name"
,
"学校名称"
);
propertyMap1
.
put
(
"value"
,
orderMap
.
getOrderUniversityName
());
Map
<
String
,
String
>
propertyMap2
=
new
HashMap
<
String
,
String
>();
propertyMap2
.
put
(
"name"
,
"允许上网终端类型"
);
propertyMap2
.
put
(
"value"
,
universityTerminalType
);
Map
<
String
,
String
>
propertyMap3
=
new
HashMap
<
String
,
String
>();
propertyMap3
.
put
(
"name"
,
"用户类别"
);
propertyMap3
.
put
(
"value"
,
universityUserCategory
);
Map
<
String
,
String
>
propertyMap4
=
new
HashMap
<
String
,
String
>();
propertyMap4
.
put
(
"name"
,
"用户类型"
);
propertyMap4
.
put
(
"value"
,
universityUserType
);
Map
<
String
,
String
>
propertyMap5
=
new
HashMap
<
String
,
String
>();
propertyMap5
.
put
(
"name"
,
"月租类型"
);
propertyMap5
.
put
(
"value"
,
universityMonthlyRentType
);
Map
<
String
,
String
>
propertyMap6
=
new
HashMap
<
String
,
String
>();
propertyMap6
.
put
(
"name"
,
"计费属性"
);
propertyMap6
.
put
(
"value"
,
universityChargingAttribute
);
Map
<
String
,
String
>
propertyMap7
=
new
HashMap
<
String
,
String
>();
propertyMap7
.
put
(
"name"
,
"一人一号多终端"
);
propertyMap7
.
put
(
"value"
,
universityOneManTerminal
);
Map
<
String
,
String
>
propertyMap8
=
new
HashMap
<
String
,
String
>();
propertyMap8
.
put
(
"name"
,
"外线方式"
);
propertyMap8
.
put
(
"value"
,
universityExteriorLines
);
Map
<
String
,
String
>
propertyMap9
=
new
HashMap
<
String
,
String
>();
propertyMap9
.
put
(
"name"
,
"是否FTTH+HUB"
);
propertyMap9
.
put
(
"value"
,
universityIsFtthHub
);
Map
<
String
,
String
>
propertyMap10
=
new
HashMap
<
String
,
String
>();
propertyMap10
.
put
(
"name"
,
"多媒体账号"
);
propertyMap10
.
put
(
"value"
,
orderMap
.
getOrderCustomerAccount
());
Map
<
String
,
String
>
propertyMap11
=
new
HashMap
<
String
,
String
>();
propertyMap11
.
put
(
"name"
,
"多媒体账号密码"
);
propertyMap11
.
put
(
"value"
,
orderMap
.
getOrderCustomerPwd
());
Map
<
String
,
String
>
propertyMap12
=
new
HashMap
<
String
,
String
>();
propertyMap12
.
put
(
"name"
,
"学生证号"
);
propertyMap12
.
put
(
"value"
,
orderMap
.
getOrderCustomerStudentId
());
Map
<
String
,
String
>
propertyMap13
=
new
HashMap
<
String
,
String
>();
propertyMap13
.
put
(
"name"
,
"宽带首月费用类型"
);
propertyMap13
.
put
(
"value"
,
universityChargeMode
);
Map
<
String
,
String
>
propertyMap14
=
new
HashMap
<
String
,
String
>();
propertyMap14
.
put
(
"name"
,
"最大在线数"
);
propertyMap14
.
put
(
"value"
,
universityOnlineNumber
);
Map
<
String
,
String
>
propertyMap15
=
new
HashMap
<
String
,
String
>();
propertyMap15
.
put
(
"name"
,
"地址ID"
);
propertyMap15
.
put
(
"value"
,
addressID
);
propertyList
.
add
(
propertyMap
);
propertyList
.
add
(
propertyMap1
);
propertyList
.
add
(
propertyMap2
);
propertyList
.
add
(
propertyMap3
);
propertyList
.
add
(
propertyMap4
);
propertyList
.
add
(
propertyMap5
);
propertyList
.
add
(
propertyMap6
);
propertyList
.
add
(
propertyMap7
);
propertyList
.
add
(
propertyMap8
);
propertyList
.
add
(
propertyMap9
);
propertyList
.
add
(
propertyMap10
);
propertyList
.
add
(
propertyMap11
);
propertyList
.
add
(
propertyMap12
);
propertyList
.
add
(
propertyMap13
);
propertyList
.
add
(
propertyMap14
);
propertyList
.
add
(
propertyMap15
);
productMap
.
put
(
"productId"
,
productId
);
//产品ID,请通过产品列表接口获取
productMap
.
put
(
"payment"
,
paymentList
);
//收费项列表
productMap
.
put
(
"addProperties"
,
propertyList
);
//产品自定义属性列表
productList
.
add
(
productMap
);
//将对象装换为json字符串
String
productJson
=
JSONArray
.
toJSONString
(
productList
);
qParams
.
add
(
new
BasicNameValuePair
(
"productJson"
,
URLEncoder
.
encode
(
productJson
,
"UTF-8"
)));
//产品信息,必填
signMap
.
put
(
"productJson"
,
URLEncoder
.
encode
(
productJson
,
"UTF-8"
));
List
<
String
>
keys
=
new
ArrayList
<
String
>();
keys
.
addAll
(
signMap
.
keySet
());
Collections
.
sort
(
keys
);
//key按字符串升序
String
value
,
plaintext
=
""
;
for
(
String
key
:
keys
)
{
value
=
signMap
.
get
(
key
);
plaintext
=
plaintext
.
concat
(
value
);
}
plaintext
=
plaintext
.
concat
(
Constant
.
ZHANGSHIKEY
);
String
sign
=
MD5Utils
.
md5
(
plaintext
).
toUpperCase
();
//md5加密
qParams
.
add
(
new
BasicNameValuePair
(
"sign"
,
sign
));
//签名,必填
JSONObject
resultDataJson
=
null
;
try
{
httpPost
.
setHeader
(
"Content-Type"
,
"application/x-www-form-urlencoded;charset=utf-8"
);
httpPost
.
setEntity
(
new
UrlEncodedFormEntity
(
qParams
,
"UTF-8"
));
log
.
info
(
"提交参数:"
+
EntityUtils
.
toString
(
httpPost
.
getEntity
(),
"UTF-8"
));
HttpResponse
response
=
httpclient
.
execute
(
httpPost
);
entity
=
response
.
getEntity
();
String
httpResult
=
EntityUtils
.
toString
(
entity
,
"UTF-8"
);
log
.
info
(
"单宽带下单接口,返回信息:"
+
httpResult
);
resultDataJson
=
JSONObject
.
parseObject
(
httpResult
);
}
catch
(
Exception
e
)
{
log
.
info
(
"单宽带下单接口异常"
);
e
.
printStackTrace
();
}
finally
{
httpPost
.
releaseConnection
();
}
return
resultDataJson
;
}
}
common/src/main/java/com/winsun/bean/Order.java
View file @
ce39a4c2
...
...
@@ -197,7 +197,7 @@ public class Order implements Serializable{
/**
* 提交佣金系统次数
*/
private
int
yjCount
;
private
String
yjCount
;
/**
* 提交佣金系统结果
...
...
@@ -207,12 +207,12 @@ public class Order implements Serializable{
/**
* 新用户提交方式0督导1本人
*/
private
int
tjType
;
private
String
tjType
;
/**
* 小白卡1单移 2融合
*/
private
int
xbType
;
private
String
xbType
;
/**
* 宽带账号
...
...
common/src/main/java/com/winsun/constant/Constant.java
View file @
ce39a4c2
...
...
@@ -27,7 +27,7 @@ public class Constant {
public
final
static
String
ZHANGSHIKEY
=
"3df143292455bfea88bc613c53004d36"
;
//智能平台提供的正式key
// public final static String ZHENGSHIAUCCON = "xiaoykd"; //智能平台提供的正式账号
// public final static String ZHANGSHIKEY = "d345040accff0421d03f760a03e5cbd9"; //智能平台提供的正式key
public
final
static
String
ZHANGSHIURL
=
"https://ismart.mini189.cn/api/"
;
//智能平台提供的正式key
public
final
static
String
ZHANGSHIURL
=
"https://ismart
bak
.mini189.cn/api/"
;
//智能平台提供的正式key
public
final
static
String
PRODUCTCATEGORY
=
"单宽带"
;
//只能平台提供的key
// public final static String TOMCATURL = "http://183.57.78.132:8080"; //Linux外网服务器地址
// public final static String INTRANETURL = "http://10.3.1.21:8080"; //Linux内网服务器地址
...
...
@@ -39,8 +39,8 @@ public class Constant {
// public final static String INTRANETURL = "http://127.0.0.1:8080"; //服务器地址
public
final
static
String
PRODUCTSKU481
=
"481"
;
//产品sku:校园宽带300元/年
public
final
static
String
PRODUCTSKU479
=
"479"
;
//产品sku:校园宽带30元/月
public
final
static
String
PRODUCTSKU479Str
=
"30
元
"
;
//产品sku:校园宽带30元/月
public
final
static
String
PRODUCTSKU481Str
=
"300
元
"
;
//产品sku:校园宽带30元/月
public
final
static
String
PRODUCTSKU479Str
=
"30"
;
//产品sku:校园宽带30元/月
public
final
static
String
PRODUCTSKU481Str
=
"300"
;
//产品sku:校园宽带30元/月
public
final
static
String
Payment0
=
"0"
;
//支付方式:为翼支付网厅
public
final
static
String
Payment1
=
"1"
;
//支付方式:为支付宝
public
final
static
String
Payment3
=
"3"
;
//支付方式:为微信支付
...
...
common/src/main/java/com/winsun/utils/BeanUtil.java
0 → 100644
View file @
ce39a4c2
package
com
.
winsun
.
utils
;
import
java.util.List
;
import
java.util.Map
;
/**
* 判断bean,数组,集合是否为空
*
* @author liujianhao
*
*/
public
class
BeanUtil
{
public
static
boolean
isBlank
(
Object
obj
)
{
if
(
obj
==
null
)
{
return
true
;
}
return
false
;
}
public
static
boolean
isBlank
(
List
<?>
list
)
{
if
(
list
==
null
||
list
.
size
()
<=
0
)
{
return
true
;
}
return
false
;
}
public
static
boolean
isBlank
(
Map
<?,
?>
map
)
{
if
(
map
==
null
||
map
.
size
()
<=
0
)
{
return
true
;
}
return
false
;
}
public
static
boolean
isBlank
(
Object
[]
obj
)
{
if
(
obj
==
null
||
obj
.
length
<=
0
)
{
return
true
;
}
return
false
;
}
public
static
boolean
isNotBlank
(
Object
obj
)
{
return
!
isBlank
(
obj
);
}
public
static
boolean
isNotBlank
(
List
<?>
list
)
{
return
!
isBlank
(
list
);
}
public
static
boolean
isNotBlank
(
Map
<?,
?>
map
)
{
return
!
isBlank
(
map
);
}
public
static
boolean
isNotBlank
(
Object
[]
obj
)
{
return
!
isBlank
(
obj
);
}
}
new-user/src/main/java/com/winsun/controller/PackageNewClothes.java
View file @
ce39a4c2
...
...
@@ -202,14 +202,18 @@ public class PackageNewClothes {
order
.
setHehuorenArea
(
sysUser
.
getSubstName
());
order
.
setHehuorenName
(
sysUser
.
getName
());
String
schoolId
=
appMapper
.
selectSchoolId
(
partner
);
S
tring
schoolName
=
appMapper
.
selectSchool
ById
(
schoolId
);
order
.
setHehuorenSchool
(
school
Name
);
S
chool
school
=
schoolMapper
.
select
ById
(
schoolId
);
order
.
setHehuorenSchool
(
school
.
getSchoolName
()
);
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
List
<
String
>
userId
=
appMapper
.
selectsupervisorBySchool
(
schoolId
);
SysUser
user
=
userMapper
.
selectById
(
userId
.
get
(
0
));
order
.
setSupervisorName
(
user
.
getName
());
order
.
setLzgh
(
school
.
getLzgh
());
Integer
insert
=
orderMapper
.
insert
(
order
);
// MessageUtil.sent(contactNumber,"4","");
if
(
insert
==
1
)
{
appMapper
.
inserOrderHis
(
id
,
"资料已提交"
,
date
,
sysUser
.
getName
()
);
appMapper
.
inserOrderHis
(
id
,
"资料已提交"
,
date
,
customerName
);
return
ResponseData
.
success
(
id
);
}
return
ResponseData
.
error
(
"开卡失败!"
);
...
...
@@ -305,13 +309,17 @@ public class PackageNewClothes {
order
.
setHehuorenArea
(
sysUser
.
getSubstName
());
order
.
setHehuorenName
(
sysUser
.
getName
());
String
schoolId
=
appMapper
.
selectSchoolId
(
partner
);
S
tring
schoolName
=
appMapper
.
selectSchool
ById
(
schoolId
);
order
.
setHehuorenSchool
(
school
Name
);
S
chool
school
=
schoolMapper
.
select
ById
(
schoolId
);
order
.
setHehuorenSchool
(
school
.
getSchoolName
()
);
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
List
<
String
>
userId
=
appMapper
.
selectsupervisorBySchool
(
schoolId
);
SysUser
user
=
userMapper
.
selectById
(
userId
.
get
(
0
));
order
.
setSupervisorName
(
user
.
getName
());
order
.
setLzgh
(
school
.
getLzgh
());
Integer
insert
=
orderMapper
.
insert
(
order
);
// MessageUtil.sent(contactNumber,"4","");
if
(
insert
==
1
)
{
appMapper
.
inserOrderHis
(
id
,
"资料已提交"
,
date
,
sysUser
.
getName
()
);
appMapper
.
inserOrderHis
(
id
,
"资料已提交"
,
date
,
customerName
);
return
ResponseData
.
success
(
id
);
}
return
ResponseData
.
error
(
"开卡失败!"
);
...
...
@@ -401,7 +409,7 @@ public class PackageNewClothes {
order
.
setOrderStatus
(
"待识别"
);
order
.
setUserSchool
(
userSchool
);
order
.
setHehuorenId
(
partner
);
order
.
setXbType
(
1
);
order
.
setXbType
(
"1"
);
if
(
StringUtils
.
isNotBlank
(
site
)){
order
.
setSite
(
site
);
}
...
...
@@ -434,7 +442,7 @@ public class PackageNewClothes {
// MessageUtil.sent(contactNumber,"4","");
if
(
insert
==
1
)
{
appMapper
.
inserOrderHis
(
id
,
"资料提交成功,等待上传证件"
,
date
,
sysUser
.
getName
()
);
appMapper
.
inserOrderHis
(
id
,
"资料提交成功,等待上传证件"
,
date
,
customerName
);
return
ResponseData
.
success
(
map
.
get
(
"orderCode"
).
toString
());
}
return
ResponseData
.
error
(
"开卡失败!"
);
...
...
old-user/src/main/java/com/winsun/controller/PackageUpgradeController.java
View file @
ce39a4c2
...
...
@@ -343,7 +343,7 @@ public class PackageUpgradeController extends BaseController {
order
.
setHehuorenSchool
(
schoolName
);
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
Integer
insert
=
orderMapper
.
insert
(
order
);
appMapper
.
inserOrderHis
(
id
,
"下单成功"
,
date
,
sysUser
.
getName
()
);
appMapper
.
inserOrderHis
(
id
,
"下单成功"
,
date
,
customerName
);
// MessageUtil.sent(contactNumber,"4","");
if
(
StringUtils
.
isNotBlank
(
mark
))
{
String
uuid1
=
UUID
.
randomUUID
().
toString
();
...
...
@@ -365,7 +365,7 @@ public class PackageUpgradeController extends BaseController {
yangChengTong
.
setCustomerPhone
(
businessNumber
);
yangChengTong
.
setCustomerName
(
customerName
);
insert
+=
yangChengTongrMapper
.
insert
(
yangChengTong
);
appMapper
.
inserOrderHis
(
id1
,
"下单成功"
,
date
,
sysUser
.
getName
()
);
appMapper
.
inserOrderHis
(
id1
,
"下单成功"
,
date
,
customerName
);
return
ResponseData
.
success
(
id
+
":"
+
id1
,
"下单成功!"
);
}
if
(
insert
==
1
)
{
...
...
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