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
cd07bfab
Commit
cd07bfab
authored
Mar 08, 2021
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
结算页反选商品券
parent
1f71f864
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
65 additions
and
55 deletions
+65
-55
shopping-cart-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ActivityCouponBean.java
+6
-0
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CouponPromotionVO.java
+1
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/CouponService.java
+3
-3
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
+22
-43
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+30
-8
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
+1
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
View file @
cd07bfab
...
...
@@ -553,6 +553,7 @@ public class CouponAdapter {
couponPromotionVO
.
setCouponCode
(
shoppingCartInfoRequestVo
.
getCouponCode
());
couponPromotionVO
.
setOrderType
(
shoppingCartInfoRequestVo
.
getOrderType
());
couponPromotionVO
.
setFlg
(
shoppingCartInfoRequestVo
.
getFlag
());
couponPromotionVO
.
setUnChooseCouponCode
(
shoppingCartInfoRequestVo
.
getUnChooseCouponCode
());
return
couponPromotionVO
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ActivityCouponBean.java
View file @
cd07bfab
...
...
@@ -54,6 +54,12 @@ public class ActivityCouponBean {
* 0-商品券 1-代金券 3-折扣券
*/
private
Integer
couponType
;
/**
* 券图片地址
*/
private
String
couponPic
;
/**
* 日期描述
*/
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/CouponPromotionVO.java
View file @
cd07bfab
...
...
@@ -22,4 +22,5 @@ public class CouponPromotionVO {
private
String
couponCode
;
private
Integer
flg
;
private
Integer
orderType
;
private
String
unChooseCouponCode
;
}
shopping-cart-application-service/src/main/java/cn/freemud/service/CouponService.java
View file @
cd07bfab
...
...
@@ -80,7 +80,7 @@ public interface CouponService {
* @param cartGoods
* @return
*/
ActivityClassifyCouponBean
availableCoupon
(
List
<
CartGoods
>
cartGoods
,
String
partnerId
,
String
userId
,
String
storeId
,
String
couponCode
,
boolean
hasGoodsCoupon
,
Integer
orderType
,
int
isNew
,
String
appId
,
String
MenuType
);
ActivityClassifyCouponBean
availableCoupon
(
List
<
CartGoods
>
cartGoods
,
String
partnerId
,
String
userId
,
String
storeId
,
String
couponCode
,
boolean
hasGoodsCoupon
,
Integer
orderType
,
int
isNew
,
String
appId
,
String
MenuType
,
String
unChooseCouponCode
);
/**
* 获取卡券服务商户密钥
...
...
@@ -102,10 +102,10 @@ public interface CouponService {
CheckSpqInfoResponseDto
checkSpqInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
);
CheckSpqInfoResponseDt
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
);
GetProductsV
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
);
CheckSpqInfoResponseDt
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
);
GetProductsV
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
);
/**
* 领券
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponPromotionService.java
View file @
cd07bfab
...
...
@@ -59,7 +59,7 @@ public class CouponPromotionService implements IPromotionService {
hasGoodssCoupon
,
couponPromotionVO
.
getOrderType
(),
0
,
shoppingCartInfoRequestVo
.
getAppId
(),
shoppingCartInfoRequestVo
.
getMenuType
()
);
shoppingCartInfoRequestVo
.
getAppId
(),
shoppingCartInfoRequestVo
.
getMenuType
()
,
couponPromotionVO
.
getUnChooseCouponCode
()
);
if
(
Objects
.
equals
(
activityClassifyCouponBean
,
null
))
{
// 构建一个空得订单券信息
activityClassifyCouponBean
=
createEmptyActivityCouponBean
();
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
cd07bfab
...
...
@@ -423,7 +423,7 @@ public class CouponServiceImpl implements CouponService {
,
boolean
hasGoodsCoupon
,
Integer
orderType
,
int
isNew
,
String
appId
,
String
menuType
)
{
,
String
appId
,
String
menuType
,
String
unChooseCouponCode
)
{
GetMemberCouponListRequestDto
getMemberCouponListRequestDto
=
new
GetMemberCouponListRequestDto
(
partnerId
,
userId
);
getMemberCouponListRequestDto
.
setStatusFlags
(
Arrays
.
asList
(
CouponStatus
.
STATUS_0
.
getCode
()));
getMemberCouponListRequestDto
.
setPageNum
(
1
);
...
...
@@ -454,17 +454,14 @@ public class CouponServiceImpl implements CouponService {
Collectors
.
toMap
(
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
::
getCouponCode
,
a
->
a
,
(
k1
,
k2
)
->
k1
));
List
<
String
>
couponCodes
=
Lists
.
newArrayList
();
memberCoupons
.
forEach
(
memberCoupon
->
{
if
(
Objects
.
equals
(
memberCoupon
.
getCouponType
(),
CouponTypeEnum
.
TYPE_1
.
getCode
())
||
Objects
.
equals
(
memberCoupon
.
getCouponType
(),
CouponTypeEnum
.
TYPE_3
.
getCode
()))
{
// 只筛选小于结束时间得券
if
(
System
.
currentTimeMillis
()
<
DateUtil
.
convert2Date
(
memberCoupon
.
getEndTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
getTime
())
{
couponCodes
.
add
(
memberCoupon
.
getCouponCode
());
}
// 只筛选小于结束时间得券
if
(
System
.
currentTimeMillis
()
<
DateUtil
.
convert2Date
(
memberCoupon
.
getEndTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
getTime
())
{
couponCodes
.
add
(
memberCoupon
.
getCouponCode
());
}
});
List
<
CouponStateVo
>
couponStateList
=
buildAvailiableCoupons
(
cartGoods
,
partnerId
,
storeId
,
couponCodes
,
isNew
,
appId
,
menuType
);
if
(
CollectionUtils
.
isNotEmpty
(
couponStateList
))
{
return
returnSuccessAvailiableCoupons
(
couponCode
,
hasGoodsCoupon
,
availableCouponResponseVo
,
usableCoupons
,
disableCoupons
,
memberCouponMap
,
couponStateList
);
return
returnSuccessAvailiableCoupons
(
couponCode
,
hasGoodsCoupon
,
availableCouponResponseVo
,
usableCoupons
,
disableCoupons
,
memberCouponMap
,
couponStateList
,
unChooseCouponCode
);
}
return
null
;
}
...
...
@@ -518,7 +515,9 @@ public class CouponServiceImpl implements CouponService {
return
couponStateList
;
}
private
ActivityClassifyCouponBean
returnSuccessAvailiableCoupons
(
String
couponCode
,
boolean
hasGoodsCoupon
,
ActivityClassifyCouponBean
availableCouponResponseVo
,
List
<
ActivityCouponBean
>
usableCoupons
,
List
<
ActivityCouponBean
>
disableCoupons
,
Map
<
String
,
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCouponMap
,
List
<
CouponStateVo
>
couponStateList
)
{
private
ActivityClassifyCouponBean
returnSuccessAvailiableCoupons
(
String
couponCode
,
boolean
hasGoodsCoupon
,
ActivityClassifyCouponBean
availableCouponResponseVo
,
List
<
ActivityCouponBean
>
usableCoupons
,
List
<
ActivityCouponBean
>
disableCoupons
,
Map
<
String
,
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
memberCouponMap
,
List
<
CouponStateVo
>
couponStateList
,
String
unChooseCouponCode
)
{
int
disableCouponNum
=
0
;
int
usableCouponNum
=
0
;
for
(
CouponStateVo
couponStateVo
:
couponStateList
)
{
...
...
@@ -579,8 +578,14 @@ public class CouponServiceImpl implements CouponService {
activityCouponBean
.
setSelected
(
YesOrNoEnum
.
NO
.
getCode
());
}
if
(
hasGoodsCoupon
)
{
disableCoupons
.
add
(
activityCouponBean
);
disableCouponNum
=
disableCouponNum
+
1
;
if
(
StringUtils
.
isNotBlank
(
unChooseCouponCode
)
&&
unChooseCouponCode
.
equals
(
activityCouponBean
.
getCouponCode
())){
activityCouponBean
.
setSelected
(
YesOrNoEnum
.
YES
.
getCode
());
usableCoupons
.
add
(
activityCouponBean
);
usableCouponNum
=
usableCouponNum
+
1
;
}
else
{
disableCoupons
.
add
(
activityCouponBean
);
disableCouponNum
=
disableCouponNum
+
1
;
}
}
else
{
if
(
Objects
.
equals
(
couponStateVo
.
getState
(),
CouponStateEnum
.
STATE_1
.
getCode
()))
{
disableCoupons
.
add
(
activityCouponBean
);
...
...
@@ -919,7 +924,7 @@ public class CouponServiceImpl implements CouponService {
}
@Override
public
CheckSpqInfoResponseDt
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
)
{
public
GetProductsV
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
)
{
String
partnerId
=
requestDto
.
getPartnerId
();
String
couponCode
=
requestDto
.
getCouponCode
();
String
storeId
=
requestDto
.
getStoreId
();
...
...
@@ -952,21 +957,8 @@ public class CouponServiceImpl implements CouponService {
||
valiadProductResponse
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
valiadProductResponse
.
getData
().
getSuccessList
()))
{
return
null
;
}
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveCode
());
dto
.
setCouponName
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getTitle
());
dto
.
setActivityName
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveName
());
dto
.
setPrice
(
productsVo
.
getFinalPrice
());
dto
.
setSpuId
(
productsVo
.
getSpuId
());
dto
.
setSpuName
(
productsVo
.
getSkuName
());
dto
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
productsVo
.
getStockLimit
()));
dto
.
setSkuId
(
productsVo
.
getSkuId
());
dto
.
setSkuName
(
StringUtils
.
isNotBlank
(
productsVo
.
getSkuName
())
?
productsVo
.
getSkuName
()
:
productsVo
.
getSpuName
());
dto
.
setPicture
(
productsVo
.
getSpuPicture
());
dto
.
setCouponType
(
0
);
log
.
info
(
"dto***"
+
dto
);
return
dto
;
return
productsVo
;
}
...
...
@@ -979,7 +971,7 @@ public class CouponServiceImpl implements CouponService {
* @return
*/
@Override
public
CheckSpqInfoResponseDt
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
)
{
public
GetProductsV
o
getSpqProductInfo
(
CheckSpqInfoRequestDto
requestDto
,
String
goodsId
)
{
log
.
info
(
"checkSpqInfo****"
+
gson
.
toJson
(
requestDto
));
String
partnerId
=
requestDto
.
getPartnerId
();
String
couponCode
=
requestDto
.
getCouponCode
();
...
...
@@ -1017,21 +1009,8 @@ public class CouponServiceImpl implements CouponService {
||
valiadProductResponse
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
valiadProductResponse
.
getData
().
getSuccessList
()))
{
return
null
;
}
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setPrice
(
productsVo
.
getFinalPrice
());
dto
.
setSpuId
(
productsVo
.
getSpuId
());
dto
.
setSpuName
(
productsVo
.
getSkuName
());
dto
.
setSkuId
(
productsVo
.
getSkuId
());
dto
.
setSkuName
(
StringUtils
.
isNotBlank
(
productsVo
.
getSkuName
())
?
productsVo
.
getSkuName
()
:
productsVo
.
getSpuName
());
dto
.
setPicture
(
productsVo
.
getSpuPicture
());
dto
.
setDefaultSpecName
(
productsVo
.
getDefaultSpecName
());
dto
.
setDefaultSpecId
(
productsVo
.
getDefaultSpecId
());
dto
.
setStockLimit
(
ObjectUtils
.
equals
(
1
,
productsVo
.
getStockLimit
()));
dto
.
setExtras
(
productsVo
.
getExtra
());
dto
.
setCouponType
(
couponType
);
log
.
info
(
"dto***"
+
dto
);
return
dto
;
return
productsVo
;
}
@Autowired
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
cd07bfab
...
...
@@ -599,26 +599,25 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// check是否反选取消商品券
if
(
StringUtils
.
isNotBlank
(
unChooseCouponCode
)){
// 遍历该商品券选择的商品,并将商品券替换为普通商品
for
(
CartGoods
cartGoods
:
cartGoodsList
){
for
(
int
i
=
cartGoodsList
.
size
();
i
>=
0
;
i
--){
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
if
(
GoodsTypeEnum
.
COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
())
||
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
())){
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
partnerId
,
storeId
,
cartGoods
.
getSpuId
(),
menuType
);
CheckSpqInfoResponseDt
o
productInfo
=
null
;
GetProductsV
o
productInfo
=
null
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
productInfo
=
couponService
.
getSpqProductInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
}
else
{
productInfo
=
couponService
.
getSpqProductInfo
(
checkSpqInfoRequestDto
);
}
if
(
productInfo
==
null
){
cartGoodsList
.
remove
(
i
);
}
else
{
convert2CartGoods
(
cartGoods
,
productInfo
);
}
}
}
}
CheckCartRequest
checkCartRequest
=
assortmentSdkService
.
checkShoppingCartSdk
(
cartGoodsList
,
partnerId
,
storeId
,
shoppingCartGoodsResponseVo
,
shoppingCartInfoRequestVo
.
getOrderType
(),
""
,
shoppingCartInfoRequestVo
.
getMenuType
()
,
shoppingCartBaseService
);
if
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
()
!=
null
)
{
shoppingCartGoodsResponseVo
.
setChanged
(
checkCartRequest
.
getShoppingCartGoodsResponseVo
().
getChanged
());
...
...
@@ -716,6 +715,29 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return
ResponseUtil
.
success
(
shoppingCartGoodsResponseVo
);
}
private
void
convert2CartGoods
(
CartGoods
cartGoods
,
GetProductsVo
productInfo
)
{
cartGoods
.
setCartGoodsUid
(
UUID
.
randomUUID
().
toString
());
Integer
goodsType
=
GoodsTypeEnum
.
SPU_GOODS
.
getGoodsType
();
if
(
productInfo
.
getType
()
==
null
||
productInfo
.
getType
()
==
1
)
{
goodsType
=
GoodsTypeEnum
.
SPU_GOODS
.
getGoodsType
();
}
else
{
goodsType
=
GoodsTypeEnum
.
SKU_GOODS
.
getGoodsType
();
}
cartGoods
.
setAmount
(
productInfo
.
getFinalPrice
());
cartGoods
.
setCategoryName
(
productInfo
.
getCategoryName
());
cartGoods
.
setCustomerCode
(
productInfo
.
getCustomerCode
());
cartGoods
.
setFinalPrice
(
productInfo
.
getFinalPrice
());
cartGoods
.
setGoodsId
(
cartGoods
.
getSkuId
());
cartGoods
.
setMaterialAmount
(
0
l
);
cartGoods
.
setName
(
goodsType
==
GoodsTypeEnum
.
SPU_GOODS
.
getGoodsType
()
?
productInfo
.
getSpuName
()
:
productInfo
.
getSkuName
());
cartGoods
.
setOriginalPrice
(
productInfo
.
getFinalPrice
());
cartGoods
.
setOriginalMaterialAmount
(
0
l
);
cartGoods
.
setSpuId
(
productInfo
.
getSpuId
());
cartGoods
.
setSkuId
(
cartGoods
.
getSkuId
());
cartGoods
.
setSpuName
(
productInfo
.
getSpuName
());
cartGoods
.
setSkuName
(
productInfo
.
getSkuName
());
}
/**
* svc 卡支付使用
*
...
...
@@ -1004,7 +1026,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
List
<
CartGoods
>
cartGoodsList
=
orderItemList
.
stream
().
map
(
each
->
convert2ShopCartGoods
(
each
)).
collect
(
toList
());
ActivityClassifyCouponBean
activityClassifyCouponBean
=
couponService
.
availableCoupon
(
cartGoodsList
,
partnerId
,
memberId
,
request
.
getStoreId
(),
""
,
false
,
request
.
getOrderType
(),
0
,
""
,
""
);
,
memberId
,
request
.
getStoreId
(),
""
,
false
,
request
.
getOrderType
(),
0
,
""
,
""
,
""
);
if
(
activityClassifyCouponBean
!=
null
&&
CollectionUtils
.
isNotEmpty
(
activityClassifyCouponBean
.
getUsableCoupons
())){
List
<
GetMemberInfoResponseVo
.
Coupon
>
coupons
=
activityClassifyCouponBean
.
getUsableCoupons
().
stream
().
map
(
each
->
convert2MemberCoupon
(
each
)).
collect
(
toList
());
responseData
.
setCoupons
(
coupons
);
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/calculate/promotion/CouponSharingService.java
View file @
cd07bfab
...
...
@@ -60,6 +60,7 @@ public class CouponSharingService {
,
1
,
shoppingCartInfoRequestVo
.
getAppId
()
,
shoppingCartInfoRequestVo
.
getMenuType
()
,
couponPromotionVO
.
getUnChooseCouponCode
()
);
if
(
Objects
.
equals
(
activityClassifyCouponBean
,
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