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
bbce0280
Commit
bbce0280
authored
Feb 05, 2018
by
guanghui.cui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单状态转换(POS<-->ODS)
parent
a507f979
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
119 additions
and
49 deletions
+119
-49
base/BaseDefine.h
+26
-0
src/JsonModule.cpp
+91
-49
src/JsonModule.h
+2
-0
No files found.
base/BaseDefine.h
View file @
bbce0280
...
@@ -4,6 +4,9 @@
...
@@ -4,6 +4,9 @@
#define IN
#define IN
#define OUT
#define OUT
/***********************************
POS相关预定义变量
***********************************/
//订单状态对照表
//订单状态对照表
#define ORDERSTATUS_NEW 1001 //新生成
#define ORDERSTATUS_NEW 1001 //新生成
#define ORDERSTATUS_CONFIRMED 1002 //已确定
#define ORDERSTATUS_CONFIRMED 1002 //已确定
...
@@ -51,4 +54,26 @@
...
@@ -51,4 +54,26 @@
#define RESPONSE_CODE_SUCCESS 100 //成功
#define RESPONSE_CODE_SUCCESS 100 //成功
#define RESPONSE_CODE_FAILED 101 //失败
#define RESPONSE_CODE_FAILED 101 //失败
/***********************************
ODS相关预定义变量
***********************************/
//配送类型对照表
#define ODS_DELIVERY_TYPE_SELF 0 //自配送
#define ODS_DELIVERY_TYPE_PLATFORM 1 //平台配送
//订单状态对照表
#define ODS_ORDERSTATUS_NEW 1 //新生成
#define ODS_ORDERSTATUS_CONFIRMED 2 //已确定
#define ODS_ORDERSTATUS_CANCELED 3 //已取消
#define ODS_ORDERSTATUS_SHIPPING 4 //配送中
#define ODS_ORDERSTATUS_WAIT_SHIPPING 5 //等待配送
#define ODS_ORDERSTATUS_COMPLETE 6 //已送达
#define ODS_ORDERSTATUS_DONE 200 //已送达
#define ODS_ORDERSTATUS_REFUND_FULL 20 //申请全额退款
#define ODS_ORDERSTATUS_REFUND_PART 21 //申请部分退款
#define ODS_ORDERSTATUS_REFUND_AGREE 30 //同意退款
#define ODS_ORDERSTATUS_REFUND_DISAGREE 40 //不同意退款
#define ODS_ORDERSTATUS_REFUND_COMPLETE 100 //退款完成
#endif
#endif
\ No newline at end of file
src/JsonModule.cpp
View file @
bbce0280
...
@@ -8,53 +8,53 @@
...
@@ -8,53 +8,53 @@
using
namespace
rapidjson
;
using
namespace
rapidjson
;
std
::
string
GetTestJson
(
const
int
statuscode
,
const
char
*
msg
,
const
char
*
orderid
)
//
std::string GetTestJson(const int statuscode,const char* msg,const char* orderid)
{
//
{
rapidjson
::
StringBuffer
buffer
;
//
rapidjson::StringBuffer buffer;
rapidjson
::
Writer
<
rapidjson
::
StringBuffer
>
writer
(
buffer
);
//
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
writer
.
StartObject
();
//
writer.StartObject();
writer
.
Key
(
"statusCode"
);
//
writer.Key("statusCode");
writer
.
Int
(
statuscode
);
//
writer.Int(statuscode);
writer
.
Key
(
"msg"
);
//
writer.Key("msg");
writer
.
String
(
msg
);
//
writer.String(msg);
writer
.
Key
(
"orderid"
);
//
writer.Key("orderid");
writer
.
String
(
orderid
);
//
writer.String(orderid);
writer
.
EndObject
();
//
writer.EndObject();
return
buffer
.
GetString
();
//
return buffer.GetString();
}
//
}
void
parseJson
(
const
char
*
json
)
//
void parseJson(const char* json)
{
//
{
rapidjson
::
Document
document
;
// 定义一个Document对象
//
rapidjson::Document document; // 定义一个Document对象
document
.
Parse
(
json
);
// 解析,Parse()无返回值,也不会抛异常
//
document.Parse(json); // 解析,Parse()无返回值,也不会抛异常
if
(
document
.
HasParseError
())
// 通过HasParseError()来判断解析是否成功
//
if (document.HasParseError()) // 通过HasParseError()来判断解析是否成功
{
//
{
// 可通过GetParseError()取得出错代码,
//
// 可通过GetParseError()取得出错代码,
// 注意GetParseError()返回的是一个rapidjson::ParseErrorCode类型的枚举值
//
// 注意GetParseError()返回的是一个rapidjson::ParseErrorCode类型的枚举值
// 使用函数rapidjson::GetParseError_En()得到错误码的字符串说明,这里的En为English简写
//
// 使用函数rapidjson::GetParseError_En()得到错误码的字符串说明,这里的En为English简写
// 函数GetErrorOffset()返回出错发生的位置
//
// 函数GetErrorOffset()返回出错发生的位置
LOG
(
ERROR
)
<<
"JSON parse error:"
<<
document
.
GetParseError
()
<<
":"
<<
document
.
GetErrorOffset
();
//
LOG(ERROR)<<"JSON parse error:"<<document.GetParseError()<<":"<<document.GetErrorOffset();
}
//
}
else
//
else
{
//
{
rapidjson
::
Value
&
vStatusCode
=
document
[
"statusCode"
];
//
rapidjson::Value& vStatusCode = document["statusCode"];
rapidjson
::
Value
&
vMsg
=
document
[
"msg"
];
//
rapidjson::Value& vMsg = document["msg"];
rapidjson
::
Value
&
vOrderid
=
document
[
"orderid"
];
//
rapidjson::Value& vOrderid = document["orderid"];
int
iStatusCode
=
vStatusCode
.
GetInt
();
//
int iStatusCode = vStatusCode.GetInt();
std
::
string
strMsg
=
vMsg
.
GetString
();
//
std::string strMsg = vMsg.GetString();
std
::
string
strOrderid
=
vOrderid
.
GetString
();
//
std::string strOrderid = vOrderid.GetString();
LOG
(
INFO
)
<<
"statusCode:"
<<
iStatusCode
;
//
LOG(INFO)<<"statusCode:"<<iStatusCode;
LOG
(
INFO
)
<<
"msg:"
<<
strMsg
.
data
();
//
LOG(INFO)<<"msg:"<<strMsg.data();
LOG
(
INFO
)
<<
"orderId:"
<<
strOrderid
.
data
();
//
LOG(INFO)<<"orderId:"<<strOrderid.data();
}
//
}
}
//
}
JsonModule
::
JsonModule
()
JsonModule
::
JsonModule
()
{
{
...
@@ -108,7 +108,7 @@ void JsonModule::getPushOrders(IN const char* json,OUT std::vector<orderObj> &ve
...
@@ -108,7 +108,7 @@ void JsonModule::getPushOrders(IN const char* json,OUT std::vector<orderObj> &ve
order
.
delivery_time
=
delivery_time
.
GetString
();
order
.
delivery_time
=
delivery_time
.
GetString
();
rapidjson
::
Value
&
status
=
objValue
[
"status"
];
rapidjson
::
Value
&
status
=
objValue
[
"status"
];
order
.
status
=
status
.
GetInt
(
);
order
.
status
=
_getPOSOrderStatus
(
status
.
GetInt
()
);
rapidjson
::
Value
&
status_desc
=
objValue
[
"status_desc"
];
rapidjson
::
Value
&
status_desc
=
objValue
[
"status_desc"
];
order
.
status_desc
=
status_desc
.
GetString
();
order
.
status_desc
=
status_desc
.
GetString
();
...
@@ -633,14 +633,55 @@ std::string JsonModule::_getDeliveryTypeString(int type)
...
@@ -633,14 +633,55 @@ std::string JsonModule::_getDeliveryTypeString(int type)
std
::
string
rlt
;
std
::
string
rlt
;
switch
(
type
)
switch
(
type
)
{
{
case
0
:
case
ODS_DELIVERY_TYPE_SELF
:
rlt
=
DELIVERY_TYPE_SELF
;
rlt
=
DELIVERY_TYPE_SELF
;
break
;
break
;
case
1
:
case
ODS_DELIVERY_TYPE_PLATFORM
:
rlt
=
DELIVERY_TYPE_PLATFORM
;
rlt
=
DELIVERY_TYPE_PLATFORM
;
break
;
break
;
default
:
default
:
break
;
break
;
}
}
return
rlt
;
return
rlt
;
}
int
JsonModule
::
_getPOSOrderStatus
(
int
status
)
{
int
rltStatus
=
0
;
switch
(
status
)
{
case
ODS_ORDERSTATUS_NEW
:
rltStatus
=
ORDERSTATUS_NEW
;
break
;
case
ODS_ORDERSTATUS_CONFIRMED
:
rltStatus
=
ORDERSTATUS_CONFIRMED
;
break
;
case
ODS_ORDERSTATUS_CANCELED
:
rltStatus
=
ORDERSTATUS_CANCELED
;
break
;
case
ODS_ORDERSTATUS_SHIPPING
:
rltStatus
=
ORDERSTATUS_SHIPPING
;
break
;
case
ODS_ORDERSTATUS_WAIT_SHIPPING
:
rltStatus
=
ORDERSTATUS_CONFIRMED
;
break
;
case
ODS_ORDERSTATUS_COMPLETE
:
rltStatus
=
ORDERSTATUS_COMPLETE
;
break
;
case
ODS_ORDERSTATUS_DONE
:
rltStatus
=
ORDERSTATUS_COMPLETE
;
break
;
case
ODS_ORDERSTATUS_REFUND_FULL
:
rltStatus
=
ORDERSTATUS_REFUND_FULL
;
break
;
case
ODS_ORDERSTATUS_REFUND_PART
:
rltStatus
=
ORDERSTATUS_REFUND_PART
;
break
;
case
ODS_ORDERSTATUS_REFUND_COMPLETE
:
rltStatus
=
ORDERSTATUS_REFUND_COMPLETE
;
break
;
default
:
break
;
}
return
rltStatus
;
}
}
\ No newline at end of file
src/JsonModule.h
View file @
bbce0280
...
@@ -21,6 +21,8 @@ public:
...
@@ -21,6 +21,8 @@ public:
private
:
private
:
std
::
string
_getDeliveryTypeString
(
int
type
);
std
::
string
_getDeliveryTypeString
(
int
type
);
//订单状态转换(转换为POS对应的状态)
int
_getPOSOrderStatus
(
int
status
);
};
};
#endif
#endif
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