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
b4641bc1
Commit
b4641bc1
authored
Aug 26, 2020
by
徐康
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20200727_麦咖啡p1v2支付券码路由' into develop
parents
5aef4d8d
bdef753f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
1 deletions
+60
-1
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+2
-1
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
+8
-0
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
+50
-0
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
View file @
b4641bc1
...
...
@@ -849,7 +849,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
}
//若该订单使用了优惠券,则移除卡包,移除失败也不退款
couponActivityService
.
callbackNotify
(
orderBean
);
// couponActivityService.callbackNotify(orderBean);
BaseResponse
couponBaseResponse
=
couponClientService
.
callbackNotify
(
orderBean
);
// 订单失败后 发消息重试 待实现
String
takeCode
;
String
daySeq
;
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
View file @
b4641bc1
package
cn
.
freemud
.
service
.
mccafe
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
...
...
@@ -34,4 +35,11 @@ public interface CouponClientService {
List
<
CouponBaseResponse
>
lockBatch
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
);
CouponBaseResponse
unlock
(
MCCafeCouponLockRequest
mcCafeCouponLockRequest
);
/**
* 移除卡包
* @param orderBean
* @return
*/
BaseResponse
callbackNotify
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
;
}
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
View file @
b4641bc1
...
...
@@ -3,9 +3,11 @@ package cn.freemud.service.mccafe.impl;
import
cn.freemud.adapter.CouponAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponLockRequest
;
import
cn.freemud.management.entities.dto.request.order.MCCafeProductRedeemVo
;
...
...
@@ -15,14 +17,20 @@ import cn.freemud.enums.MCCafeChannelEnum;
import
cn.freemud.management.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.google.common.base.Throwables
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -43,6 +51,12 @@ public class CouponClientServiceImpl implements CouponClientService {
@Autowired
private
OrderAdapter
orderAdapter
;
@Autowired
private
OfflineCouponSdkService
offlineCouponSdkService
;
@Autowired
private
EmailAlertService
emailAlertService
;
@Override
public
CouponRedeemResponse
redeem
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
List
<
CreateOrderAccountRequest
>
accounts
)
{
if
(
null
==
orderBean
||
CollectionUtils
.
isEmpty
(
accounts
))
{
...
...
@@ -308,4 +322,40 @@ public class CouponClientServiceImpl implements CouponClientService {
public
CouponBaseResponse
unlock
(
MCCafeCouponLockRequest
mcCafeCouponLockRequest
)
{
return
couponOfflineMCCafeClient
.
unlock
(
mcCafeCouponLockRequest
);
}
@Override
public
BaseResponse
callbackNotify
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
{
if
(
CollectionUtils
.
isEmpty
(
orderBean
.
getAccountList
()))
{
return
ResponseUtil
.
success
();
}
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
>
accountBeanList
=
orderBean
.
getAccountList
().
stream
().
filter
(
account
->
account
.
getType
().
equals
(
OldOrderAccountType
.
COUPON
.
getCode
())
||
account
.
getType
().
equals
(
OldOrderAccountType
.
PRODUCT_COUPON
.
getCode
())
||
account
.
getType
().
equals
(
OldOrderAccountType
.
DISCOUNT_COUPON
.
getCode
())).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
accountBeanList
))
{
return
ResponseUtil
.
success
();
}
String
orderCode
=
orderBean
.
getOid
();
String
partnerId
=
orderBean
.
getCompanyId
();
List
<
String
>
failedList
=
new
ArrayList
<>();
for
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
accountBean
:
accountBeanList
)
{
String
couponCode
=
accountBean
.
getAccountId
();
try
{
//移除卡包失败,邮件报警
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
baseResponse
=
offlineCouponSdkService
.
callbackNotify
(
couponCode
,
orderCode
,
partnerId
,
""
);
if
(!
Objects
.
equals
(
baseResponse
.
getCode
(),
cn
.
freemud
.
enums
.
ResponseResult
.
SUCCESS
.
getCode
()))
{
emailAlertService
.
sendEmailAlert
(
"券码移除卡包失败"
,
String
.
format
(
"request:%s \r\nresponse:%s"
,
"券码号:"
+
couponCode
+
"订单号:"
+
orderCode
,
JSONObject
.
toJSONString
(
baseResponse
)));
failedList
.
add
(
couponCode
);
}
}
catch
(
Exception
ex
)
{
emailAlertService
.
sendEmailAlert
(
"券码移除卡包异常"
,
String
.
format
(
"request:%s \r\nexception:%s"
,
"券码号:"
+
couponCode
+
"订单号:"
+
orderCode
,
Throwables
.
getStackTraceAsString
(
ex
)));
ErrorLog
.
printErrorLog
(
"verification_error"
,
"/callbackNotify"
,
orderCode
,
ex
);
failedList
.
add
(
couponCode
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
failedList
))
{
return
ResponseUtil
.
error
(
cn
.
freemud
.
enums
.
ResponseResult
.
COUPON_CALLBACK_FAIL
.
getCode
(),
"优惠券移除卡包失败:"
+
failedList
.
toString
());
}
return
ResponseUtil
.
success
();
}
}
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