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
f8abed51
Commit
f8abed51
authored
Mar 26, 2021
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
月享卡2.0
parent
081afe91
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
128 additions
and
3 deletions
+128
-3
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+114
-3
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
+1
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
+13
-0
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
View file @
f8abed51
...
...
@@ -593,8 +593,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
*/
public
CreateOrderResponse
createOrder
(
CreateOrderVo
createOrderVo
,
StoreResponse
.
BizVO
storeResponseDto
,
ShoppingCartGoodsDto
shoppingCartGoodsDto
,
OrderExtendedReq
orderExtendedReq
,
OrderClientType
orderClient
,
String
appId
)
{
processRepeatGoodsWithSeedCoupon
(
shoppingCartGoodsDto
);
log
.
info
(
"购物车拆行:"
+
JSON
.
toJSONString
(
shoppingCartGoodsDto
));
//
processRepeatGoodsWithSeedCoupon(shoppingCartGoodsDto);
//
log.info("购物车拆行:"+JSON.toJSONString(shoppingCartGoodsDto));
BaseCreateOrderRequest
baseCreateOrderRequest
=
orderAdapter
.
convent2CreateOrderDto
(
createOrderVo
,
shoppingCartGoodsDto
,
storeResponseDto
);
//查询第三方商品编号
baseCreateOrderRequest
=
getProductCustomerCode
(
baseCreateOrderRequest
);
...
...
@@ -903,7 +903,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
// }
//麦咖啡随单购咖啡月卡
if
(
withOrderBuyCoupon
(
orderBean
,
orderExtInfoDto
.
getThirdPartyMemberId
()))
{
if
(
withOrderBuyCoupon
2
(
orderBean
,
orderExtInfoDto
.
getThirdPartyMemberId
()))
{
orderBean
=
getOrderBean
(
confirmOrderDto
);
}
...
...
@@ -1738,4 +1738,115 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return
true
;
}
/**
* 月享卡2.0发券
* @param orderBean
*/
public
boolean
withOrderBuyCoupon2
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
String
thirdPartyMemberId
){
LogUtil
.
info
(
"发券入参:"
,
thirdPartyMemberId
,
JSON
.
toJSONString
(
orderBean
));
try
{
List
<
String
>
cardIds
=
new
ArrayList
<>();
List
<
String
>
defaultCardCodes
=
new
ArrayList
<>();
for
(
OrderBean
.
ProductBean
productBean
:
orderBean
.
getProductList
()){
if
(
ProductTypeEnum
.
getVirtualProductType
().
contains
(
productBean
.
getProductType
()))
{
OrderProductAddInfoDto
extInfo
=
JSON
.
parseObject
(
productBean
.
getExtInfo
(),
OrderProductAddInfoDto
.
class
);
for
(
int
i
=
0
;
i
<
productBean
.
getNumber
();
i
++)
{
cardIds
.
add
(
extInfo
.
getCardId
());
}
defaultCardCodes
.
add
(
extInfo
.
getCardCode
());
}
}
if
(
CollectionUtils
.
isEmpty
(
cardIds
)){
return
false
;
}
SendCouponForqujiaRequestDto
request
=
new
SendCouponForqujiaRequestDto
();
request
.
setReceivedId
(
orderBean
.
getOid
());
request
.
setCardIds
(
cardIds
);
request
.
setThirdPartyMemberId
(
thirdPartyMemberId
);
SendCouponForqujiaDtoResponseDto
responseDto
=
customerExtendClient
.
sendCouponForqujia
(
request
);
if
(!
Objects
.
equals
(
responseDto
.
getCode
(),
ResponseResult
.
SUCCESS
.
getCode
())){
LogUtil
.
error
(
"sendCouponForqujia"
,
JSON
.
toJSONString
(
request
),
JSON
.
toJSONString
(
responseDto
));
return
false
;
}
if
(
responseDto
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
responseDto
.
getData
().
getCard_list
())){
return
false
;
}
List
<
SendCouponForqujiaDtoResponseDto
.
Card
>
cardList
=
responseDto
.
getData
().
getCard_list
();
MCCafeCouponRequest
mcCafeCouponRequest
=
MCCafeCouponRequest
.
builder
()
.
ver
(
88
)
.
reqtype
(
CouponReqTypeEnum
.
BATCH_QUERY
.
getCode
())
.
partnerId
(
Integer
.
parseInt
(
orderBean
.
getCompanyId
()))
.
store_id
(
orderBean
.
getShopId
())
.
station_id
(
"1"
)
.
operator_id
(
orderBean
.
getUserId
())
.
channel
(
OrderSource
.
ALIPAY
.
getSource
().
equals
(
orderBean
.
getSource
())?
MCCafeChannelEnum
.
MOCOFFEE_ZFB
.
getName
():
MCCafeChannelEnum
.
MOCOFFEE_WX
.
getName
())
.
couponlist
(
cardList
.
stream
().
map
(
o
->
new
MCCafeCouponVo
(
o
.
getCard_code
())).
collect
(
Collectors
.
toList
()))
.
sign
(
"skip"
)
.
build
();
McdNetBatchQueryResponse
mcdNetBatchQueryResponse
=
couponClientService
.
batchQuery
(
mcCafeCouponRequest
);
if
(
mcdNetBatchQueryResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getStatusCode
())
||
CollectionUtils
.
isEmpty
(
mcdNetBatchQueryResponse
.
getCouponlist
()))
{
LogUtil
.
error
(
"获取优惠券详情失败,发券失败"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
return
false
;
}
Map
<
String
,
Integer
>
cardStatusMap
=
mcdNetBatchQueryResponse
.
getCouponlist
().
stream
()
.
collect
(
Collectors
.
toMap
(
McdNetBatchQueryResponse
.
Coupon
::
getCode
,
McdNetBatchQueryResponse
.
Coupon
::
getStatusCode
,
(
k1
,
k2
)
->
k1
));
Map
<
String
,
String
>
cardMap
=
new
HashMap
<>();
UpdateCouponCodeReq
req
=
new
UpdateCouponCodeReq
();
req
.
setOrderCode
(
orderBean
.
getOid
());
req
.
setPartnerId
(
orderBean
.
getCompanyId
());
req
.
setCouponReceiveInfoList
(
new
ArrayList
<>());
req
.
setCouponUpdateInfoList
(
new
ArrayList
<>());
LogUtil
.
info
(
"准备开始生成参数:"
,
orderBean
,
null
);
for
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
ProductBean
productBean
:
orderBean
.
getProductList
())
{
if
(
ProductTypeEnum
.
getVirtualProductType
().
contains
(
productBean
.
getProductType
()))
{
UpdateCouponCodeReq
.
CouponReceiveInfo
couponReceiveInfo
=
new
UpdateCouponCodeReq
.
CouponReceiveInfo
();
couponReceiveInfo
.
setGoodsId
(
productBean
.
getSpecification
());
couponReceiveInfo
.
setProductSeq
(
productBean
.
getSequence
());
OrderProductAddInfoDto
extInfo
=
JSON
.
parseObject
(
productBean
.
getExtInfo
(),
OrderProductAddInfoDto
.
class
);
String
cardCodeStr
=
""
;
numberFor:
for
(
int
j
=
0
;
j
<
productBean
.
getNumber
();
j
++)
{
cardFor:
for
(
int
i
=
0
;
i
<
cardList
.
size
();
i
++)
{
if
(
cardList
.
get
(
i
).
getCard_id
().
equals
(
extInfo
.
getCardId
()))
{
String
couponCode
=
cardList
.
get
(
i
).
getCard_code
();
cardCodeStr
+=
couponCode
+
"/"
;
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
cardStatusMap
.
get
(
couponCode
)))
{
if
(
cardMap
.
get
(
extInfo
.
getCardCode
())
==
null
)
{
UpdateCouponCodeReq
.
CouponUpdateInfo
couponUpdateInfo
=
new
UpdateCouponCodeReq
.
CouponUpdateInfo
();
couponUpdateInfo
.
setOldCouponCode
(
extInfo
.
getCardCode
());
couponUpdateInfo
.
setCouponCode
(
couponCode
);
req
.
getCouponUpdateInfoList
().
add
(
couponUpdateInfo
);
cardMap
.
put
(
extInfo
.
getCardCode
(),
couponCode
);
}
}
cardList
.
remove
(
i
);
break
cardFor
;
}
}
}
couponReceiveInfo
.
setCouponCode
(
cardCodeStr
.
substring
(
0
,
cardCodeStr
.
length
()-
1
));
req
.
getCouponReceiveInfoList
().
add
(
couponReceiveInfo
);
}
}
LogUtil
.
info
(
"生成参数完成:"
,
req
,
null
);
orderSdkService
.
updateCostCouponCodeNew
(
req
,
LogTreadLocal
.
getTrackingNo
());
return
true
;
}
catch
(
Exception
e
){
LogUtil
.
error
(
"发券异常"
,
null
,
null
,
e
);
}
return
true
;
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/constant/InterfaceAddressConstant.java
View file @
f8abed51
...
...
@@ -229,6 +229,7 @@ public class InterfaceAddressConstant {
* 修改费用表购买的优惠券和优惠表使用的优惠券
*/
public
static
final
String
UPDATE_COST_COUPONCODE
=
"/order/v2/mcCafe/updateCostCouponCode"
;
public
static
final
String
UPDATE_COST_COUPONCODE_NEW
=
"/order/v2/mcCafe/updateCostCouponCodeNew"
;
/**
* 查询使用了优惠券的订单数量
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
View file @
f8abed51
...
...
@@ -902,6 +902,19 @@ public class OrderSdkService {
}
/**
* 修改费用表购买的优惠券和优惠表使用的优惠券
* @param request
* @param trackingNo
* @return
*/
public
BaseResponse
updateCostCouponCodeNew
(
UpdateCouponCodeReq
request
,
String
trackingNo
)
{
OrderBaseResp
responseDTO
=
RequestThirdPartyUtils
.
httpJsonReqComplexNew
(
restTemplate
,
UPDATE_COST_COUPONCODE_NEW
,
createBaseRequest
(
request
,
trackingNo
),
new
ParameterizedTypeReference
<
OrderBaseResp
>()
{
});
return
responseHandle
(
responseDTO
);
}
/**
* 查询使用了特定优惠券的订单数量
* @param request
* @param trackingNo
...
...
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