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
310d461d
Commit
310d461d
authored
Sep 27, 2021
by
查志伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
抖音卖券,支付成功回调支持
parent
5a792656
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
50 deletions
+45
-50
order-application-service/src/main/java/cn/freemud/amp/service/SendCouponService.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+4
-0
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+40
-49
No files found.
order-application-service/src/main/java/cn/freemud/amp/service/SendCouponService.java
View file @
310d461d
...
...
@@ -18,7 +18,7 @@ public class SendCouponService {
private
MQService
mqService
;
public
void
sendCouponMq
(
OrderInfoReqs
request
)
{
AppLogUtil
.
infoLog
(
"sendCouponMq"
,
JSONObject
.
toJSONString
(
request
.
getOrderCode
()
),
null
);
AppLogUtil
.
infoLog
(
"sendCouponMq"
,
JSONObject
.
toJSONString
(
request
),
null
);
Header
header
=
new
Header
(
MQAction
.
INSERT
.
getAction
(),
"order-application-service"
,
"1"
,
DlSendCouponMqConfig
.
QUEUE_NAME
);
MQMessage
<
OrderInfoReqs
>
message
=
new
MQMessage
<>(
header
,
request
);
mqService
.
convertAndSend
(
DlSendCouponMqConfig
.
EXCHANGE_NAME
,
DlSendCouponMqConfig
.
QUEUE_ROUTING_KEY
,
message
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
310d461d
...
...
@@ -341,6 +341,10 @@ public class OrderAdapterServiceImpl {
if
(
OrderSourceType
.
I_MEMBER
.
getCode
().
equals
(
orderBean
.
getSource
())
&&
orderBean
.
getBizType
()
==
4
)
{
return
pointsMallOrderService
.
paySuccessCallback
(
message
,
orderBeans
);
}
//抖音卖券处理
if
(
OrderSourceType
.
TIKTOKPAY
.
getCode
().
equals
(
orderBean
.
getSource
()))
{
return
sellCouponOrderService
.
paySuccessCallbackForTiktok
(
message
,
confirmOrderDto
,
orderBeans
);
}
/**
* app订单处理
*/
...
...
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
View file @
310d461d
...
...
@@ -2,6 +2,7 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.amp.service.SendCouponService
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.CommonRedisKeyConstant
;
...
...
@@ -36,16 +37,13 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.ActiveDetailVO
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.AppKeyVO
;
import
com.freemud.application.sdk.api.couponcenter.online.domain.DetailVO
;
import
com.freemud.application.sdk.api.couponcenter.online.request.ActiveBatchQueryRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.request.CouponDetailRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.request.PartnerRequest
;
import
com.freemud.application.sdk.api.couponcenter.online.response.CouponDetailResponse
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
import
com.freemud.application.sdk.api.couponcenter.online.service.OnlineCouponSdkService
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.ThirdPartyLog
;
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.enums.OrderType
;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq
;
...
...
@@ -54,11 +52,9 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
import
com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.DeliveryContactInfoCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.productcenter.request.product.GetProductInfoRequest
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse
;
...
...
@@ -88,7 +84,6 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
java.text.DecimalFormat
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -129,8 +124,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
private
OrderSdkAdapter
orderSdkAdapter
;
@Autowired
private
RedisCache
redisCache
;
//
@Autowired
// protected RedisTemplate redisTemplat
e;
@Autowired
private
SendCouponService
sendCouponServic
e
;
@Autowired
private
CouponService
couponService
;
@Autowired
...
...
@@ -173,7 +168,11 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
*/
@Override
public
BaseResponse
createOrder
(
CreateOrderVo
requestVo
)
{
// 查询用户信息、校验svc卡
if
(
StringUtils
.
isEmpty
(
requestVo
.
getSaleCouponPhone
()))
{
// 买券手机号必填,否则无法发券
return
ResponseUtil
.
error
(
ResponseCodeConstant
.
RESPONSE_ERROR_STR
,
"请填写手机号"
);
}
// 查询用户信息
AssortmentCustomerInfoVo
userLoginInfoDto
=
checkOrder
.
checkOrderByMemberNew
(
requestVo
.
getSessionId
());
String
trackingNo
=
LogThreadLocal
.
getTrackingNo
();
String
partnerId
=
userLoginInfoDto
.
getPartnerId
();
...
...
@@ -937,43 +936,6 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
}
/**
* 查询券详情
*
* @param partnerId
* @param codes
* @param trackingNo
* @return
*/
private
List
<
DetailVO
>
getCouponsDetail
(
String
partnerId
,
String
storeId
,
List
<
String
>
codes
,
String
trackingNo
)
{
String
appKey
=
getAppKey
(
partnerId
,
trackingNo
);
if
(
StringUtils
.
isEmpty
(
appKey
))
{
return
null
;
}
CouponDetailRequest
couponDetailRequest
=
new
CouponDetailRequest
();
couponDetailRequest
.
setCodes
(
codes
);
couponDetailRequest
.
setMerchantId
(
partnerId
);
couponDetailRequest
.
setPartnerId
(
partnerId
);
// 券码新增参数:组织机构
couponDetailRequest
.
setChannelIdList
(
this
.
getOrgIds
(
partnerId
,
storeId
));
OnlineCouponSdkService
onlineCouponSdkService
=
SDKCommonBaseContextWare
.
getBean
(
OnlineCouponSdkService
.
class
);
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
CouponDetailResponse
>
couponDetailResponse
=
onlineCouponSdkService
.
allDetail
(
couponDetailRequest
,
appKey
,
trackingNo
);
if
(
couponDetailResponse
==
null
||
!
SUCCESS
.
equals
(
couponDetailResponse
.
getCode
())
||
couponDetailResponse
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
couponDetailResponse
.
getData
().
getDetails
()))
{
return
null
;
}
return
couponDetailResponse
.
getData
().
getDetails
();
}
private
Long
pointToFen
(
double
price
)
{
DecimalFormat
df
=
new
DecimalFormat
(
"#.00"
);
price
=
Double
.
valueOf
(
df
.
format
(
price
));
long
money
=
(
long
)
(
price
*
100
);
return
money
;
}
/**
* 查询促销优惠,赋值订单金额,商品优惠后金额,优惠记录
*/
...
...
@@ -1035,5 +997,34 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
return
null
;
}
/**
* 抖音卖券支付成功回调
* 走自己的发券mq,支持失败补偿
* @param orderBeans
* @return
*/
public
String
paySuccessCallbackForTiktok
(
PaysuccessNoticeMessage
message
,
ConfirmOrderDto
confirmOrderDto
,
Map
<
String
,
OrderBeanV1
>
orderBeans
)
{
String
result
=
this
.
paySuccessCallback
(
message
,
confirmOrderDto
,
orderBeans
);
OrderBeanV1
orderBean
=
orderBeans
.
get
(
OrderBeanType
.
SAASORDER
.
getCode
());
OrderInfoReqs
orderInfo
=
new
OrderInfoReqs
();
orderInfo
.
setOrderCode
(
orderBean
.
getOid
());
orderInfo
.
setPartnerId
(
orderBean
.
getCompanyId
());
orderInfo
.
setAppId
(
orderBean
.
getAppId
());
orderInfo
.
setBizType
(
orderBean
.
getBizType
());
// 拓展字段中有卖券手机号
orderInfo
.
setExtInfo
(
orderBean
.
getExtInfo
());
// 支付渠道,用于识别抖音卖的订单
orderInfo
.
setPayChannelType
(
orderBean
.
getPayChannelType
());
List
<
OrderItemResp
>
orderItemList
=
new
ArrayList
<>();
for
(
ProductBeanV1
productBean
:
orderBean
.
getProductList
())
{
OrderItemResp
orderItemResp
=
new
OrderItemResp
();
// 这里存的是虚拟商品信息
orderItemResp
.
setExtInfo
(
productBean
.
getExtInfo
());
orderItemList
.
add
(
orderItemResp
);
}
orderInfo
.
setOrderItemList
(
orderItemList
);
//发券mq
sendCouponService
.
sendCouponMq
(
orderInfo
);
return
result
;
}
}
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