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
ef624b0e
Commit
ef624b0e
authored
Oct 20, 2020
by
yu.sun
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of gitlab.freemud.com:order-group-application/order-group
parents
c88aae8c
76bad00c
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
138 additions
and
63 deletions
+138
-63
order-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
+6
-24
order-application-service/src/main/java/cn/freemud/adapter/DeliveryAdapter.java
+2
-1
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+6
-0
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
+28
-5
order-management/src/main/java/cn/freemud/management/adapter/McCafeCouponAdapter.java
+39
-6
order-management/src/main/java/cn/freemud/management/entities/dto/response/coupon/McdNetCouponInfoRespDto.java
+5
-0
order-management/src/main/java/cn/freemud/management/entities/dto/response/coupon/McdNetCouponProductGroupRespDto.java
+20
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
+32
-27
No files found.
order-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
View file @
ef624b0e
...
@@ -655,7 +655,7 @@ public class CouponAdapter {
...
@@ -655,7 +655,7 @@ public class CouponAdapter {
return
mcCafeCouponRequest
;
return
mcCafeCouponRequest
;
}
}
public
MCCafeCouponRequest
convert2MCCafeCouponRequest
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
accountBean
)
{
public
MCCafeCouponRequest
convert2MCCafeCouponRequest
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
accountBean
,
McdNetBatchQueryResponse
.
Coupon
coupon
)
{
List
<
MCCafeProductRedeemVo
>
products
=
new
ArrayList
<>();
List
<
MCCafeProductRedeemVo
>
products
=
new
ArrayList
<>();
//商品券核销核销参数
//商品券核销核销参数
if
(
QueryOrderAccountType
.
PRODUCT_COUPON
.
equals
(
orderAdapter
.
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
accountBean
.
getType
()))))
{
if
(
QueryOrderAccountType
.
PRODUCT_COUPON
.
equals
(
orderAdapter
.
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
accountBean
.
getType
()))))
{
...
@@ -675,6 +675,9 @@ public class CouponAdapter {
...
@@ -675,6 +675,9 @@ public class CouponAdapter {
mcCafeProductRedeemVo
.
setCustomer_code
(
productBean
.
getCustomerCode
());
mcCafeProductRedeemVo
.
setCustomer_code
(
productBean
.
getCustomerCode
());
mcCafeProductRedeemVo
.
setConsume_num
(
productDiscount
.
getDiscountQty
());
mcCafeProductRedeemVo
.
setConsume_num
(
productDiscount
.
getDiscountQty
());
mcCafeProductRedeemVo
.
setSeq
(
i
+
1
);
mcCafeProductRedeemVo
.
setSeq
(
i
+
1
);
if
(
null
!=
coupon
&&
CollectionUtils
.
isNotEmpty
(
coupon
.
getCodeInfo
().
getGroups
()))
{
mcCafeProductRedeemVo
.
setGid
(
coupon
.
getCodeInfo
().
getGroups
().
get
(
0
).
getGid
());
}
products
.
add
(
mcCafeProductRedeemVo
);
products
.
add
(
mcCafeProductRedeemVo
);
}
}
}
}
...
@@ -692,35 +695,14 @@ public class CouponAdapter {
...
@@ -692,35 +695,14 @@ public class CouponAdapter {
products
.
add
(
mcCafeProductRedeemVo
);
products
.
add
(
mcCafeProductRedeemVo
);
}
}
}
else
if
(
QueryOrderAccountType
.
FREIGHT_COUPON
.
equals
(
orderAdapter
.
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
accountBean
.
getType
()))))
{
}
else
if
(
QueryOrderAccountType
.
FREIGHT_COUPON
.
equals
(
orderAdapter
.
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
accountBean
.
getType
()))))
{
MCCafeCouponRequest
mcCafeCouponRequest
=
MCCafeCouponRequest
.
builder
()
if
(
null
!=
coupon
)
{
.
ver
(
88
)
McdNetCouponProductRespDto
mcdNetCouponProductRespDto
=
coupon
.
getCodeInfo
().
getProducts
().
get
(
0
);
.
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
(
Arrays
.
asList
(
new
MCCafeCouponVo
(
accountBean
.
getAccountId
())))
.
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
null
;
}
else
{
try
{
McdNetCouponProductRespDto
mcdNetCouponProductRespDto
=
mcdNetBatchQueryResponse
.
getCouponlist
().
get
(
0
).
getCodeInfo
().
getProducts
().
get
(
0
);
MCCafeProductRedeemVo
mcCafeProductRedeemVo
=
new
MCCafeProductRedeemVo
();
MCCafeProductRedeemVo
mcCafeProductRedeemVo
=
new
MCCafeProductRedeemVo
();
mcCafeProductRedeemVo
.
setKeyProductCode
(
mcdNetCouponProductRespDto
.
getPid
());
mcCafeProductRedeemVo
.
setKeyProductCode
(
mcdNetCouponProductRespDto
.
getPid
());
mcCafeProductRedeemVo
.
setCustomer_code
(
mcdNetCouponProductRespDto
.
getPid
());
mcCafeProductRedeemVo
.
setCustomer_code
(
mcdNetCouponProductRespDto
.
getPid
());
mcCafeProductRedeemVo
.
setConsume_num
(
mcdNetCouponProductRespDto
.
getNumber
());
mcCafeProductRedeemVo
.
setConsume_num
(
mcdNetCouponProductRespDto
.
getNumber
());
mcCafeProductRedeemVo
.
setSeq
(
1
);
mcCafeProductRedeemVo
.
setSeq
(
1
);
products
.
add
(
mcCafeProductRedeemVo
);
products
.
add
(
mcCafeProductRedeemVo
);
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"获取运费券绑定商品异常,无法核销"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
return
null
;
}
}
}
}
}
MCCafeCouponRequest
mcCafeCouponRequest
=
new
MCCafeCouponRequest
();
MCCafeCouponRequest
mcCafeCouponRequest
=
new
MCCafeCouponRequest
();
...
...
order-application-service/src/main/java/cn/freemud/adapter/DeliveryAdapter.java
View file @
ef624b0e
...
@@ -256,7 +256,8 @@ public class DeliveryAdapter {
...
@@ -256,7 +256,8 @@ public class DeliveryAdapter {
||
OldOrderAccountType
.
BUY_DISCOUNT
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
BUY_DISCOUNT
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
SUPER_PURCHASE
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
SUPER_PURCHASE
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
DISCOUNT_AMOUNT
.
getCode
().
equals
(
accountBean
.
getType
()))
{
||
OldOrderAccountType
.
DISCOUNT_AMOUNT
.
getCode
().
equals
(
accountBean
.
getType
())
||
OldOrderAccountType
.
FREIGHT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
CreateDeliveryPreferentialVo
createDeliveryPreferentialVo
=
new
CreateDeliveryPreferentialVo
();
CreateDeliveryPreferentialVo
createDeliveryPreferentialVo
=
new
CreateDeliveryPreferentialVo
();
createDeliveryPreferentialVo
.
setPreferentialContent
(
accountBean
.
getName
());
createDeliveryPreferentialVo
.
setPreferentialContent
(
accountBean
.
getName
());
createDeliveryPreferentialVo
.
setPreferentialPrice
(
0
-
accountBean
.
getPrice
());
createDeliveryPreferentialVo
.
setPreferentialPrice
(
0
-
accountBean
.
getPrice
());
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
ef624b0e
...
@@ -481,6 +481,12 @@ public class CheckMCCafeOrder {
...
@@ -481,6 +481,12 @@ public class CheckMCCafeOrder {
.
menuType
(
createOrderVo
.
getMenuType
())
.
menuType
(
createOrderVo
.
getMenuType
())
.
build
();
.
build
();
List
<
MCCafeCouponVo
>
couponCodeList
=
new
ArrayList
<>();
List
<
MCCafeCouponVo
>
couponCodeList
=
new
ArrayList
<>();
if
(
"remove"
.
equals
(
createOrderVo
.
getCouponCode
()))
{
createOrderVo
.
setCouponCode
(
""
);
}
if
(
"remove"
.
equals
(
createOrderVo
.
getFreightCouponCode
()))
{
createOrderVo
.
setFreightCouponCode
(
""
);
}
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCouponCode
()))
{
if
(
StringUtils
.
isNotBlank
(
createOrderVo
.
getCouponCode
()))
{
couponCodeList
.
add
(
new
MCCafeCouponVo
(
createOrderVo
.
getCouponCode
()));
couponCodeList
.
add
(
new
MCCafeCouponVo
(
createOrderVo
.
getCouponCode
()));
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
View file @
ef624b0e
...
@@ -8,13 +8,13 @@ import cn.freemud.base.log.LogTreadLocal;
...
@@ -8,13 +8,13 @@ import cn.freemud.base.log.LogTreadLocal;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest
;
import
cn.freemud.management.entities.dto.request.order.*
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponLockRequest
;
import
cn.freemud.management.entities.dto.request.order.MCCafeProductRedeemVo
;
import
cn.freemud.management.entities.dto.request.order.MCCafeTransactionVo
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.enums.MCCafeChannelEnum
;
import
cn.freemud.enums.MCCafeChannelEnum
;
import
cn.freemud.management.entities.dto.response.coupon.McdNetBatchQueryResponse
;
import
cn.freemud.management.entities.dto.response.coupon.McdNetBatchQueryResponse
;
import
cn.freemud.management.entities.dto.response.coupon.McdNetCouponInfoRespDto
;
import
cn.freemud.management.entities.dto.response.coupon.McdNetCouponProductRespDto
;
import
cn.freemud.management.enums.OrderSource
;
import
cn.freemud.management.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.management.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.LogUtil
;
...
@@ -27,6 +27,7 @@ import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedee
...
@@ -27,6 +27,7 @@ import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedee
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.log.ErrorLog
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.application.sdk.api.service.EmailAlertService
;
import
com.freemud.sdk.api.assortment.order.enums.*
;
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.request.order.CreateOrderAccountRequest
;
...
@@ -38,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -38,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
@@ -173,8 +175,29 @@ public class CouponClientServiceImpl implements CouponClientService {
...
@@ -173,8 +175,29 @@ public class CouponClientServiceImpl implements CouponClientService {
return
null
;
return
null
;
}
}
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
(
accountList
.
stream
().
map
(
o
->
new
MCCafeCouponVo
(
o
.
getAccountId
())).
collect
(
Collectors
.
toList
()))
.
sign
(
"skip"
)
.
build
();
McdNetBatchQueryResponse
mcdNetBatchQueryResponse
=
batchQuery
(
mcCafeCouponRequest
);
if
(
mcdNetBatchQueryResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getStatusCode
())
||
CollectionUtils
.
isEmpty
(
mcdNetBatchQueryResponse
.
getCouponlist
()))
{
LogUtil
.
error
(
"获取优惠券详情失败,无法核销"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
return
null
;
}
Map
<
String
,
McdNetBatchQueryResponse
.
Coupon
>
couponMap
=
mcdNetBatchQueryResponse
.
getCouponlist
().
stream
()
.
collect
(
Collectors
.
toMap
(
McdNetBatchQueryResponse
.
Coupon
::
getCode
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
List
<
MCCafeCouponRequest
>
list
=
List
<
MCCafeCouponRequest
>
list
=
accountList
.
stream
().
map
(
accountBean
->
couponAdapter
.
convert2MCCafeCouponRequest
(
orderBean
,
accountBean
)).
filter
(
o
->
o
!=
null
).
collect
(
Collectors
.
toList
());
accountList
.
stream
().
map
(
accountBean
->
couponAdapter
.
convert2MCCafeCouponRequest
(
orderBean
,
accountBean
,
couponMap
.
get
(
accountBean
.
getAccountId
())
)).
filter
(
o
->
o
!=
null
).
collect
(
Collectors
.
toList
());
List
<
CouponRedeemResponse
>
couponRedeemResponseList
=
new
ArrayList
<>();
List
<
CouponRedeemResponse
>
couponRedeemResponseList
=
new
ArrayList
<>();
List
<
CouponRedeemResponse
>
couponRedeemResponseListAll
=
new
ArrayList
<>();
List
<
CouponRedeemResponse
>
couponRedeemResponseListAll
=
new
ArrayList
<>();
...
...
order-management/src/main/java/cn/freemud/management/adapter/McCafeCouponAdapter.java
View file @
ef624b0e
package
cn
.
freemud
.
management
.
adapter
;
package
cn
.
freemud
.
management
.
adapter
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponLockRequest
;
import
cn.freemud.management.entities.dto.request.order.*
;
import
cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest
;
import
cn.freemud.management.entities.dto.response.coupon.McdNetBatchQueryResponse
;
import
cn.freemud.management.entities.dto.request.order.MCCafeProductRedeemVo
;
import
cn.freemud.management.entities.dto.request.order.MCCafeTransactionVo
;
import
cn.freemud.management.enums.ActivityTypeEnum
;
import
cn.freemud.management.enums.ActivityTypeEnum
;
import
cn.freemud.management.enums.CouponReqTypeEnum
;
import
cn.freemud.management.enums.CouponReqTypeEnum
;
import
cn.freemud.management.enums.MCCafeChannelEnum
;
import
cn.freemud.management.enums.MCCafeChannelEnum
;
import
cn.freemud.management.enums.OrderSource
;
import
cn.freemud.management.thirdparty.CouponOfflineMCCafeClient
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.enums.QueryOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.QueryOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Component
@Component
@Slf4j
public
class
McCafeCouponAdapter
{
public
class
McCafeCouponAdapter
{
@Autowired
private
CouponOfflineMCCafeClient
couponOfflineMCCafeClient
;
private
Integer
SUCCESS
=
100
;
public
List
<
MCCafeCouponRequest
>
convertOrderBean2CouponLockRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
public
List
<
MCCafeCouponRequest
>
convertOrderBean2CouponLockRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
if
(
null
==
orderBean
||
CollectionUtils
.
isEmpty
(
orderBean
.
getAccountList
()))
{
if
(
null
==
orderBean
||
CollectionUtils
.
isEmpty
(
orderBean
.
getAccountList
()))
{
return
null
;
return
null
;
...
@@ -39,12 +49,32 @@ public class McCafeCouponAdapter {
...
@@ -39,12 +49,32 @@ public class McCafeCouponAdapter {
if
(
CollectionUtils
.
isEmpty
(
accountList
)
)
{
if
(
CollectionUtils
.
isEmpty
(
accountList
)
)
{
return
null
;
return
null
;
}
}
MCCafeCouponRequest
mcCafeCouponRequest
=
MCCafeCouponRequest
.
builder
()
.
ver
(
88
)
.
reqtype
(
88
)
.
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
(
accountList
.
stream
().
map
(
o
->
new
MCCafeCouponVo
(
o
.
getAccountId
())).
collect
(
Collectors
.
toList
()))
.
sign
(
"skip"
)
.
build
();
McdNetBatchQueryResponse
mcdNetBatchQueryResponse
=
couponOfflineMCCafeClient
.
batchQuery
(
mcCafeCouponRequest
);
if
(
mcdNetBatchQueryResponse
==
null
||
!
SUCCESS
.
equals
(
mcdNetBatchQueryResponse
.
getStatusCode
())
||
CollectionUtils
.
isEmpty
(
mcdNetBatchQueryResponse
.
getCouponlist
()))
{
log
.
error
(
"获取优惠券详情失败,无法核销"
,
mcCafeCouponRequest
,
mcdNetBatchQueryResponse
);
return
null
;
}
Map
<
String
,
McdNetBatchQueryResponse
.
Coupon
>
couponMap
=
mcdNetBatchQueryResponse
.
getCouponlist
().
stream
()
.
collect
(
Collectors
.
toMap
(
McdNetBatchQueryResponse
.
Coupon
::
getCode
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
List
<
MCCafeCouponRequest
>
list
=
new
ArrayList
<>();
List
<
MCCafeCouponRequest
>
list
=
new
ArrayList
<>();
accountList
.
forEach
(
accountBean
->
list
.
add
(
convert2MCCafeCouponRequest
(
orderBean
,
accountBean
)));
accountList
.
forEach
(
accountBean
->
list
.
add
(
convert2MCCafeCouponRequest
(
orderBean
,
accountBean
,
couponMap
.
get
(
accountBean
.
getAccountId
())
)));
return
list
;
return
list
;
}
}
public
MCCafeCouponRequest
convert2MCCafeCouponRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
QueryOrdersResponse
.
DataBean
.
OrderBean
.
AccountBean
accountBean
)
{
public
MCCafeCouponRequest
convert2MCCafeCouponRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
QueryOrdersResponse
.
DataBean
.
OrderBean
.
AccountBean
accountBean
,
McdNetBatchQueryResponse
.
Coupon
coupon
)
{
List
<
MCCafeProductRedeemVo
>
products
=
new
ArrayList
<>();
List
<
MCCafeProductRedeemVo
>
products
=
new
ArrayList
<>();
//商品券核销核销参数
//商品券核销核销参数
if
(
QueryOrderAccountType
.
PRODUCT_COUPON
.
equals
(
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
accountBean
.
getType
()))))
{
if
(
QueryOrderAccountType
.
PRODUCT_COUPON
.
equals
(
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
accountBean
.
getType
()))))
{
...
@@ -64,6 +94,9 @@ public class McCafeCouponAdapter {
...
@@ -64,6 +94,9 @@ public class McCafeCouponAdapter {
mcCafeProductRedeemVo
.
setCustomer_code
(
productBean
.
getCustomerCode
());
mcCafeProductRedeemVo
.
setCustomer_code
(
productBean
.
getCustomerCode
());
mcCafeProductRedeemVo
.
setConsume_num
(
productDiscount
.
getDiscountQty
());
mcCafeProductRedeemVo
.
setConsume_num
(
productDiscount
.
getDiscountQty
());
mcCafeProductRedeemVo
.
setSeq
(
i
+
1
);
mcCafeProductRedeemVo
.
setSeq
(
i
+
1
);
if
(
null
!=
coupon
&&
CollectionUtils
.
isNotEmpty
(
coupon
.
getCodeInfo
().
getGroups
()))
{
mcCafeProductRedeemVo
.
setGid
(
coupon
.
getCodeInfo
().
getGroups
().
get
(
0
).
getGid
());
}
products
.
add
(
mcCafeProductRedeemVo
);
products
.
add
(
mcCafeProductRedeemVo
);
}
}
}
}
...
...
order-management/src/main/java/cn/freemud/management/entities/dto/response/coupon/McdNetCouponInfoRespDto.java
View file @
ef624b0e
...
@@ -100,6 +100,11 @@ public class McdNetCouponInfoRespDto {
...
@@ -100,6 +100,11 @@ public class McdNetCouponInfoRespDto {
private
Integer
status
;
private
Integer
status
;
private
Integer
extend_type
;
private
Integer
extend_type
;
/**
* 商品组信息
*/
private
List
<
McdNetCouponProductGroupRespDto
>
groups
;
/**
/**
* 只有商品券时返回
* 只有商品券时返回
*/
*/
...
...
order-management/src/main/java/cn/freemud/management/entities/dto/response/coupon/McdNetCouponProductGroupRespDto.java
0 → 100644
View file @
ef624b0e
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
coupon
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
@NoArgsConstructor
public
class
McdNetCouponProductGroupRespDto
implements
Serializable
{
private
Integer
gid
;
private
Integer
gmax
;
private
List
<
McdNetCouponProductRespDto
>
products
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
View file @
ef624b0e
...
@@ -348,12 +348,8 @@ public class ShoppingCartMCoffeeServiceImpl {
...
@@ -348,12 +348,8 @@ public class ShoppingCartMCoffeeServiceImpl {
* 如果couponCode为空,则从缓存里尝试获取
* 如果couponCode为空,则从缓存里尝试获取
* 如果couponCode不为空,则设置到缓存里
* 如果couponCode不为空,则设置到缓存里
*/
*/
// List<String> couponList = new ArrayList<>();
if
(
StringUtils
.
isEmpty
(
couponCode
))
{
if
(
StringUtils
.
isEmpty
(
couponCode
))
{
couponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
,
SaveCouponType
.
COUPON
.
getCode
());
couponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
,
SaveCouponType
.
COUPON
.
getCode
());
// if(StringUtils.isNotEmpty(couponCode)) {
// couponList.add(couponCode);
// }
}
else
{
}
else
{
if
(
"remove"
.
equals
(
couponCode
))
{
if
(
"remove"
.
equals
(
couponCode
))
{
couponCode
=
""
;
couponCode
=
""
;
...
@@ -363,9 +359,6 @@ public class ShoppingCartMCoffeeServiceImpl {
...
@@ -363,9 +359,6 @@ public class ShoppingCartMCoffeeServiceImpl {
if
(
StringUtils
.
isEmpty
(
freightCouponCode
))
{
if
(
StringUtils
.
isEmpty
(
freightCouponCode
))
{
freightCouponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
freightCouponCode
=
assortmentSdkService
.
getShoppingCartCoupon
(
partnerId
,
storeId
,
userId
,
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
// if(StringUtils.isNotEmpty(freightCouponCode)) {
// couponList.add(freightCouponCode);
// }
}
else
{
}
else
{
if
(
"remove"
.
equals
(
freightCouponCode
))
{
if
(
"remove"
.
equals
(
freightCouponCode
))
{
freightCouponCode
=
""
;
freightCouponCode
=
""
;
...
@@ -373,36 +366,48 @@ public class ShoppingCartMCoffeeServiceImpl {
...
@@ -373,36 +366,48 @@ public class ShoppingCartMCoffeeServiceImpl {
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
freightCouponCode
,
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
freightCouponCode
,
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
}
}
//校验代金券和运费券是否可用
//放到参数里
// if(CollectionUtils.isNotEmpty(couponList)) {
if
(
StringUtils
.
isNotEmpty
(
couponCode
)
)
{
// List<CouponState> couponStates = couponDiscountCalculation.buildAvailableCoupons(cartGoodsList, partnerId, storeId, couponList);
shoppingCartInfoRequestVo
.
setCouponCode
(
couponCode
);
// if(CollectionUtils.isNotEmpty(couponStates)) {
shoppingCartGoodsResponseVo
.
setCouponCode
(
couponCode
);
// Map<String, Integer> couponStateMap = couponStates.stream().collect(Collectors.toMap(CouponState::getCouponCode, CouponState::getState, (k1, k2) -> k1));
}
// if(null == couponStateMap.get(couponCode) || Objects.equals(couponStateMap.get(couponCode), CouponStateEnum.STATE_1.getCode())) {
if
(
StringUtils
.
isNotEmpty
(
freightCouponCode
))
{
// couponCode = "";
// }
// if(null == couponStateMap.get(freightCouponCode) || Objects.equals(couponStateMap.get(freightCouponCode), CouponStateEnum.STATE_1.getCode())) {
// freightCouponCode = "";
// }
// } else {
// couponCode = "";
// freightCouponCode = "";
// }
// }
shoppingCartInfoRequestVo
.
setFreightCouponCode
(
freightCouponCode
);
shoppingCartInfoRequestVo
.
setFreightCouponCode
(
freightCouponCode
);
shoppingCartGoodsResponseVo
.
setFreightCouponCode
(
freightCouponCode
);
}
// 当couponCode不为空时,需参与价格计算
// 当couponCode不为空时,需参与价格计算
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
getCoupon
(
couponCode
,
null
,
cartGoodsList
,
shoppingCartInfoRequestVo
.
getFreightCouponCode
());
List
<
ActivityCalculationDiscountRequestDto
.
CalculationDiscountCoupon
>
coupons
=
getCoupon
(
couponCode
,
null
,
cartGoodsList
,
shoppingCartInfoRequestVo
.
getFreightCouponCode
());
// 促销活动的优惠金额计算
// 促销活动的优惠金额计算
calculationService
.
updateShoppingCartGoodsDiscount
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
menuType
,
receiveId
,
null
,
ActivityCalculationDiscountResponseDto
.
CalculationDiscountResult
calculationDiscountResult
=
calculationService
.
updateShoppingCartGoodsDiscount
(
partnerId
,
storeId
,
userId
,
appId
,
orderType
,
assortmentCustomerInfoVo
.
isMemberPaid
(),
menuType
,
receiveId
,
null
,
cartGoodsList
,
coupons
,
new
ArrayList
<>(),
shoppingCartGoodsResponseVo
);
cartGoodsList
,
coupons
,
new
ArrayList
<>(),
shoppingCartGoodsResponseVo
);
//设置更新响应信息
//设置更新响应信息
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
setAddAndUpdateResponse
(
shoppingCartGoodsResponseVo
,
cartGoodsList
,
shoppingCartGoodsResponseVo
.
getToastMsg
(),
ShoppingCartConstant
.
QUERY_INFO
,
shoppingCartInfoRequestVo
);
shoppingCartGoodsResponseVo
.
setCouponCode
(
couponCode
);
//先出参里的券设置为空,然后如果可用,再放到出参里
shoppingCartGoodsResponseVo
.
setFreightCouponCode
(
freightCouponCode
);
shoppingCartGoodsResponseVo
.
setCouponCode
(
""
);
shoppingCartGoodsResponseVo
.
setFreightCouponCode
(
""
);
if
(
StringUtils
.
isNotEmpty
(
couponCode
)
||
StringUtils
.
isNotEmpty
(
freightCouponCode
))
{
String
finalCouponCode
=
couponCode
;
String
finalFreightCouponCode
=
freightCouponCode
;
if
(
null
!=
calculationDiscountResult
&&
CollectionUtils
.
isNotEmpty
(
calculationDiscountResult
.
getDiscounts
()))
{
calculationDiscountResult
.
getDiscounts
().
stream
().
forEach
(
o
->
{
if
(
o
.
getActivityCode
().
equals
(
finalCouponCode
))
{
shoppingCartGoodsResponseVo
.
setCouponCode
(
finalCouponCode
);
}
if
(
o
.
getActivityCode
().
equals
(
finalFreightCouponCode
))
{
shoppingCartGoodsResponseVo
.
setFreightCouponCode
(
finalFreightCouponCode
);
}
});
}
}
if
(
ObjectUtils
.
notEqual
(
shoppingCartGoodsResponseVo
.
getCouponCode
(),
couponCode
))
{
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
shoppingCartGoodsResponseVo
.
getCouponCode
(),
shoppingCartBaseService
,
SaveCouponType
.
COUPON
.
getCode
());
}
if
(
ObjectUtils
.
notEqual
(
shoppingCartGoodsResponseVo
.
getFreightCouponCode
(),
freightCouponCode
))
{
assortmentSdkService
.
setShoppingCartCouponCode
(
partnerId
,
storeId
,
userId
,
shoppingCartGoodsResponseVo
.
getFreightCouponCode
(),
shoppingCartBaseService
,
SaveCouponType
.
FREIGHT_COUPON
.
getCode
());
}
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
}
}
...
...
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