Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
familyMart_takeaway
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
guanghui.cui
familyMart_takeaway
Commits
5615efd4
Commit
5615efd4
authored
Feb 28, 2018
by
guanghui.cui
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.freemud.com/guanghui.cui/familyMart_takeaway
parents
2483b050
2b65e27a
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
20 deletions
+63
-20
src/JsonModule.cpp
+63
-20
No files found.
src/JsonModule.cpp
View file @
5615efd4
...
...
@@ -6,6 +6,8 @@
#include "../3rdParty/rapidjson/stringbuffer.h"
#include "../3rdParty/easylogging/easylogging++.h"
#include <iostream>
using
namespace
rapidjson
;
// std::string GetTestJson(const int statuscode,const char* msg,const char* orderid)
...
...
@@ -94,37 +96,79 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
{
rapidjson
::
Value
&
delivery_obj
=
document
[
"delivery"
];
if
(
delivery_obj
.
IsObject
())
{
if
(
delivery_obj
.
HasMember
(
"customerAddress"
))
{
rapidjson
::
Value
&
customerAddress
=
delivery_obj
[
"customerAddress"
];
order
.
customerInfo
.
address
=
customerAddress
.
GetString
();
}
if
(
delivery_obj
.
HasMember
(
"customerName"
))
{
rapidjson
::
Value
&
customerName
=
delivery_obj
[
"customerName"
];
order
.
customerInfo
.
name
=
customerName
.
GetString
();
}
if
(
delivery_obj
.
HasMember
(
"customerPhone"
))
{
rapidjson
::
Value
&
customerPhone
=
delivery_obj
[
"customerPhone"
];
order
.
customerInfo
.
phone
=
customerPhone
.
GetString
();
}
if
(
delivery_obj
.
HasMember
(
"deliveryTime"
))
{
rapidjson
::
Value
&
deliveryTime
=
delivery_obj
[
"deliveryTime"
];
order
.
delivery_time
=
deliveryTime
.
GetString
();
}
if
(
delivery_obj
.
HasMember
(
"name"
))
{
rapidjson
::
Value
&
name
=
delivery_obj
[
"name"
];
order
.
deliveryInfo
.
driver_name
=
name
.
GetString
();
}
if
(
delivery_obj
.
HasMember
(
"phone"
))
{
rapidjson
::
Value
&
phone
=
delivery_obj
[
"phone"
];
order
.
deliveryInfo
.
driver_phone
=
phone
.
GetString
();
}
if
(
delivery_obj
.
HasMember
(
"type"
))
{
rapidjson
::
Value
&
type
=
delivery_obj
[
"type"
];
order
.
deliveryInfo
.
type
=
type
.
GetString
();
}
}
}
//发票信息
{
rapidjson
::
Value
&
invoice_obj
=
document
[
"invoice"
];
if
(
invoice_obj
.
IsObject
())
{
if
(
invoice_obj
.
HasMember
(
"companyName"
))
{
rapidjson
::
Value
&
companyName
=
invoice_obj
[
"companyName"
];
companyName
.
GetString
();
}
if
(
invoice_obj
.
HasMember
(
"invoiceType"
))
{
rapidjson
::
Value
&
invoiceType
=
invoice_obj
[
"invoiceType"
];
invoiceType
.
GetInt
();
}
if
(
invoice_obj
.
HasMember
(
"taxNum"
))
{
rapidjson
::
Value
&
taxNum
=
invoice_obj
[
"taxNum"
];
taxNum
.
GetString
();
}
if
(
invoice_obj
.
HasMember
(
"title"
))
{
rapidjson
::
Value
&
title
=
invoice_obj
[
"title"
];
title
.
GetString
();
}
if
(
invoice_obj
.
HasMember
(
"transNum"
))
{
rapidjson
::
Value
&
transNum
=
invoice_obj
[
"transNum"
];
transNum
.
GetString
();
}
}
}
//订单内容
{
rapidjson
::
Value
&
orderContent_obj
=
document
[
"orderContent"
];
...
...
@@ -245,7 +289,6 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
}
}
}
//支付信息
{
//TODO
...
...
@@ -271,7 +314,6 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
}
rapidjson
::
Value
&
payType
=
orderContent_obj
[
"payType"
];
payType
.
GetString
();
//积分信息
{
rapidjson
::
Value
&
points_obj
=
orderContent_obj
[
"points"
];
...
...
@@ -313,7 +355,6 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
}
}
}
//优惠信息
{
rapidjson
::
Value
&
promotions_obj
=
orderContent_obj
[
"promotions"
];
...
...
@@ -375,18 +416,24 @@ bool JsonModule::getPushOrders(IN const char* json,OUT orderObj &order)
order
.
reduced_price
=
totalDiscount
.
GetInt
();
}
//第三方商户信息
{
rapidjson
::
Value
&
sellerInfo_obj
=
document
[
"sellerInfo"
];
if
(
sellerInfo_obj
.
IsObject
())
{
if
(
sellerInfo_obj
.
HasMember
(
"sellerId"
))
{
rapidjson
::
Value
&
sellerId
=
sellerInfo_obj
[
"sellerId"
];
sellerId
.
GetString
();
}
if
(
sellerInfo_obj
.
HasMember
(
"sellerName"
))
{
rapidjson
::
Value
&
sellerName
=
sellerInfo_obj
[
"sellerName"
];
sellerName
.
GetString
();
}
}
}
//门店信息
{
rapidjson
::
Value
&
shopInfo_obj
=
document
[
"shopInfo"
];
...
...
@@ -578,20 +625,13 @@ bool JsonModule::convertDataOds2Pos(const std::string &data, std::string &result
{
bool
rlt
=
true
;
orderObj
order
;
rlt
=
getPushOrders
(
data
.
c_str
(),
order
);
if
(
ORDERSTATUS_NEW
==
order
.
status
){
rlt
=
getPushOrders
(
data
.
c_str
(),
order
);
if
(
rlt
)
{
result
=
_convertToNewOrderJson
(
order
);
}
else
if
(
ORDERSTATUS_CONFIRMED
==
order
.
status
||
ORDERSTATUS_CANCELED
==
order
.
status
||
ORDERSTATUS_SHIPPING
==
order
.
status
||
ORDERSTATUS_COMPLETE
==
order
.
status
){
orderStatusObj
statusObj
;
_getStatusObj
(
order
,
statusObj
);
result
=
_convertToOrderStatusJson
(
statusObj
);
}
else
if
(
ORDERSTATUS_REFUND_FULL
==
order
.
status
||
ORDERSTATUS_REFUND_PART
==
order
.
status
){
refundObj
refund
;
_getRefundObj
(
order
,
refund
);
result
=
_convertToRefundJson
(
refund
);
}
return
rlt
;
}
...
...
@@ -620,7 +660,7 @@ std::string JsonModule::_convertToNewOrderJson(orderObj &obj)
writer
.
String
(
obj
.
delivery_time
.
c_str
());
writer
.
Key
(
"status"
);
writer
.
Int
(
obj
.
status
);
writer
.
Int
(
_getPOSOrderStatus
(
obj
.
status
)
);
writer
.
Key
(
"status_desc"
);
writer
.
String
(
obj
.
status_desc
.
c_str
());
...
...
@@ -796,6 +836,9 @@ std::string JsonModule::_convertToNewOrderJson(orderObj &obj)
writer
.
Key
(
"trans_id"
);
writer
.
String
(
obj
.
payInfo
.
vecDetail
[
i
].
trans_id
.
c_str
());
writer
.
Key
(
"account_id"
);
writer
.
String
(
obj
.
payInfo
.
vecDetail
[
i
].
account_id
.
c_str
());
writer
.
EndObject
();
}
writer
.
EndArray
();
...
...
@@ -890,7 +933,7 @@ std::string JsonModule::_convertToOrderStatusJson(orderStatusObj &obj)
writer
.
String
(
obj
.
order_id
.
c_str
());
writer
.
Key
(
"order_status"
);
writer
.
Int
(
obj
.
order_status
);
writer
.
Int
(
_getPOSOrderStatus
(
obj
.
order_status
)
);
writer
.
Key
(
"delivery_status"
);
writer
.
Int
(
obj
.
delivery_status
);
...
...
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