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
9888c057
Commit
9888c057
authored
Apr 10, 2020
by
彭祥礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
融合套餐提交订单,另外有去掉了orderView实体类的get,set;改为注入
parent
40600f97
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
914 additions
and
369 deletions
+914
-369
apply-net/src/main/java/com/winsun/controller/DankuanController.java
+861
-97
common/src/main/java/com/winsun/bean/OrderView.java
+39
-221
common/src/main/java/com/winsun/bean/SysUser.java
+3
-2
common/src/main/java/com/winsun/bean/UserSchool.java
+1
-3
new-user/src/main/java/com/winsun/controller/StartSelectController.java
+10
-46
No files found.
apply-net/src/main/java/com/winsun/controller/DankuanController.java
View file @
9888c057
...
...
@@ -26,11 +26,11 @@ 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.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -46,34 +46,24 @@ import java.util.*;
@RestController
@RequestMapping
(
"/dankuan"
)
public
class
DankuanController
{
private
static
ProductMapper
productMapper
;
private
static
SchoolMapper
schoolMapper
;
private
static
AppMapper
appMapper
;
private
static
UniversityInfoMapper
universityInfoMapper
;
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
,
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
;
}
private
ProductMapper
productMapper
;
@Autowired
private
SchoolMapper
schoolMapper
;
@Autowired
private
UserSchoolMapper
userSchoolMapper
;
@Autowired
private
AppMapper
appMapper
;
@Autowired
private
UniversityInfoMapper
universityInfoMapper
;
@Autowired
private
OrderViewMapper
orderViewMapper
;
@Autowired
private
OrderMapper
orderMapper
;
@Autowired
private
OrderHistoryMapper
historyMapper
;
@Autowired
private
SysUserMapper
sysUserMapper
;
/**
* 查询单宽办理接口
...
...
@@ -96,6 +86,34 @@ public class DankuanController {
return
ResponseData
.
success
(
product
);
}
/**
* 跟据合伙人id查找融合套餐信息
*
* @param hhrId
* @return
*/
@RequestMapping
(
"/rhData"
)
public
ResponseData
<
Map
<
String
,
Object
>>
getRhData
(
@RequestParam
(
"hhrId"
)
String
hhrId
)
{
//空,直接返回
if
(
StringUtils
.
isEmpty
(
hhrId
))
{
return
ResponseData
.
error
(
"请输入合伙人id"
);
}
UserSchool
userSchool
=
userSchoolMapper
.
selectById
(
hhrId
);
School
school
=
schoolMapper
.
selectById
(
userSchool
.
getSchoolId
());
String
bandproductId
=
school
.
getBandproductId
();
if
(
StringUtils
.
isBlank
(
bandproductId
))
{
return
ResponseData
.
error
(
"敬请期待"
);
}
Product
product
=
productMapper
.
selectById
(
bandproductId
);
UniversityInfo
universityInfo
=
universityInfoMapper
.
selectById
(
product
.
getUniversityId
());
Map
<
String
,
Object
>
objMap
=
new
HashMap
<>();
objMap
.
put
(
"product"
,
product
);
objMap
.
put
(
"universityInfo"
,
universityInfo
);
return
ResponseData
.
success
(
objMap
);
}
@RequestMapping
(
"/selectUniversity"
)
public
ResponseData
<
UniversityInfo
>
selectUniversity
(
@RequestParam
(
"universityId"
)
String
universityId
)
{
UniversityInfo
universityInfo
=
universityInfoMapper
.
selectById
(
universityId
);
...
...
@@ -122,90 +140,90 @@ public class DankuanController {
if
(
orderViews
.
size
()
!=
0
)
{
if
(
StringUtils
.
isNotBlank
(
orderViews
.
get
(
0
).
getUptranseq
()))
{
Wrapper
<
Order
>
wrapperO
=
new
EntityWrapper
<>();
wrapperO
.
eq
(
"order_number"
,
orderViews
.
get
(
0
).
getOrder
s
eq
());
wrapperO
.
eq
(
"order_number"
,
orderViews
.
get
(
0
).
getOrder
S
eq
());
wrapperO
.
eq
(
"user_type"
,
"5"
);
List
<
Order
>
orders
=
orderMapper
.
selectList
(
wrapperO
);
if
(
orders
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前身份证号订单异常,请联系客服!"
);
}
orderV
.
setOrder
s
eq
(
orders
.
get
(
0
).
getId
());
orderV
.
setOrder
S
eq
(
orders
.
get
(
0
).
getId
());
orderV
.
setUptranseq
(
orderViews
.
get
(
0
).
getUptranseq
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号订单已存在并完成支付!"
);
}
if
(
"0"
.
equals
(
orderViews
.
get
(
0
).
getWeb
ordera
mount
()))
{
if
(
"0"
.
equals
(
orderViews
.
get
(
0
).
getWeb
OrderA
mount
()))
{
Wrapper
<
Order
>
wrapperO
=
new
EntityWrapper
<>();
wrapperO
.
eq
(
"order_number"
,
orderViews
.
get
(
0
).
getOrder
s
eq
());
wrapperO
.
eq
(
"order_number"
,
orderViews
.
get
(
0
).
getOrder
S
eq
());
wrapperO
.
eq
(
"user_type"
,
"5"
);
List
<
Order
>
orders
=
orderMapper
.
selectList
(
wrapperO
);
if
(
orders
.
size
()
==
0
)
{
return
ResponseData
.
error
(
"当前身份证号订单异常,请联系客服!"
);
}
orderV
.
setOrder
s
eq
(
orders
.
get
(
0
).
getId
());
orderV
.
setOrder
S
eq
(
orders
.
get
(
0
).
getId
());
orderV
.
setUptranseq
(
orderViews
.
get
(
0
).
getOrderId
().
toString
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号订单已存在!"
);
}
orderV
.
setOrderId
(
orderViews
.
get
(
0
).
getOrderId
());
orderV
.
setOrder
seq
(
orderViews
.
get
(
0
).
getOrders
eq
());
orderV
.
setOrder
Seq
(
orderViews
.
get
(
0
).
getOrderS
eq
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号已有订单存在!"
);
}
String
orderSeq
=
"YRYM"
+
ProduceIdUtil
.
getId
();
Product
product
=
productMapper
.
selectById
(
productId
);
OrderView
orderView
=
new
OrderView
();
orderView
.
setOrder
n
ame
(
orderName
);
orderView
.
setOrder
p
hone
(
orderPhone
);
orderView
.
setOrder
n
umber
(
orderNumber
);
orderView
.
setOrder
N
ame
(
orderName
);
orderView
.
setOrder
P
hone
(
orderPhone
);
orderView
.
setOrder
N
umber
(
orderNumber
);
orderView
.
setOrderCustomerStudentId
(
orderCustomerStudentId
);
orderView
.
setOrderCustomerAccount
(
orderCustomerAccount
);
orderView
.
setOrderCustomerPwd
(
orderCustomerPwd
);
orderView
.
setOrderSetMeal
(
orderSetMeal
);
orderView
.
setOrder
s
eq
(
orderSeq
);
orderView
.
setProduct
n
ame
(
product
.
getProductTitle
());
orderView
.
setOrder
d
ate
(
new
Date
());
orderView
.
setOrder
S
eq
(
orderSeq
);
orderView
.
setProduct
N
ame
(
product
.
getProductTitle
());
orderView
.
setOrder
D
ate
(
new
Date
());
orderView
.
setOrderUniversityName
(
product
.
getProductUniversity
());
orderView
.
setStatus
(
OrderStatus
.
NOTPAID
.
getId
());
orderView
.
setOrderRegion
(
product
.
getProductRegion
());
orderView
.
setPay
t
ype
(
"1"
);
orderView
.
setWeb
ordera
mount
(
webOrderAmount
);
orderView
.
setPay
T
ype
(
"1"
);
orderView
.
setWeb
OrderA
mount
(
webOrderAmount
);
if
(
webOrderAmount
.
equals
(
"0"
))
{
orderView
.
setI
p
ay
(
"0"
);
orderView
.
setI
P
ay
(
"0"
);
}
else
{
orderView
.
setI
p
ay
(
"1"
);
orderView
.
setI
P
ay
(
"1"
);
}
orderView
.
setCustomer
i
d
(
"xyzxyql"
);
orderView
.
setCustomer
I
d
(
"xyzxyql"
);
orderView
.
setOrderCustomerType
(
"学生"
);
Integer
insert
=
orderViewMapper
.
insert
(
orderView
);
if
(
webOrderAmount
.
equals
(
"0"
))
{
if
(
webOrderAmount
.
equals
(
"0"
))
{
ResponseData
<
OrderView
>
res
=
createOrder
(
orderView
,
partner
,
orderSeq
);
if
(!
res
.
isSuccess
())
{
if
(!
res
.
isSuccess
())
{
return
res
;
}
}
if
(
insert
==
1
)
{
orderV
.
setOrderId
(
orderView
.
getOrderId
());
orderV
.
setOrder
seq
(
orderView
.
getOrders
eq
());
orderV
.
setOrder
Seq
(
orderView
.
getOrderS
eq
());
return
ResponseData
.
success
(
orderV
,
"订单提交完成!"
);
}
return
ResponseData
.
error
(
"提交失败!"
);
}
public
static
ResponseData
<
OrderView
>
createOrder
(
OrderView
orderView
,
String
userId
,
String
orderseq
)
throws
Exception
{
public
ResponseData
<
OrderView
>
createOrder
(
OrderView
orderView
,
String
userId
,
String
orderseq
)
throws
Exception
{
String
uuid
=
UUID
.
randomUUID
().
toString
();
String
id
=
uuid
.
split
(
"-"
)[
0
]
+
uuid
.
split
(
"-"
)[
1
];
Order
order
=
new
Order
();
order
.
setId
(
id
);
order
.
setOrderNumber
(
orderView
.
getOrder
s
eq
());
order
.
setOrderNumber
(
orderView
.
getOrder
S
eq
());
order
.
setOrderStatus
(
OrderStatus
.
NOTPAID
.
getName
());
order
.
setHehuorenId
(
userId
);
order
.
setCustomerName
(
orderView
.
getOrder
n
ame
());
order
.
setContactNumber
(
orderView
.
getOrder
p
hone
());
order
.
setIdCard
(
orderView
.
getOrder
n
umber
());
order
.
setCustomerName
(
orderView
.
getOrder
N
ame
());
order
.
setContactNumber
(
orderView
.
getOrder
P
hone
());
order
.
setIdCard
(
orderView
.
getOrder
N
umber
());
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
.
getOrder
s
eq
());
order
.
setKdOrderId
(
orderView
.
getOrder
S
eq
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
String
schoolId
=
appMapper
.
selectSchoolId
(
userId
);
...
...
@@ -249,7 +267,7 @@ public class DankuanController {
JSONArray saleList = saleJsonObject.getJSONArray("list");
JSONObject itmeJson = JSONObject.parseObject(saleList.get(0).toString());
saleId = itmeJson.getString("saleId");*/
JSONObject
submitOrderJsonObject
=
getOrderInfo
(
schoolMap
,
orderView
,
currentTimeStr
,
productId
,
saleId
,
""
,
""
,
""
,
""
);
JSONObject
submitOrderJsonObject
=
getOrderInfo
(
schoolMap
,
orderView
,
currentTimeStr
,
productId
,
saleId
,
""
,
""
,
""
,
""
);
String
orderNum
=
(
String
)
submitOrderJsonObject
.
get
(
"orderNumber"
);
if
(
StringUtils
.
isNotBlank
(
orderNum
))
{
Wrapper
<
OrderView
>
wrapper
=
new
EntityWrapper
<>();
...
...
@@ -262,15 +280,761 @@ public class DankuanController {
order
.
setOrderId
(
orderNum
);
order
.
setThStatus
(
submitOrderJsonObject
.
get
(
"status"
).
toString
());
orderMapper
.
insert
(
order
);
appMapper
.
inserOrderHis
(
id
,
"待审核!"
,
new
Date
(),
orderView
.
getOrder
n
ame
());
appMapper
.
inserOrderHis
(
id
,
"待审核!"
,
new
Date
(),
orderView
.
getOrder
N
ame
());
}
else
{
return
ResponseData
.
error
(
"智能平台订单创建失败,如有疑问请联系客服!"
);
}
return
ResponseData
.
success
(
orderView
,
"智能平台订单创建成功"
);
return
ResponseData
.
success
(
orderView
,
"智能平台订单创建成功"
);
}
/**
* 支付平台异步更新后台地址,主要对订单进去保存和提交订单到智能平台上
*/
@RequestMapping
(
value
=
"createRongHeOrder"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
ResponseData
<
OrderView
>
createRongHeOrder
(
@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
,
@RequestParam
(
"partner"
)
String
partner
,
@RequestParam
(
"banLiPhone"
)
String
banLiPhone
)
throws
Exception
{
if
(!
IDCardUtil
.
IDCardValidate
(
orderNumber
))
{
return
ResponseData
.
error
(
"您的身份证输入有误,请重新输入!"
);
}
if
(
orderPhone
.
length
()
!=
11
)
{
return
ResponseData
.
error
(
"联系号码有误,请重新输入"
);
}
Wrapper
<
OrderView
>
orderViewWrapper
=
new
EntityWrapper
<>();
orderViewWrapper
.
eq
(
StringUtils
.
isNotBlank
(
orderNumber
),
"orderNumber"
,
orderNumber
);
orderViewWrapper
.
ne
(
"status"
,
OrderStatus
.
INVALID
.
getId
());
List
<
OrderView
>
orderViews
=
orderViewMapper
.
selectList
(
orderViewWrapper
);
OrderView
orderV
=
new
OrderView
();
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
,
"当前身份证号订单已存在并完成支付!"
);
}
if
(
"0"
.
equals
(
orderViews
.
get
(
0
).
getWebOrderAmount
()))
{
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
).
getOrderId
().
toString
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号订单已存在!"
);
}
orderV
.
setOrderId
(
orderViews
.
get
(
0
).
getOrderId
());
orderV
.
setOrderSeq
(
orderViews
.
get
(
0
).
getOrderSeq
());
return
ResponseData
.
error
(
orderV
,
"当前身份证号已有订单存在!"
);
}
String
orderSeq
=
"YRYM"
+
ProduceIdUtil
.
getId
();
Product
product
=
productMapper
.
selectById
(
productId
);
OrderView
orderView
=
new
OrderView
();
orderView
.
setOrderSeq
(
orderSeq
);
// 订单号码
orderView
.
setOrderName
(
orderName
);
// 姓名
orderView
.
setOrderPhone
(
orderPhone
);
// 联系电话
orderView
.
setOrderNumber
(
orderNumber
);
// 身份证号码
orderView
.
setOrderCustomerStudentId
(
orderCustomerStudentId
);
// 学生证号
orderView
.
setOrderCustomerAccount
(
orderCustomerAccount
);
// 多媒体账号
orderView
.
setOrderCustomerPwd
(
orderCustomerPwd
);
// 多媒体密码
orderView
.
setOrderSetMeal
(
orderSetMeal
);
// 套餐
orderView
.
setOrderSeq
(
orderSeq
);
orderView
.
setProductName
(
product
.
getProductTitle
());
// 产品名称
orderView
.
setOrderDate
(
new
Date
());
// 提交时间
orderView
.
setOrderUniversityName
(
product
.
getProductUniversity
());
// 学校
orderView
.
setStatus
(
OrderStatus
.
NOTPAID
.
getId
());
orderView
.
setOrderRegion
(
product
.
getProductRegion
());
// 区域
orderView
.
setPayType
(
"1"
);
// 支付方式
orderView
.
setWebOrderAmount
(
webOrderAmount
);
// 产品价格
if
(
webOrderAmount
.
equals
(
"0"
))
{
orderView
.
setIPay
(
"0"
);
// 支付平台
}
else
{
orderView
.
setIPay
(
"1"
);
// 支付平台
}
orderView
.
setCustomerId
(
"xyzxyql"
);
// 接入商
orderView
.
setOrderCustomerType
(
"学生"
);
// 用户类别
Integer
insert
=
orderViewMapper
.
insert
(
orderView
);
if
(
webOrderAmount
.
equals
(
"0"
))
{
ResponseData
<
OrderView
>
res
=
null
;
res
=
getOrderViewZeroResponseData
(
productId
,
partner
,
banLiPhone
,
orderSeq
,
orderView
);
if
(!
res
.
isSuccess
())
{
return
res
;
}
}
else
{
//res = getOrderViewResponseData(productId, partner, banLiPhone, orderV, orderSeq, orderView, insert);
}
if
(
insert
==
1
)
{
orderV
.
setOrderId
(
orderView
.
getOrderId
());
orderV
.
setOrderSeq
(
orderSeq
);
return
ResponseData
.
success
(
orderV
,
"订单提交完成!"
);
}
return
ResponseData
.
error
(
"提交失败!"
);
}
private
ResponseData
<
OrderView
>
getOrderViewZeroResponseData
(
@RequestParam
(
"productId"
)
String
productId
,
@RequestParam
(
"partner"
)
String
partner
,
@RequestParam
(
"banLiPhone"
)
String
banLiPhone
,
String
orderSeq
,
OrderView
orderView
)
throws
Exception
{
/**/
Map
<
String
,
Object
>
schoolMap
=
null
;
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
String
currentTimeStr
=
simpleDateFormat
.
format
(
new
Date
());
// 根据订单号,获取该订单信息
// 根据学校名称,获取该学校信息
Product
product
=
productMapper
.
selectById
(
productId
);
Wrapper
<
UniversityInfo
>
uiWrapper
=
new
EntityWrapper
<>();
uiWrapper
.
eq
(
"order_university_name"
,
orderView
.
getOrderUniversityName
());
uiWrapper
.
eq
(
"universityRegion"
,
product
.
getProductRegion
());
List
<
Map
<
String
,
Object
>>
list1
=
universityInfoMapper
.
selectMaps
(
uiWrapper
);
schoolMap
=
list1
.
get
(
0
);
if
(
orderView
.
getOrderUniversityName
().
equals
(
"广州华立科技职业学院"
))
{
if
(
"中国电信校园高速宽带"
.
equals
(
product
.
getProductTitle
()))
{
schoolMap
.
put
(
"university_package_number"
,
"56119011"
);
}
else
{
schoolMap
.
put
(
"university_package_number"
,
"56119015"
);
}
}
else
if
(
orderView
.
getOrderUniversityName
().
equals
(
"广州大学华软软件学院"
))
{
if
(
"中国电信校园高速宽带"
.
equals
(
product
.
getProductTitle
()))
{
schoolMap
.
put
(
"university_package_number"
,
"16001253"
);
}
else
{
schoolMap
.
put
(
"university_package_number"
,
"16001405"
);
}
}
//String productId = "1329"; // 产品id
//单宽带
String
saleId1
=
"4907"
;
//提速包
String
saleId2
=
null
;
String
productName
=
"校园融合套餐"
;
log
.
info
(
"----------根据返回参数获取产品ID:"
+
productId
);
String
saleId
=
null
;
// 销售id
JSONObject
saleJsonObject
=
getSaleId
(
productId
,
currentTimeStr
);
// 获取销售ID
log
.
info
(
"----------调用智能平台的获取销售品接口返回值:"
+
saleJsonObject
);
System
.
out
.
println
(
"----111--"
+
(
saleJsonObject
.
toString
().
indexOf
(
"list"
)
==
-
1
));
if
(
saleJsonObject
.
toString
().
indexOf
(
"list"
)
==
-
1
)
{
return
ResponseData
.
error
(
"没有找到销售品接口返回值"
);
}
String
expenses
=
""
;
if
(
schoolMap
.
get
(
"identifying"
)
!=
null
)
{
expenses
=
schoolMap
.
get
(
"identifying"
).
toString
();
}
JSONArray
saleList
=
saleJsonObject
.
getJSONArray
(
"list"
);
log
.
info
(
"----saleList---:"
+
saleList
);
for
(
int
i
=
0
;
i
<
saleList
.
size
();
i
++)
{
JSONObject
itmeJson
=
saleList
.
getJSONObject
(
i
);
// 判断获取的全部产品与订单产品符合的拿取对应的ID
if
(
itmeJson
.
getString
(
"propertyName"
).
indexOf
(
"提速包"
)
!=
-
1
)
{
if
(
itmeJson
.
getString
(
"name"
).
equals
(
expenses
))
{
// 获取对应产品ID
saleId2
=
itmeJson
.
getString
(
"saleId"
);
}
}
else
if
(
itmeJson
.
getString
(
"propertyName"
).
indexOf
(
"增值业务"
)
!=
-
1
)
{
if
(
itmeJson
.
getString
(
"name"
).
equals
(
expenses
))
{
// 获取对应产品ID
saleId2
=
itmeJson
.
getString
(
"saleId"
);
}
}
}
log
.
info
(
"----saleId1---prices---:"
+
saleId1
+
"------"
+
saleId2
);
// 3、提交订单到智能平台
JSONObject
submitOrderJsonObject
=
getOrderRHInfo
(
schoolMap
,
orderView
,
currentTimeStr
,
productId
,
saleId1
,
saleId2
,
orderSeq
,
""
,
""
,
""
);
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
))
{
Wrapper
<
Order
>
orderWrapper
=
new
EntityWrapper
<>();
orderWrapper
.
eq
(
"order_number"
,
orderNum
);
List
<
Order
>
list
=
orderMapper
.
selectList
(
orderWrapper
);
log
.
info
(
"----------调用查询智能订单接口并返回参数信息:"
);
/* 5、插入数据到数据库 */
saveOrderInfo
(
orderView
,
partner
,
orderSeq
,
banLiPhone
);
}
return
ResponseData
.
error
(
"订单提交完成"
);
}
private
ResponseData
<
OrderView
>
getOrderViewResponseData
(
@RequestParam
(
"productId"
)
String
productId
,
@RequestParam
(
"partner"
)
String
partner
,
@RequestParam
(
"banLiPhone"
)
String
banLiPhone
,
OrderView
orderV
,
String
orderSeq
,
OrderView
orderView
,
Integer
insert
)
throws
Exception
{
Map
<
String
,
Object
>
schoolMap
=
null
;
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
String
currentTimeStr
=
simpleDateFormat
.
format
(
new
Date
());
/*// 根据订单号,获取该订单信息
updatePaymentOrderInfo(request, ORDERSEQ, UPTRANSEQ, ORDERAMOUNT, ORDERREQTRANSEQ);
// 根据学校名称,获取该学校信息
List<Map<String, Object>> list1 = universityService.QueryUniversity((String) orderMap.get("order_university_name"), (String) orderMap.get("order_region"));*/
Product
product
=
productMapper
.
selectById
(
productId
);
Wrapper
<
UniversityInfo
>
uiWrapper
=
new
EntityWrapper
<>();
uiWrapper
.
eq
(
"order_university_name"
,
orderView
.
getOrderUniversityName
());
uiWrapper
.
eq
(
"universityRegion"
,
product
.
getProductRegion
());
List
<
Map
<
String
,
Object
>>
list1
=
universityInfoMapper
.
selectMaps
(
uiWrapper
);
schoolMap
=
list1
.
get
(
0
);
if
(
orderView
.
getOrderUniversityName
().
equals
(
"广州华立科技职业学院"
))
{
if
(
"中国电信校园高速宽带"
.
equals
(
product
.
getProductTitle
()))
{
schoolMap
.
put
(
"university_package_number"
,
"56119011"
);
}
else
{
schoolMap
.
put
(
"university_package_number"
,
"56119015"
);
}
}
else
if
(
orderView
.
getOrderUniversityName
().
equals
(
"广州大学华软软件学院"
))
{
if
(
"中国电信校园高速宽带"
.
equals
(
product
.
getProductTitle
()))
{
schoolMap
.
put
(
"university_package_number"
,
"16001253"
);
}
else
{
schoolMap
.
put
(
"university_package_number"
,
"16001405"
);
}
}
if
(
orderView
.
getOrderseqThd
()
==
null
)
{
//String productId = "1329"; // 产品id
//单宽带
String
saleId1
=
null
;
//提速包
String
saleId2
=
null
;
String
productName
=
"校园融合套餐"
;
log
.
info
(
"----------根据返回参数获取产品ID:"
+
productId
);
String
saleId
=
null
;
// 销售id
JSONObject
saleJsonObject
=
getSaleId
(
productId
,
currentTimeStr
);
// 获取销售ID
log
.
info
(
"----------调用智能平台的获取销售品接口返回值:"
+
saleJsonObject
);
log
.
info
(
"----111--"
+
(
saleJsonObject
.
toString
().
indexOf
(
"list"
)
==
-
1
));
if
(
saleJsonObject
.
toString
().
indexOf
(
"list"
)
==
-
1
)
{
return
ResponseData
.
error
(
"无销售品接口返回值"
);
}
String
prices
=
orderView
.
getWebOrderAmount
();
prices
=
prices
.
replace
(
"元"
,
""
)
+
".000"
;
String
expenses
=
""
;
if
(
schoolMap
.
get
(
"identifying"
)
!=
null
)
{
expenses
=
schoolMap
.
get
(
"identifying"
).
toString
();
}
log
.
info
(
"----expenses---prices---:"
+
expenses
+
"------"
+
prices
);
JSONArray
saleList
=
saleJsonObject
.
getJSONArray
(
"list"
);
log
.
info
(
"----saleList---:"
+
saleList
);
for
(
int
i
=
0
;
i
<
saleList
.
size
();
i
++)
{
JSONObject
itmeJson
=
saleList
.
getJSONObject
(
i
);
// 判断获取的全部产品与订单产品符合的拿取对应的ID
if
(
itmeJson
.
getString
(
"propertyName"
).
indexOf
(
"提速包"
)
!=
-
1
)
{
if
(
itmeJson
.
getString
(
"name"
).
equals
(
expenses
))
{
// 获取对应产品ID
saleId2
=
itmeJson
.
getString
(
"saleId"
);
}
}
else
if
(
itmeJson
.
getString
(
"propertyName"
).
indexOf
(
"增值业务"
)
!=
-
1
)
{
if
(
itmeJson
.
getString
(
"name"
).
equals
(
expenses
))
{
// 获取对应产品ID
saleId2
=
itmeJson
.
getString
(
"saleId"
);
}
}
}
log
.
info
(
"----saleId1---prices---:"
+
saleId1
+
"------"
+
saleId2
);
// 3、提交订单到智能平台
JSONObject
submitOrderJsonObject
=
getOrderRHInfo
(
schoolMap
,
orderView
,
currentTimeStr
,
productId
,
saleId1
,
saleId2
,
orderSeq
,
""
,
""
,
""
);
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
))
{
Wrapper
<
Order
>
orderWrapper
=
new
EntityWrapper
<>();
orderWrapper
.
eq
(
"order_number"
,
orderNum
);
List
<
Order
>
list
=
orderMapper
.
selectList
(
orderWrapper
);
/* 5、插入数据到数据库 */
saveOrderInfo
(
orderView
,
partner
,
orderSeq
,
banLiPhone
);
log
.
info
(
"----------将智能订单状态更新至数据库"
);
}
if
(
insert
==
1
)
{
orderV
.
setOrderId
(
orderView
.
getOrderId
());
orderV
.
setOrderSeq
(
orderSeq
);
return
ResponseData
.
success
(
orderV
,
"订单提交完成!"
);
}
return
ResponseData
.
error
(
"订单提交失败"
);
}
else
{
log
.
info
(
"---融合支付接口推送---"
);
return
ResponseData
.
error
(
"融合支付接口已存在该订单"
);
}
}
/**
* 保存订单到数据库
*/
private
void
saveOrderInfo
(
OrderView
orderView
,
String
partner
,
String
orderSeq
,
String
banLiPhone
)
throws
Exception
{
log
.
info
(
"支付操作后保存数据到数据库"
);
UserSchool
userSchool
=
userSchoolMapper
.
selectById
(
partner
);
School
school
=
schoolMapper
.
selectById
(
userSchool
.
getSchoolId
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userSchool
.
getUserId
());
if
(
orderView
.
getStatus
().
equals
(
"1"
))
{
Order
order
=
new
Order
();
String
uuid
=
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
uuid
=
uuid
.
substring
(
1
,
12
);
SimpleDateFormat
df2
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
//设置日期格式
order
.
setId
(
uuid
);
order
.
setOrderNumber
(
"YRYM"
+
ProduceIdUtil
.
getId
());
order
.
setNetNumber
(
orderView
.
getOrderCustomerAccount
());
order
.
setNetPassword
(
orderView
.
getOrderCustomerPwd
());
order
.
setUserSchool
(
orderView
.
getOrderUniversityName
());
order
.
setHehuorenId
(
partner
);
order
.
setKdOrderId
(
orderSeq
);
order
.
setUserType
(
"3"
);
order
.
setBusinessNumber
(
banLiPhone
);
order
.
setCustomerName
(
orderView
.
getOrderName
());
order
.
setOrderStatus
(
"审核中"
);
order
.
setContactNumber
(
orderView
.
getOrderPhone
());
order
.
setIdCard
(
orderView
.
getOrderNumber
());
order
.
setExpenses
(
orderView
.
getExpenses
());
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
order
.
setCreateTime
(
new
Date
());
if
(!
school
.
equals
(
null
))
{
order
.
setHehuorenArea
(
school
.
getSubName
());
order
.
setHehuorenSchool
(
school
.
getSchoolName
());
order
.
setLzgh
(
school
.
getLzgh
());
order
.
setHehuorenName
(
sysUser
.
getName
());
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
order
.
setSupervisorName
(
sysUser
.
getName
());
}
orderMapper
.
insert
(
order
);
OrderHistory
history
=
new
OrderHistory
();
history
.
setOrderId
(
uuid
);
history
.
setCreateDate
(
new
Date
());
history
.
setStatus
(
"资料已提交"
);
historyMapper
.
insert
(
history
);
}
else
if
(
orderView
.
getStatus
().
equals
(
"2"
))
{
}
else
{
Order
order
=
new
Order
();
String
uuid
=
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
);
uuid
=
uuid
.
substring
(
1
,
12
);
order
.
setId
(
uuid
);
order
.
setOrderNumber
(
"YRYM"
+
ProduceIdUtil
.
getId
());
order
.
setNetNumber
(
orderView
.
getOrderCustomerAccount
());
order
.
setNetPassword
(
orderView
.
getOrderCustomerPwd
());
order
.
setUserSchool
(
orderView
.
getOrderUniversityName
());
order
.
setHehuorenId
(
partner
);
order
.
setKdOrderId
(
orderSeq
);
order
.
setUserType
(
"5"
);
order
.
setBusinessNumber
(
""
);
order
.
setCustomerName
(
orderView
.
getOrderName
());
order
.
setOrderStatus
(
"审核中"
);
order
.
setContactNumber
(
orderView
.
getOrderPhone
());
order
.
setIdCard
(
orderView
.
getOrderNumber
());
order
.
setExpenses
(
""
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
order
.
setCreateTime
(
sdf
.
parse
(
new
Date
().
toString
()));
if
(!
school
.
equals
(
null
))
{
order
.
setHehuorenArea
(
school
.
getSubName
());
order
.
setHehuorenSchool
(
school
.
getSchoolName
());
order
.
setLzgh
(
school
.
getLzgh
());
order
.
setHehuorenName
(
sysUser
.
getName
());
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
order
.
setSupervisorName
(
sysUser
.
getName
());
}
orderMapper
.
insert
(
order
);
OrderHistory
history
=
new
OrderHistory
();
history
.
setOrderId
(
uuid
);
history
.
setCreateDate
(
new
Date
());
history
.
setStatus
(
"资料已提交"
);
historyMapper
.
insert
(
history
);
}
}
/**
* @Description:提交融合
* @param schoolMap
* @param orderView
* @param currentTimeStr
* @param productId
* @param saleId1
* @param saleId2
* @param ORDERSEQ
* @param UPTRANSEQ
* @param ORDERAMOUNT
* @param ORDERREQTRANSEQ
* @return
* @throws Exception
*/
private
JSONObject
getOrderRHInfo
(
Map
<
String
,
Object
>
schoolMap
,
OrderView
orderView
,
String
currentTimeStr
,
String
productId
,
String
saleId1
,
String
saleId2
,
String
ORDERSEQ
,
String
UPTRANSEQ
,
String
ORDERAMOUNT
,
String
ORDERREQTRANSEQ
)
throws
Exception
{
List
<
NameValuePair
>
qParams
=
new
ArrayList
<
NameValuePair
>();
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
+
"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.combined.create"
));
// api标识,必填且唯一
signMap
.
put
(
"service"
,
"order.combined.create"
);
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
(
"transactType"
,
"新宽旧移"
));
// 办理类型,必填[新宽新移][新宽旧移][旧宽新移][旧宽旧移]
signMap
.
put
(
"transactType"
,
"新宽旧移"
);
/* */
qParams
.
add
(
new
BasicNameValuePair
(
"ctNumber"
,
orderView
.
getOrderPhone
()));
// 电信号码,办理类型,若选择[新宽旧移]或[旧宽旧移],此项必填
signMap
.
put
(
"ctNumber"
,
orderView
.
getOrderPhone
());
/* */
qParams
.
add
(
new
BasicNameValuePair
(
"addressProvince"
,
"广东省"
));
// 报装地址-省 办理类型,若选择[新宽新移][新宽旧移],此项必填
signMap
.
put
(
"addressProvince"
,
"广东省"
);
qParams
.
add
(
new
BasicNameValuePair
(
"addressCity"
,
"广州市"
));
// 报装地址-市 办理类型,若选择[新宽新移][新宽旧移],此项必填
signMap
.
put
(
"addressCity"
,
"广州市"
);
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
(
"university_region"
);
address
=
(
String
)
schoolMap
.
get
(
"university_installed_address"
);
addressID
=
(
String
)
schoolMap
.
get
(
"university_installed_address_ID"
);
landId
=
(
String
)
schoolMap
.
get
(
"university_package_number"
);
universityTerminalType
=
(
String
)
schoolMap
.
get
(
"university_terminal_type"
);
universityUserCategory
=
(
String
)
schoolMap
.
get
(
"university_user_category"
);
universityUserType
=
(
String
)
schoolMap
.
get
(
"university_user_type"
);
universityMonthlyRentType
=
(
String
)
schoolMap
.
get
(
"university_monthly_rent_type"
);
universityChargingAttribute
=
(
String
)
schoolMap
.
get
(
"university_charging_attribute"
);
universityOnlineNumber
=
(
String
)
schoolMap
.
get
(
"university_online_number"
);
universityOneManTerminal
=
(
String
)
schoolMap
.
get
(
"university_one_man_terminal"
);
universityIsFtthHub
=
(
String
)
schoolMap
.
get
(
"university_is_ftth_hub"
);
universityExteriorLines
=
(
String
)
schoolMap
.
get
(
"university_exterior_lines"
);
universityChargeMode
=
(
String
)
schoolMap
.
get
(
"university_charge_mode"
);
}
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
(
"addressId"
,
addressID
));
// 报装地址-地址ID,选填
signMap
.
put
(
"addressId"
,
addressID
);
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"
,
orderView
.
getOrderName
()));
// 客户姓名,必填
signMap
.
put
(
"customerName"
,
orderView
.
getOrderName
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerPhone"
,
orderView
.
getOrderPhone
()));
// 客户电话|代办人电话,必填
signMap
.
put
(
"customerPhone"
,
orderView
.
getOrderPhone
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardType"
,
"身份证"
));
// 证件类型,必填且只能为身份证
signMap
.
put
(
"customerCardType"
,
"身份证"
);
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardNum"
,
orderView
.
getOrderNumber
()));
// 证件号码,必填
signMap
.
put
(
"customerCardNum"
,
orderView
.
getOrderNumber
());
qParams
.
add
(
new
BasicNameValuePair
(
"landId"
,
landId
));
// 揽装工号,必填
signMap
.
put
(
"landId"
,
landId
);
qParams
.
add
(
new
BasicNameValuePair
(
"comarketingLanId"
,
""
));
// 协销工号,选填
signMap
.
put
(
"comarketingLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"groupComarketingLanId"
,
""
));
//集团协销工号,选填
signMap
.
put
(
"groupComarketingLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderOutNum"
,
ORDERSEQ
));
//外部订单编号,选填!;
//通过API接口下单,必须传入一个外部接入商的订单编号,该编号与智能营销系统编号一一对应
signMap
.
put
(
"orderOutNum"
,
ORDERSEQ
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderSource"
,
"校园宽带自助受理"
));
// 订单来源 ,选填
signMap
.
put
(
"orderSource"
,
"校园宽带自助受理"
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderSourceNum"
,
ORDERSEQ
));
// 订单来源单号,选填;与订单来源对应,用于业务上记录订单的来源订单编号
signMap
.
put
(
"orderSourceNum"
,
ORDERSEQ
);
qParams
.
add
(
new
BasicNameValuePair
(
"salePointCode"
,
""
));
// 销售点编码,选填
signMap
.
put
(
"salePointCode"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"personCode"
,
""
));
// 人员编码,必填
signMap
.
put
(
"personCode"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryProvince"
,
"广东省"
));
// 配送地址-省,必填
signMap
.
put
(
"deliveryProvince"
,
"广东省"
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryCity"
,
"广州市"
));
// 配送地址-市,必填
signMap
.
put
(
"deliveryCity"
,
"广州市"
);
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"
,
orderView
.
getOrderName
()));
// 联系人,必填
signMap
.
put
(
"deliveryContact"
,
orderView
.
getOrderNumber
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderView
.
getOrderName
()));
// 联系电话,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderView
.
getOrderName
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone2"
,
""
));
// 联系电话2,选填
signMap
.
put
(
"deliveryContactPhone2"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"invoiced"
,
"0"
));
// 是否需要发票,必填
// 0:不需要;1:一次性发票;2:分月发票
signMap
.
put
(
"invoiced"
,
"0"
);
qParams
.
add
(
new
BasicNameValuePair
(
"invoiceTitle"
,
""
));
// 发票抬头,若需要发票必填
signMap
.
put
(
"invoiceTitle"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"invoiceDeliveryAddress"
,
""
));
// 电子邮箱,若需要发票必填
signMap
.
put
(
"invoiceDeliveryAddress"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryType"
,
"不需配送"
));
// 发货类型,必填,填写[同德仓发货][不需配送][代理商自行发货]
signMap
.
put
(
"deliveryType"
,
"不需配送"
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryCompany"
,
""
));
// 配送公司,选填,同德仓发货必填;填写只能填顺丰速运或者如风达或者京东快递或者EMS
signMap
.
put
(
"deliveryCompany"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"gift"
,
""
));
// 礼品,选填,请通过礼品列表接口获取
signMap
.
put
(
"gift"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"giftNum"
,
""
));
// 礼品数量,选填,若礼品填写则必填且为正整数
signMap
.
put
(
"giftNum"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"acceptPriority"
,
"7"
));
//受理优先级 为0-10范围内的整数! 选填
signMap
.
put
(
"acceptPriority"
,
"7"
);
List
<
Map
<
String
,
Object
>>
productList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 产品信息
List
<
Map
<
String
,
Object
>>
inPropertyList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 产品属性
List
<
Map
<
String
,
Object
>>
paymentList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 销售品信息(费用项)
List
<
Map
<
String
,
Object
>>
addPropertyList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
// 自定义产品属性
// 下单产品
Map
<
String
,
Object
>
productMap
=
new
HashMap
<
String
,
Object
>();
// 产品(一个订单只能有一种产品且数量为1)
productMap
.
put
(
"productId"
,
productId
);
// 产品id,必填,请通过产品列表接口获取
// 产品都必须传一个产品对应的唯一的收费项
Map
<
String
,
Object
>
paymentListMap
=
new
HashMap
<
String
,
Object
>();
paymentListMap
.
put
(
"id"
,
"4455"
);
// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap
.
put
(
"saleName"
,
"校园融合套餐"
);
// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap
.
put
(
"payType"
,
"2"
);
// 缴费方式,
//必填(例:payType:3)1:银行划账2:现金支付3:代理商打款4:穗易付6:支付宝划扣7:货到付款8:装维上门收取9:第三方托收11:代理商代扣
//单宽带
Map
<
String
,
Object
>
paymentListMap2
=
new
HashMap
<
String
,
Object
>();
paymentListMap2
.
put
(
"id"
,
saleId1
);
// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap2
.
put
(
"saleName"
,
""
);
// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap2
.
put
(
"payType"
,
"2"
);
// 缴费方式,必填(例:payType:3)3:代理商打款4:穗易付7:货到付款
paymentListMap2
.
put
(
"payAmount"
,
ORDERAMOUNT
);
// 打款金额(支付金额),若选择代理商打款、者穗易付、货到付款,此项必填
String
payPlatform
=
orderView
.
getIPay
();
if
(
StringUtils
.
isNotBlank
(
payPlatform
))
{
if
(
"1"
.
equals
(
payPlatform
))
{
paymentListMap2
.
put
(
"payPlatform"
,
"支付宝"
);
//支付平台,缴费方式为“穗易付”时必填
}
else
{
paymentListMap2
.
put
(
"payPlatform"
,
"微信"
);
//支付平台,缴费方式为“穗易付”时必填
}
}
else
{
paymentListMap2
.
put
(
"payPlatform"
,
"穗易付"
);
//支付平台,缴费方式为“穗易付”时必填
}
paymentListMap2
.
put
(
"electronicPayNumber"
,
UPTRANSEQ
);
// 支付流水号,若选择穗易付,此项必填
paymentListMap2
.
put
(
"payOrderNumber"
,
ORDERREQTRANSEQ
);
// 穗易付订单号,若选择穗易付,此项必填
//提速包
Map
<
String
,
Object
>
paymentListMap3
=
new
HashMap
<
String
,
Object
>();
paymentListMap3
.
put
(
"id"
,
saleId2
);
// 收费项ID,选填;请通过销售品列表接口获取,若不填表示终端补收款
paymentListMap3
.
put
(
"saleName"
,
""
);
// 销售品名称,选填,若id不填写此项必填写,且只能为终端补收款
paymentListMap3
.
put
(
"saleAmount"
,
""
);
// 售价,选填
paymentListMap3
.
put
(
"payType"
,
"2"
);
// 缴费方式,必填(例:payType:3)3:代理商打款4:穗易付7:货到付款
paymentListMap3
.
put
(
"payAmount"
,
"0"
);
// 打款金额(支付金额),若选择代理商打款、者穗易付、货到付款,此项必填
paymentList
.
add
(
paymentListMap
);
paymentList
.
add
(
paymentListMap2
);
paymentList
.
add
(
paymentListMap3
);
productMap
.
put
(
"payment"
,
paymentList
);
// 产品属性 必填主卡号码属性,name=主卡号码,value=11位数字或者随机;
Map
<
String
,
Object
>
inPropertyListMap
=
new
HashMap
<
String
,
Object
>();
inPropertyListMap
.
put
(
"name"
,
"主卡号码"
);
inPropertyListMap
.
put
(
"value"
,
orderView
.
getOrderPhone
());
inPropertyList
.
add
(
inPropertyListMap
);
productMap
.
put
(
"inpProperties"
,
inPropertyList
);
Map
<
String
,
Object
>
propertyMap
=
new
HashMap
<
String
,
Object
>();
propertyMap
.
put
(
"name"
,
"宽带速率"
);
String
setMeal
=
orderView
.
getOrderSetMeal
();
if
(
StringUtils
.
isNotBlank
(
setMeal
))
{
setMeal
=
setMeal
.
replace
(
"包月"
,
""
);
setMeal
=
setMeal
.
replace
(
"包年"
,
""
);
}
propertyMap
.
put
(
"value"
,
setMeal
);
Map
<
String
,
Object
>
propertyMap1
=
new
HashMap
<
String
,
Object
>();
propertyMap1
.
put
(
"name"
,
"学校名称"
);
propertyMap1
.
put
(
"value"
,
orderView
.
getOrderUniversityName
());
Map
<
String
,
Object
>
propertyMap2
=
new
HashMap
<
String
,
Object
>();
propertyMap2
.
put
(
"name"
,
"允许上网终端类型"
);
propertyMap2
.
put
(
"value"
,
universityTerminalType
);
Map
<
String
,
Object
>
propertyMap3
=
new
HashMap
<
String
,
Object
>();
propertyMap3
.
put
(
"name"
,
"用户类别"
);
propertyMap3
.
put
(
"value"
,
universityUserCategory
);
Map
<
String
,
Object
>
propertyMap4
=
new
HashMap
<
String
,
Object
>();
propertyMap4
.
put
(
"name"
,
"用户类型"
);
propertyMap4
.
put
(
"value"
,
universityUserType
);
Map
<
String
,
Object
>
propertyMap5
=
new
HashMap
<
String
,
Object
>();
propertyMap5
.
put
(
"name"
,
"月租类型"
);
propertyMap5
.
put
(
"value"
,
universityMonthlyRentType
);
Map
<
String
,
Object
>
propertyMap6
=
new
HashMap
<
String
,
Object
>();
propertyMap6
.
put
(
"name"
,
"计费属性"
);
propertyMap6
.
put
(
"value"
,
universityChargingAttribute
);
Map
<
String
,
Object
>
propertyMap7
=
new
HashMap
<
String
,
Object
>();
propertyMap7
.
put
(
"name"
,
"一人一号多终端"
);
propertyMap7
.
put
(
"value"
,
universityOneManTerminal
);
Map
<
String
,
Object
>
propertyMap8
=
new
HashMap
<
String
,
Object
>();
propertyMap8
.
put
(
"name"
,
"外线方式"
);
propertyMap8
.
put
(
"value"
,
universityExteriorLines
);
Map
<
String
,
Object
>
propertyMap9
=
new
HashMap
<
String
,
Object
>();
propertyMap9
.
put
(
"name"
,
"是否FTTH+HUB"
);
propertyMap9
.
put
(
"value"
,
universityIsFtthHub
);
Map
<
String
,
Object
>
propertyMap16
=
new
HashMap
<
String
,
Object
>();
propertyMap16
.
put
(
"name"
,
"宽带提速速率"
);
propertyMap16
.
put
(
"value"
,
schoolMap
.
get
(
"speed"
));
Map
<
String
,
Object
>
propertyMap10
=
new
HashMap
<
String
,
Object
>();
propertyMap10
.
put
(
"name"
,
"多媒体账号"
);
propertyMap10
.
put
(
"value"
,
orderView
.
getOrderCustomerAccount
());
Map
<
String
,
Object
>
propertyMap11
=
new
HashMap
<
String
,
Object
>();
propertyMap11
.
put
(
"name"
,
"多媒体账号密码"
);
propertyMap11
.
put
(
"value"
,
orderView
.
getOrderCustomerPwd
());
Map
<
String
,
Object
>
propertyMap12
=
new
HashMap
<
String
,
Object
>();
propertyMap12
.
put
(
"name"
,
"学生证号"
);
propertyMap12
.
put
(
"value"
,
orderView
.
getOrderCustomerStudentId
());
Map
<
String
,
Object
>
propertyMap13
=
new
HashMap
<
String
,
Object
>();
propertyMap13
.
put
(
"name"
,
"宽带首月费用类型"
);
propertyMap13
.
put
(
"value"
,
universityChargeMode
);
Map
<
String
,
Object
>
propertyMap14
=
new
HashMap
<
String
,
Object
>();
propertyMap14
.
put
(
"name"
,
"最大在线数"
);
propertyMap14
.
put
(
"value"
,
universityOnlineNumber
);
Map
<
String
,
Object
>
propertyMap15
=
new
HashMap
<
String
,
Object
>();
propertyMap15
.
put
(
"name"
,
"地址ID"
);
propertyMap15
.
put
(
"value"
,
addressID
);
addPropertyList
.
add
(
propertyMap
);
addPropertyList
.
add
(
propertyMap1
);
addPropertyList
.
add
(
propertyMap2
);
addPropertyList
.
add
(
propertyMap3
);
addPropertyList
.
add
(
propertyMap4
);
addPropertyList
.
add
(
propertyMap5
);
addPropertyList
.
add
(
propertyMap6
);
addPropertyList
.
add
(
propertyMap7
);
addPropertyList
.
add
(
propertyMap8
);
addPropertyList
.
add
(
propertyMap9
);
addPropertyList
.
add
(
propertyMap10
);
addPropertyList
.
add
(
propertyMap11
);
addPropertyList
.
add
(
propertyMap12
);
addPropertyList
.
add
(
propertyMap13
);
addPropertyList
.
add
(
propertyMap14
);
addPropertyList
.
add
(
propertyMap15
);
addPropertyList
.
add
(
propertyMap16
);
productMap
.
put
(
"addProperties"
,
addPropertyList
);
productList
.
add
(
productMap
);
// 将对象装换为json字符串
String
productJson
=
JSONObject
.
toJSONString
(
productList
);
try
{
qParams
.
add
(
new
BasicNameValuePair
(
"productJson"
,
URLEncoder
.
encode
(
productJson
,
"UTF-8"
)));
// 产品信息,必填
signMap
.
put
(
"productJson"
,
URLEncoder
.
encode
(
productJson
,
"UTF-8"
));
}
catch
(
UnsupportedEncodingException
e1
)
{
// TODO Auto-generated catch block
e1
.
printStackTrace
();
}
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
);
log
.
info
(
"---------plaintext---------:"
+
plaintext
);
String
sign
=
MD5Utils
.
md5
(
plaintext
).
toUpperCase
();
//md5加密
qParams
.
add
(
new
BasicNameValuePair
(
"sign"
,
sign
));
//签名,必填
log
.
info
(
"---------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
)
{
System
.
out
.
println
(
"融合下单接口接口异常"
);
e
.
printStackTrace
();
}
finally
{
httpPost
.
releaseConnection
();
}
return
resultDataJson
;
}
@RequestMapping
(
value
=
"toSubmisOrderPreser"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
produces
=
"text/plain;charset=UTF-8"
)
...
...
@@ -312,7 +1076,7 @@ public class DankuanController {
wrapper1
.
eq
(
"university_region"
,
orderMap
.
getOrderRegion
());
schoolMap
=
universityInfoMapper
.
selectMaps
(
wrapper1
).
get
(
0
);
if
(
StringUtils
.
isBlank
(
orderMap
.
getOrderseq
t
hd
()))
{
if
(
StringUtils
.
isBlank
(
orderMap
.
getOrderseq
T
hd
()))
{
// 1、获取产品ID
JSONObject
productJsonObject
=
getProductId
(
currentTimeStr
);
log
.
info
(
"----------调用智能平台的产品接口返回参数:"
+
productJsonObject
);
...
...
@@ -332,7 +1096,7 @@ public class DankuanController {
productName
=
"校园宽带300元"
;
}
log
.
info
(
"------"
+
productName
);
//
productName = "校园宽带30元";
//
productName = "校园宽带30元";
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
JSONObject
itmeJson
=
JSONObject
.
parseObject
(
list
.
get
(
i
).
toString
());
// 判断获取的全部产品与订单产品符合的拿取对应的ID
...
...
@@ -404,20 +1168,20 @@ public class DankuanController {
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
//给MAP数组添加数据
map
.
put
(
"CLIENTNUMBER"
,
Constant
.
CLIENTNUMBER
);
//商户标识,由穗易付平台统一分配
map
.
put
(
"ORDERSEQ"
,
orderView
.
getOrder
s
eq
());
//订单号
log
.
info
(
"----------宽带价格prices:"
+
orderView
.
getWeb
ordera
mount
());
if
(
Constant
.
PRODUCTSKU479Str
.
indexOf
(
orderView
.
getWeb
ordera
mount
())
!=
-
1
)
{
map
.
put
(
"ORDERSEQ"
,
orderView
.
getOrder
S
eq
());
//订单号
log
.
info
(
"----------宽带价格prices:"
+
orderView
.
getWeb
OrderA
mount
());
if
(
Constant
.
PRODUCTSKU479Str
.
indexOf
(
orderView
.
getWeb
OrderA
mount
())
!=
-
1
)
{
map
.
put
(
"PRODUCTSKU"
,
Constant
.
PRODUCTSKU479
);
//商户产品
}
else
{
map
.
put
(
"PRODUCTSKU"
,
Constant
.
PRODUCTSKU481
);
}
Date
orderdate
=
orderView
.
getOrder
d
ate
();
Date
orderdate
=
orderView
.
getOrder
D
ate
();
SimpleDateFormat
ft
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
map
.
put
(
"ORDERDATE"
,
ft
.
format
(
orderdate
));
map
.
put
(
"ORDERAMOUNT"
,
orderView
.
getWeb
ordera
mount
());
//价格
map
.
put
(
"ORDERNAME"
,
orderView
.
getOrder
n
ame
());
//用户名
map
.
put
(
"ORDERPHONE"
,
orderView
.
getOrder
p
hone
());
//支付宝账号(电话)
map
.
put
(
"ORDERNUMBER"
,
orderView
.
getOrder
n
umber
());
//身份证
map
.
put
(
"ORDERAMOUNT"
,
orderView
.
getWeb
OrderA
mount
());
//价格
map
.
put
(
"ORDERNAME"
,
orderView
.
getOrder
N
ame
());
//用户名
map
.
put
(
"ORDERPHONE"
,
orderView
.
getOrder
P
hone
());
//支付宝账号(电话)
map
.
put
(
"ORDERNUMBER"
,
orderView
.
getOrder
N
umber
());
//身份证
if
(
Constant
.
Payment1
.
equals
(
ipay
))
{
...
...
@@ -432,7 +1196,7 @@ public class DankuanController {
map
.
put
(
"BACKDROPURL"
,
"http://yrym.winsun-aly.com/gdtel-xyzx-hhr/paymentCon/toSubmisOrderPreser.do"
);
String
str
=
"ORDERSEQ="
+
orderView
.
getOrder
seq
()
+
"&ORDERDATE="
+
ft
.
format
(
orderdate
)
+
"&ORDERAMOUNT="
+
orderView
.
getWebordera
mount
()
+
"&KEY="
+
Constant
.
KEY
;
//商户标识
String
str
=
"ORDERSEQ="
+
orderView
.
getOrder
Seq
()
+
"&ORDERDATE="
+
ft
.
format
(
orderdate
)
+
"&ORDERAMOUNT="
+
orderView
.
getWebOrderA
mount
()
+
"&KEY="
+
Constant
.
KEY
;
//商户标识
//* 将值转换为大写 *//*
map
.
put
(
"MAC"
,
MD5Utils
.
md5
(
str
).
toUpperCase
());
int
PAYTYPE
=
1
;
// 支付类型
...
...
@@ -467,19 +1231,19 @@ public class DankuanController {
orderViewMapper
.
updateForSet
(
MyBatisPlusUpdateUtils
.
toUpdateSet
(
dataMapping
),
wrapper
);
Order
order
=
new
Order
();
order
.
setId
(
id
);
order
.
setOrderNumber
(
orderView
.
getOrder
s
eq
());
order
.
setOrderNumber
(
orderView
.
getOrder
S
eq
());
order
.
setOrderStatus
(
OrderStatus
.
NOTPAID
.
getName
());
order
.
setHehuorenId
(
userId
);
order
.
setCustomerName
(
orderView
.
getOrder
n
ame
());
order
.
setContactNumber
(
orderView
.
getOrder
p
hone
());
order
.
setIdCard
(
orderView
.
getOrder
n
umber
());
order
.
setCustomerName
(
orderView
.
getOrder
N
ame
());
order
.
setContactNumber
(
orderView
.
getOrder
P
hone
());
order
.
setIdCard
(
orderView
.
getOrder
N
umber
());
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
.
getOrder
s
eq
());
order
.
setKdOrderId
(
orderView
.
getOrder
S
eq
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
order
.
setHehuorenPhone
(
sysUser
.
getPhone
());
String
schoolId
=
appMapper
.
selectSchoolId
(
userId
);
...
...
@@ -492,7 +1256,7 @@ public class DankuanController {
order
.
setSupervisorName
(
user
.
getName
());
order
.
setLzgh
(
school
.
getLzgh
());
orderMapper
.
insert
(
order
);
appMapper
.
inserOrderHis
(
id
,
"支付请求提交!"
,
new
Date
(),
orderView
.
getOrder
n
ame
());
appMapper
.
inserOrderHis
(
id
,
"支付请求提交!"
,
new
Date
(),
orderView
.
getOrder
N
ame
());
response
.
sendRedirect
(
result
);
}
}
...
...
@@ -660,14 +1424,14 @@ public class DankuanController {
signMap
.
put
(
"agentName"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"agentCardNum"
,
""
));
//若是政企客户下单,代办人身份证号码,必填
signMap
.
put
(
"agentCardNum"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"customerName"
,
orderMap
.
getOrder
n
ame
()));
//客户姓名,必填
signMap
.
put
(
"customerName"
,
orderMap
.
getOrder
n
ame
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerPhone"
,
orderMap
.
getOrder
p
hone
()));
//客户电话,必填
signMap
.
put
(
"customerPhone"
,
orderMap
.
getOrder
p
hone
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerName"
,
orderMap
.
getOrder
N
ame
()));
//客户姓名,必填
signMap
.
put
(
"customerName"
,
orderMap
.
getOrder
N
ame
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerPhone"
,
orderMap
.
getOrder
P
hone
()));
//客户电话,必填
signMap
.
put
(
"customerPhone"
,
orderMap
.
getOrder
P
hone
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardType"
,
"身份证"
));
//证件类型,必填
signMap
.
put
(
"customerCardType"
,
"身份证"
);
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardNum"
,
orderMap
.
getOrder
n
umber
()));
//证件号码,必填
signMap
.
put
(
"customerCardNum"
,
orderMap
.
getOrder
n
umber
());
qParams
.
add
(
new
BasicNameValuePair
(
"customerCardNum"
,
orderMap
.
getOrder
N
umber
()));
//证件号码,必填
signMap
.
put
(
"customerCardNum"
,
orderMap
.
getOrder
N
umber
());
qParams
.
add
(
new
BasicNameValuePair
(
"addressProvince"
,
"广东省"
));
//报装地址省份,必填
signMap
.
put
(
"addressProvince"
,
"广东省"
);
qParams
.
add
(
new
BasicNameValuePair
(
"addressCity"
,
"广州市"
));
//报装地址城市,必填
...
...
@@ -736,10 +1500,10 @@ public class DankuanController {
signMap
.
put
(
"deliveryAddress"
,
address
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContact"
,
orderMap
.
getOrder
n
ame
()));
//报装联系人,必填
signMap
.
put
(
"deliveryContact"
,
orderMap
.
getOrder
n
ame
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderMap
.
getOrder
p
hone
()));
//报装联系电话,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderMap
.
getOrder
p
hone
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContact"
,
orderMap
.
getOrder
N
ame
()));
//报装联系人,必填
signMap
.
put
(
"deliveryContact"
,
orderMap
.
getOrder
N
ame
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderMap
.
getOrder
P
hone
()));
//报装联系电话,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderMap
.
getOrder
P
hone
());
qParams
.
add
(
new
BasicNameValuePair
(
"invoiced"
,
"0"
));
//是否需要发票 0:否 1:是,必填
...
...
@@ -756,12 +1520,12 @@ public class DankuanController {
signMap
.
put
(
"comarketingLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"groupComarketingLanId"
,
""
));
//集团协销工号,选填
signMap
.
put
(
"groupComarketingLanId"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderOutNum"
,
orderMap
.
getOrder
s
eq
()));
//外部订单编号,选填!;通过API接口下单,必须传入一个外部接入商的订单编号,该编号与智能营销系统编号一一对应
signMap
.
put
(
"orderOutNum"
,
orderMap
.
getOrder
s
eq
());
qParams
.
add
(
new
BasicNameValuePair
(
"orderOutNum"
,
orderMap
.
getOrder
S
eq
()));
//外部订单编号,选填!;通过API接口下单,必须传入一个外部接入商的订单编号,该编号与智能营销系统编号一一对应
signMap
.
put
(
"orderOutNum"
,
orderMap
.
getOrder
S
eq
());
qParams
.
add
(
new
BasicNameValuePair
(
"orderSource"
,
"校园宽带自助受理"
));
//订单来源 ,选填
signMap
.
put
(
"orderSource"
,
"校园宽带自助受理"
);
qParams
.
add
(
new
BasicNameValuePair
(
"orderSourceNum"
,
orderMap
.
getOrder
s
eq
()));
//订单来源单号,选填; 与订单来源对应,用于业务上记录订单的来源订单编号
signMap
.
put
(
"orderSourceNum"
,
orderMap
.
getOrder
s
eq
());
qParams
.
add
(
new
BasicNameValuePair
(
"orderSourceNum"
,
orderMap
.
getOrder
S
eq
()));
//订单来源单号,选填; 与订单来源对应,用于业务上记录订单的来源订单编号
signMap
.
put
(
"orderSourceNum"
,
orderMap
.
getOrder
S
eq
());
qParams
.
add
(
new
BasicNameValuePair
(
"salePointCode"
,
""
));
//销售点编码,选填
signMap
.
put
(
"salePointCode"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"personCode"
,
""
));
//人员编码,选填
...
...
@@ -772,8 +1536,8 @@ public class DankuanController {
signMap
.
put
(
"agent"
,
""
);
qParams
.
add
(
new
BasicNameValuePair
(
"copyied"
,
"0"
));
//是否收取复印件(0:否 1:是),必填
signMap
.
put
(
"copyied"
,
"0"
);
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderMap
.
getOrder
p
hone
()));
//联系人电话 ,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderMap
.
getOrder
p
hone
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone"
,
orderMap
.
getOrder
P
hone
()));
//联系人电话 ,必填
signMap
.
put
(
"deliveryContactPhone"
,
orderMap
.
getOrder
P
hone
());
qParams
.
add
(
new
BasicNameValuePair
(
"deliveryContactPhone2"
,
""
));
//联系人电话2,选填
signMap
.
put
(
"deliveryContactPhone2"
,
""
);
...
...
@@ -790,7 +1554,7 @@ public class DankuanController {
paymentMap
.
put
(
"bank"
,
""
);
//缴费银行,缴费方式为“银行划账”时必填 :[中国银行|中国工商银行|中国农业银行|民生银行|招商银行|中信银行|商业银行|广东发展银行|光大银行|华夏银行|兴业银行|浦发银行|广州农村商业银行|广州银行|深圳发展银行|交通银行|中国建设银行|邮政储蓄]
paymentMap
.
put
(
"bankNumber"
,
""
);
//银行账号,缴费方式为“银行划账”时必填
paymentMap
.
put
(
"bankOwner"
,
""
);
////银行账号持有人,缴费方式为“银行划账”时必填
String
payPlatform
=
orderMap
.
getI
p
ay
();
String
payPlatform
=
orderMap
.
getI
P
ay
();
if
(
StringUtils
.
isNotBlank
(
payPlatform
))
{
if
(
"1"
.
equals
(
payPlatform
))
{
paymentMap
.
put
(
"payPlatform"
,
"支付宝"
);
//支付平台,缴费方式为“穗易付”时必填
...
...
@@ -800,19 +1564,19 @@ public class DankuanController {
}
else
{
paymentMap
.
put
(
"payPlatform"
,
"穗易付"
);
//支付平台,缴费方式为“穗易付”时必填
}
if
(
StringUtils
.
isNotBlank
(
UPTRANSEQ
))
{
if
(
StringUtils
.
isNotBlank
(
UPTRANSEQ
))
{
paymentMap
.
put
(
"electronicPayNumber"
,
UPTRANSEQ
);
//支付流水号,缴费方式为“穗易付”时必填
}
else
{
}
else
{
paymentMap
.
put
(
"electronicPayNumber"
,
""
);
//支付流水号,缴费方式为“穗易付”时必填
}
if
(
StringUtils
.
isNotBlank
(
ORDERREQTRANSEQ
))
{
if
(
StringUtils
.
isNotBlank
(
ORDERREQTRANSEQ
))
{
paymentMap
.
put
(
"payOrderNumber"
,
ORDERREQTRANSEQ
);
// 穗易付订单号,若选择穗易付,此项必填
}
else
{
}
else
{
paymentMap
.
put
(
"payOrderNumber"
,
""
);
// 穗易付订单号,若选择穗易付,此项必填
}
if
(
StringUtils
.
isNotBlank
(
ORDERAMOUNT
))
{
if
(
StringUtils
.
isNotBlank
(
ORDERAMOUNT
))
{
paymentMap
.
put
(
"payAmount"
,
ORDERAMOUNT
);
//缴费金额(打款金额),缴费方式为“代理商打款”或“穗易付”时必填
}
else
{
}
else
{
paymentMap
.
put
(
"payAmount"
,
""
);
//缴费金额(打款金额),缴费方式为“代理商打款”或“穗易付”时必填
}
paymentMap
.
put
(
"alipayUserid"
,
""
);
//用户ID,缴费方式为“支付宝支付”时必填
...
...
common/src/main/java/com/winsun/bean/OrderView.java
View file @
9888c057
package
com
.
winsun
.
bean
;
import
com.baomidou.mybatisplus.annotations.TableField
;
import
com.baomidou.mybatisplus.annotations.TableId
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
com.baomidou.mybatisplus.enums.IdType
;
...
...
@@ -26,311 +27,127 @@ public class OrderView implements Serializable {
/**
* 订单号码
*/
private
String
orderseq
;
@TableField
(
value
=
"orderSeq"
)
private
String
orderSeq
;
/**
* 产品名称
*/
private
String
productname
;
@TableField
(
value
=
"productName"
)
private
String
productName
;
/**
* 套餐
*/
@TableField
(
value
=
"order_set_meal"
)
private
String
orderSetMeal
;
/**
* 学校
*/
@TableField
(
value
=
"order_university_name"
)
private
String
orderUniversityName
;
/**
* 姓名
*/
private
String
ordername
;
@TableField
(
value
=
"orderName"
)
private
String
orderName
;
/**
* 提交时间
*/
private
Date
orderdate
;
@TableField
(
value
=
"orderDate"
)
private
Date
orderDate
;
/**
* 订单状态
*/
@TableField
(
value
=
"status"
)
private
String
status
;
/**
* 区域
*/
@TableField
(
value
=
"order_region"
)
private
String
orderRegion
;
/**
* 支付平台:翼支付网厅|支付宝|微信
*/
private
String
ipay
;
@TableField
(
value
=
"ipay"
)
private
String
iPay
;
/**
* 支付方式:电脑支付|手机WAY支付|微信扫码支付|公众号支付|支付宝扫码
*/
private
String
paytype
;
@TableField
(
value
=
"payType"
)
private
String
payType
;
/**
* 产品价格
*/
private
String
weborderamount
;
@TableField
(
value
=
"webOrderAmount"
)
private
String
webOrderAmount
;
/**
* 支付时间
*/
@TableField
(
value
=
"order_payment_time"
)
private
Date
orderPaymentTime
;
/**
* 穗易付订单号
*/
private
String
orderreqtranseq
;
@TableField
(
value
=
"orderReqtranSeq"
)
private
String
orderReqtranSeq
;
/**
* 接入商
*/
private
String
customerid
;
@TableField
(
value
=
"customeRid"
)
private
String
customerId
;
/**
* 联系电话
*/
private
String
orderphone
;
@TableField
(
value
=
"orderPhone"
)
private
String
orderPhone
;
/**
* 身份证号码
*/
private
String
ordernumber
;
@TableField
(
value
=
"orderNumber"
)
private
String
orderNumber
;
/**
* 用户类别
*/
@TableField
(
value
=
"order_customer_type"
)
private
String
orderCustomerType
;
/**
* 学生证号
*/
@TableField
(
value
=
"order_customer_student_id"
)
private
String
orderCustomerStudentId
;
/**
* 备注
*/
@TableField
(
value
=
"order_customer_remarks"
)
private
String
orderCustomerRemarks
;
/**
* 多媒体账号
*/
@TableField
(
value
=
"order_customer_account"
)
private
String
orderCustomerAccount
;
/**
* 多媒体密码
*/
@TableField
(
value
=
"order_customer_pwd"
)
private
String
orderCustomerPwd
;
/**
* 支付平台流水号
*/
@TableField
(
value
=
"uptranseq"
)
private
String
uptranseq
;
/**
* 用户显示的速率
*/
@TableField
(
value
=
"expenses"
)
private
String
expenses
;
/**
* 预留字段2
*/
@TableField
(
value
=
"order_rf2"
)
private
String
orderRf2
;
/**
* 智能平台订单号
*/
private
String
orderseqthd
;
public
Integer
getOrderId
()
{
return
orderId
;
}
public
void
setOrderId
(
Integer
orderId
)
{
this
.
orderId
=
orderId
;
}
public
String
getOrderseq
()
{
return
orderseq
;
}
public
void
setOrderseq
(
String
orderseq
)
{
this
.
orderseq
=
orderseq
;
}
public
String
getProductname
()
{
return
productname
;
}
public
void
setProductname
(
String
productname
)
{
this
.
productname
=
productname
;
}
public
String
getOrderSetMeal
()
{
return
orderSetMeal
;
}
public
void
setOrderSetMeal
(
String
orderSetMeal
)
{
this
.
orderSetMeal
=
orderSetMeal
;
}
public
String
getOrderUniversityName
()
{
return
orderUniversityName
;
}
public
void
setOrderUniversityName
(
String
orderUniversityName
)
{
this
.
orderUniversityName
=
orderUniversityName
;
}
public
String
getOrdername
()
{
return
ordername
;
}
public
void
setOrdername
(
String
ordername
)
{
this
.
ordername
=
ordername
;
}
public
Date
getOrderdate
()
{
return
orderdate
;
}
public
void
setOrderdate
(
Date
orderdate
)
{
this
.
orderdate
=
orderdate
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
public
String
getOrderRegion
()
{
return
orderRegion
;
}
public
void
setOrderRegion
(
String
orderRegion
)
{
this
.
orderRegion
=
orderRegion
;
}
public
String
getIpay
()
{
return
ipay
;
}
public
void
setIpay
(
String
ipay
)
{
this
.
ipay
=
ipay
;
}
public
String
getPaytype
()
{
return
paytype
;
}
public
void
setPaytype
(
String
paytype
)
{
this
.
paytype
=
paytype
;
}
public
String
getWeborderamount
()
{
return
weborderamount
;
}
public
void
setWeborderamount
(
String
weborderamount
)
{
this
.
weborderamount
=
weborderamount
;
}
public
Date
getOrderPaymentTime
()
{
return
orderPaymentTime
;
}
public
void
setOrderPaymentTime
(
Date
orderPaymentTime
)
{
this
.
orderPaymentTime
=
orderPaymentTime
;
}
public
String
getOrderreqtranseq
()
{
return
orderreqtranseq
;
}
public
void
setOrderreqtranseq
(
String
orderreqtranseq
)
{
this
.
orderreqtranseq
=
orderreqtranseq
;
}
public
String
getCustomerid
()
{
return
customerid
;
}
public
void
setCustomerid
(
String
customerid
)
{
this
.
customerid
=
customerid
;
}
public
String
getOrderphone
()
{
return
orderphone
;
}
public
void
setOrderphone
(
String
orderphone
)
{
this
.
orderphone
=
orderphone
;
}
public
String
getOrdernumber
()
{
return
ordernumber
;
}
public
void
setOrdernumber
(
String
ordernumber
)
{
this
.
ordernumber
=
ordernumber
;
}
public
String
getOrderCustomerType
()
{
return
orderCustomerType
;
}
public
void
setOrderCustomerType
(
String
orderCustomerType
)
{
this
.
orderCustomerType
=
orderCustomerType
;
}
public
String
getOrderCustomerStudentId
()
{
return
orderCustomerStudentId
;
}
public
void
setOrderCustomerStudentId
(
String
orderCustomerStudentId
)
{
this
.
orderCustomerStudentId
=
orderCustomerStudentId
;
}
public
String
getOrderCustomerRemarks
()
{
return
orderCustomerRemarks
;
}
public
void
setOrderCustomerRemarks
(
String
orderCustomerRemarks
)
{
this
.
orderCustomerRemarks
=
orderCustomerRemarks
;
}
public
String
getOrderCustomerAccount
()
{
return
orderCustomerAccount
;
}
public
void
setOrderCustomerAccount
(
String
orderCustomerAccount
)
{
this
.
orderCustomerAccount
=
orderCustomerAccount
;
}
public
String
getOrderCustomerPwd
()
{
return
orderCustomerPwd
;
}
public
void
setOrderCustomerPwd
(
String
orderCustomerPwd
)
{
this
.
orderCustomerPwd
=
orderCustomerPwd
;
}
public
String
getUptranseq
()
{
return
uptranseq
;
}
public
void
setUptranseq
(
String
uptranseq
)
{
this
.
uptranseq
=
uptranseq
;
}
public
String
getExpenses
()
{
return
expenses
;
}
public
void
setExpenses
(
String
expenses
)
{
this
.
expenses
=
expenses
;
}
public
String
getOrderRf2
()
{
return
orderRf2
;
}
public
void
setOrderRf2
(
String
orderRf2
)
{
this
.
orderRf2
=
orderRf2
;
}
public
String
getOrderseqthd
()
{
return
orderseqthd
;
}
public
void
setOrderseqthd
(
String
orderseqthd
)
{
this
.
orderseqthd
=
orderseqthd
;
}
@TableField
(
value
=
"orderSeqTHD"
)
private
String
orderseqThd
;
}
\ No newline at end of file
common/src/main/java/com/winsun/bean/SysUser.java
View file @
9888c057
...
...
@@ -6,16 +6,17 @@ import com.baomidou.mybatisplus.annotations.TableName;
import
com.baomidou.mybatisplus.enums.IdType
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
@TableName
(
"sys_user"
)
@Data
public
class
SysUser
{
public
class
SysUser
implements
Serializable
{
/**
* 主键
*/
@TableId
(
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
String
id
;
/**
...
...
common/src/main/java/com/winsun/bean/UserSchool.java
View file @
9888c057
...
...
@@ -2,7 +2,6 @@ package com.winsun.bean;
import
com.baomidou.mybatisplus.annotations.TableId
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
com.baomidou.mybatisplus.enums.IdType
;
import
lombok.Data
;
import
java.io.Serializable
;
...
...
@@ -18,11 +17,10 @@ public class UserSchool implements Serializable {
/**
* 主键
*/
@TableId
(
value
=
"user_id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"user_id"
)
private
String
userId
;
/**
*
*/
@TableId
(
value
=
"school_id"
)
private
String
schoolId
;
}
new-user/src/main/java/com/winsun/controller/StartSelectController.java
View file @
9888c057
...
...
@@ -74,40 +74,6 @@ public class StartSelectController {
}
/**
*跟据合伙人id查找融合套餐信息
* @param hhrId
* @return
*/
@RequestMapping
(
"/getTcInfoByHhrId"
)
public
ResponseData
<
Map
<
String
,
Object
>>
getTcInfoByHhrId
(
@RequestParam
(
"hhrId"
)
String
hhrId
){
if
(
StringUtils
.
isEmpty
(
hhrId
)){
return
ResponseData
.
error
(
"请输入合伙人id"
);
}
Map
<
String
,
Object
>
objMap
=
new
HashMap
<>();
Wrapper
<
UserSchool
>
usWrapper
=
new
EntityWrapper
<>();
usWrapper
.
setSqlSelect
(
" school_id AS schoolId "
);
usWrapper
.
addFilter
(
" user_id = '"
+
hhrId
+
"'"
);
Map
<
String
,
Object
>
usMap
=
userSchoolMapper
.
selectMaps
(
usWrapper
).
get
(
0
);
Wrapper
<
School
>
schoolWrapper
=
new
EntityWrapper
<>();
schoolWrapper
.
setSqlSelect
(
" id,sub_name AS subName,bandproduct_id AS bandproductId "
);
schoolWrapper
.
addFilter
(
" id = '"
+
usMap
.
get
(
"schoolId"
)
+
"'"
);
Map
<
String
,
Object
>
schoolMap
=
schoolMapper
.
selectMaps
(
schoolWrapper
).
get
(
0
);
Wrapper
<
Product
>
productWrapper
=
new
EntityWrapper
<>();
productWrapper
.
setSqlSelect
(
" product_id,product_title,product_region,university_id "
);
productWrapper
.
addFilter
(
" product_id = '"
+
schoolMap
.
get
(
"bandproductId"
)
+
"'"
);
Map
<
String
,
Object
>
productMap
=
productMapper
.
selectMaps
(
productWrapper
).
get
(
0
);
/*if (CollectionUtils.isEmpty(mapList)){
return ResponseData.error("没有查询相关的合伙人id的信息");
}
Map<String, Object> map = mapList.get(0);*/
objMap
.
put
(
"userMap"
,
usMap
);
objMap
.
put
(
"schoolMap"
,
schoolMap
);
objMap
.
put
(
"productMap"
,
productMap
);
return
ResponseData
.
success
(
objMap
);
}
/**
*通过学生ID,name和身份证查询学生信息
* @param stuId 学生ID
* @param name 用户名
...
...
@@ -214,9 +180,7 @@ public class StartSelectController {
JSONObject
queryOrderJsonObject
=
null
;
if
(
StringUtils
.
isNotBlank
(
orderNum
))
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Map
<
String
,
String
>
orderMap
=
new
HashMap
<>();
OrderView
orderView
=
new
OrderView
();
orderMap
.
put
(
"orderSeq"
,
orderSeq
);
orderMap
.
put
(
"productTitle"
,
"中国电信校园高速宽带"
);
orderMap
.
put
(
"order_set_meal"
,
"毕业生融合套餐"
);
...
...
@@ -495,21 +459,21 @@ public class StartSelectController {
log
.
info
(
"支付操作后保存数据到数据库"
);
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
OrderView
orderView
=
new
OrderView
();
orderView
.
setOrder
s
eq
(
ProduceIdUtil
.
getId
()+
""
);
// 订单号码
orderView
.
setProduct
n
ame
(
orderMap
.
get
(
"productTitle"
));
// 产品名称
orderView
.
setOrder
S
eq
(
ProduceIdUtil
.
getId
()+
""
);
// 订单号码
orderView
.
setProduct
N
ame
(
orderMap
.
get
(
"productTitle"
));
// 产品名称
orderView
.
setOrderSetMeal
(
orderMap
.
get
(
"order_set_meal"
));
// 套餐
orderView
.
setOrderUniversityName
(
orderMap
.
get
(
"order_university_name"
));
// 学校
orderView
.
setOrder
n
ame
(
orderMap
.
get
(
"orderName"
));
// 姓名
orderView
.
setOrder
N
ame
(
orderMap
.
get
(
"orderName"
));
// 姓名
String
orderDatetime
=
orderMap
.
get
(
"orderDatetime"
);
orderView
.
setOrder
d
ate
(
df
.
parse
(
orderDatetime
));
// 提交时间
orderView
.
setOrder
D
ate
(
df
.
parse
(
orderDatetime
));
// 提交时间
orderView
.
setStatus
(
orderMap
.
get
(
"Status"
));
// 订单状态
orderView
.
setOrderRegion
(
orderMap
.
get
(
"universityRegion"
));
// 区域
orderView
.
setI
p
ay
(
orderMap
.
get
(
"ipay"
));
// 支付平台
orderView
.
setPay
t
ype
(
orderMap
.
get
(
"payType"
));
// 支付方式
orderView
.
setWeb
ordera
mount
(
orderMap
.
get
(
"prices"
).
replace
(
"元"
,
""
));
// 产品价格
orderView
.
setCustomer
i
d
(
"xyzxyql"
);
// 接入商
orderView
.
setOrder
p
hone
(
orderMap
.
get
(
"orderPhone"
));
// 联系电话
orderView
.
setOrder
n
umber
(
orderMap
.
get
(
"orderNumber"
));
// 身份证号码
orderView
.
setI
P
ay
(
orderMap
.
get
(
"ipay"
));
// 支付平台
orderView
.
setPay
T
ype
(
orderMap
.
get
(
"payType"
));
// 支付方式
orderView
.
setWeb
OrderA
mount
(
orderMap
.
get
(
"prices"
).
replace
(
"元"
,
""
));
// 产品价格
orderView
.
setCustomer
I
d
(
"xyzxyql"
);
// 接入商
orderView
.
setOrder
P
hone
(
orderMap
.
get
(
"orderPhone"
));
// 联系电话
orderView
.
setOrder
N
umber
(
orderMap
.
get
(
"orderNumber"
));
// 身份证号码
if
(
StringUtils
.
isBlank
(
orderMap
.
get
(
"order_customer_student_id"
)))
{
orderView
.
setOrderCustomerType
(
"老师"
);
// 用户类别
}
else
{
...
...
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