Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
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
order-group-application
order-group
Commits
e0ca9516
Commit
e0ca9516
authored
Nov 16, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增 卖券订单数据上报 已物流信息上报
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
1d8cf3ab
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
0 deletions
+59
-0
order-application-service/src/main/java/cn/freemud/handler/WeChatLiveMsgHandle.java
+59
-0
No files found.
order-application-service/src/main/java/cn/freemud/handler/WeChatLiveMsgHandle.java
View file @
e0ca9516
...
@@ -13,12 +13,18 @@ import cn.freemud.interceptor.ServiceException;
...
@@ -13,12 +13,18 @@ import cn.freemud.interceptor.ServiceException;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.service.thirdparty.EcologyAdminApplicationClient
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.thirdparty.wechat.WeChatClient
;
import
com.freemud.thirdparty.wechat.WeChatClient
;
import
com.freemud.thirdparty.wechat.constant.WeChatConstant
;
import
com.freemud.thirdparty.wechat.constant.WeChatConstant
;
import
com.freemud.thirdparty.wechat.entities.WeChatBaseResponse
;
import
com.freemud.thirdparty.wechat.entities.WeChatBaseResponse
;
import
com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO
;
import
com.freemud.thirdparty.wechat.entities.vo.request.OrderCreateRequestVO
;
import
com.freemud.thirdparty.wechat.entities.vo.request.OrderDeliverySendRequestVO
;
import
com.freemud.thirdparty.wechat.entities.vo.request.OrderSycnPayRequestVO
;
import
com.freemud.thirdparty.wechat.entities.vo.response.OrderCreateResponseVO
;
import
com.freemud.thirdparty.wechat.entities.vo.response.OrderCreateResponseVO
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -50,6 +56,58 @@ public class WeChatLiveMsgHandle {
...
@@ -50,6 +56,58 @@ public class WeChatLiveMsgHandle {
private
RedisCache
redisCache
;
private
RedisCache
redisCache
;
/**
/**
* @param orderBean
* @param flag 0 支付成功
*/
public
void
reportOrderStatus
(
OrderBeanV1
orderBean
,
int
flag
)
{
if
(
Objects
.
nonNull
(
orderBean
)
&&
Objects
.
equals
(
orderBean
.
getOrderClient
(),
OrderClientType
.
WE_CHAT_LIVE_SELL
.
getIndex
().
toString
()))
{
OrderSycnPayRequestVO
request
=
new
OrderSycnPayRequestVO
();
String
orderId
=
orderBean
.
getOid
();
request
.
setOut_order_id
(
orderId
);
String
extInfo
=
orderBean
.
getExtInfo
();
JSONObject
jsonObject
=
JSON
.
parseObject
(
extInfo
);
// 需要拿到 openid
Object
openid
=
jsonObject
.
get
(
"openid"
);
request
.
setOpenid
(
Objects
.
isNull
(
openid
)
?
""
:
openid
.
toString
());
if
(
flag
==
0
)
{
Object
payTransId
=
jsonObject
.
get
(
"payTransId"
);
request
.
setTransaction_id
(
Objects
.
isNull
(
payTransId
)
?
""
:
payTransId
.
toString
());
Object
payDate
=
jsonObject
.
get
(
"payDate"
);
request
.
setPay_time
(
Objects
.
isNull
(
payDate
)
?
""
:
payDate
.
toString
());
}
// 获取 session
String
accessToken
=
this
.
getAccessToken
(
orderBean
.
getAppId
(),
orderBean
.
getParentCode
());
WeChatClient
weChatClient
=
new
WeChatClient
();
WeChatBaseResponse
<
OrderCreateResponseVO
>
weChatBaseResponse
=
weChatClient
.
orderApply
(
accessToken
,
request
,
WeChatConstant
.
OrderMethod
.
ORDER_PAY
);
if
(
"42001"
.
equals
(
weChatBaseResponse
.
getErrcode
()))
{
accessToken
=
this
.
refreshAccessToken
(
orderBean
.
getAppId
(),
orderBean
.
getParentCode
());
weChatBaseResponse
=
weChatClient
.
orderApply
(
accessToken
,
request
,
WeChatConstant
.
OrderMethod
.
ORDER_PAY
);
}
ApiLog
.
printLog
(
"视频直播订单数据上报"
,
JSON
.
toJSONString
(
request
),
JSON
.
toJSONString
(
weChatBaseResponse
),
accessToken
);
if
(
"0"
.
equals
(
weChatBaseResponse
.
getErrcode
()))
{
if
(
flag
==
0
)
{
// 如果是支付成功, 同步发配送信息
OrderDeliverySendRequestVO
requestVO
=
new
OrderDeliverySendRequestVO
();
requestVO
.
setOut_order_id
(
orderId
);
requestVO
.
setOpenid
(
Objects
.
isNull
(
openid
)
?
""
:
openid
.
toString
());
requestVO
.
setFinish_all_delivery
(
0
);
weChatBaseResponse
=
weChatClient
.
orderApply
(
accessToken
,
request
,
WeChatConstant
.
OrderMethod
.
ORDER_SEND
);
ApiLog
.
printLog
(
"视频直播发货数据上报"
,
JSON
.
toJSONString
(
requestVO
),
JSON
.
toJSONString
(
weChatBaseResponse
),
accessToken
);
}
}
}
}
/**
* 组装 订单创建上报数据 对象
* 组装 订单创建上报数据 对象
*
*
* @param createPrepayRequestDto
* @param createPrepayRequestDto
...
@@ -65,6 +123,7 @@ public class WeChatLiveMsgHandle {
...
@@ -65,6 +123,7 @@ public class WeChatLiveMsgHandle {
String
accessToken
=
this
.
getAccessToken
(
createPrepayRequestDto
.
getWxAppId
(),
createPrepayRequestDto
.
getPartnerId
());
String
accessToken
=
this
.
getAccessToken
(
createPrepayRequestDto
.
getWxAppId
(),
createPrepayRequestDto
.
getPartnerId
());
WeChatClient
weChatClient
=
new
WeChatClient
();
WeChatClient
weChatClient
=
new
WeChatClient
();
// fisherman 调用sdk
WeChatBaseResponse
<
OrderCreateResponseVO
>
weChatBaseResponse
=
weChatClient
.
orderApply
(
accessToken
,
requestVO
,
WeChatConstant
.
OrderMethod
.
ORDER_ADD
);
WeChatBaseResponse
<
OrderCreateResponseVO
>
weChatBaseResponse
=
weChatClient
.
orderApply
(
accessToken
,
requestVO
,
WeChatConstant
.
OrderMethod
.
ORDER_ADD
);
if
(
weChatBaseResponse
==
null
)
{
if
(
weChatBaseResponse
==
null
)
{
...
...
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