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
b492fd51
Commit
b492fd51
authored
Jun 07, 2021
by
王世昌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加用券来源的判断
parent
ddfbdfdf
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
88 additions
and
35 deletions
+88
-35
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/service/CheckAdapter.java
+58
-35
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/Attribute.java
+18
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/CheckAdapterBO.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/SendGoods.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformAddGoodsService.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformApportionService.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformListCartGoodsService.java
+2
-0
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformUpdateGoodsQtyService.java
+2
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/demo/adapter/service/CheckAdapter.java
View file @
b492fd51
...
@@ -6,14 +6,21 @@ import cn.freemud.demo.entities.bo.goods.CheckBussinessRulesBO;
...
@@ -6,14 +6,21 @@ import cn.freemud.demo.entities.bo.goods.CheckBussinessRulesBO;
import
cn.freemud.demo.utils.CommonUtils
;
import
cn.freemud.demo.utils.CommonUtils
;
import
cn.freemud.entities.dto.CheckSpqInfoRequestDto
;
import
cn.freemud.entities.dto.CheckSpqInfoRequestDto
;
import
cn.freemud.entities.dto.CheckSpqInfoResponseDto
;
import
cn.freemud.entities.dto.CheckSpqInfoResponseDto
;
import
cn.freemud.entities.dto.GetMemberCouponListRequestDto
;
import
cn.freemud.entities.dto.GetMemberCouponListResponseDto
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.entities.vo.CartGoods
;
import
cn.freemud.enums.CouponStatus
;
import
cn.freemud.enums.GoodsTypeEnum
;
import
cn.freemud.enums.GoodsTypeEnum
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.CouponService
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.Arrays
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -24,52 +31,68 @@ public class CheckAdapter {
...
@@ -24,52 +31,68 @@ public class CheckAdapter {
@Autowired
@Autowired
private
CouponService
couponService
;
private
CouponService
couponService
;
public
void
adapter
(
CheckBussinessRulesBO
checkBussinessRulesBO
,
AddGoodsToShoppingCartBO
addGoodsToShoppingCartBO
,
CheckAdapterBO
bo
){
public
void
adapter
(
CheckBussinessRulesBO
checkBussinessRulesBO
,
AddGoodsToShoppingCartBO
addGoodsToShoppingCartBO
,
CheckAdapterBO
bo
)
{
// 校验后有效的商品券map
// 校验后有效的商品券map
List
<
CartGoods
>
cartGoodsList
=
addGoodsToShoppingCartBO
.
getCartGoods
();
List
<
CartGoods
>
cartGoodsList
=
addGoodsToShoppingCartBO
.
getCartGoods
();
HashMap
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
new
HashMap
<>(
16
);
HashMap
<
String
,
CheckSpqInfoResponseDto
>
validCouponMap
=
new
HashMap
<>(
16
);
HashMap
<
String
,
List
<
String
>>
spqIdToCartUuid
=
new
HashMap
<>(
16
);
HashMap
<
String
,
List
<
String
>>
spqIdToCartUuid
=
new
HashMap
<>(
16
);
for
(
int
i
=
0
;
i
<
cartGoodsList
.
size
();
i
++){
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
if
(
CommonUtils
.
isProductCoupon
(
cartGoods
.
getCouponCode
(),
cartGoods
.
getCartGoodsUid
())){
// 校验后有效的商品券map
GetMemberCouponListRequestDto
getMemberCouponListRequestDto
=
new
GetMemberCouponListRequestDto
(
bo
.
getPartnerId
(),
bo
.
getUserId
());
getMemberCouponListRequestDto
.
setStatusFlags
(
Arrays
.
asList
(
CouponStatus
.
STATUS_0
.
getCode
(),
CouponStatus
.
STATUS_2
.
getCode
()));
getMemberCouponListRequestDto
.
setPageNum
(
1
);
getMemberCouponListRequestDto
.
setPageSize
(
Integer
.
MAX_VALUE
);
List
<
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
>
validMemberCouponList
=
couponService
.
getValidMemberCouponList
(
getMemberCouponListRequestDto
,
bo
.
getOrderType
());
String
couponCode
=
CommonUtils
.
getCouponCode
(
cartGoods
.
getCouponCode
(),
cartGoods
.
getCartGoodsUid
());
if
(
CollectionUtils
.
isEmpty
(
validMemberCouponList
))
{
boolean
useCoupon
=
true
;
// 优惠券放在coupon字段而不是uuid中
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_USER_HAVE_NO_COUPON
,
ResponseResult
.
SHOPPING_CART_USER_HAVE_NO_COUPON
.
getMessage
());
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
)){
}
useCoupon
=
false
;
for
(
int
i
=
0
;
i
<
cartGoodsList
.
size
();
i
++)
{
}
CartGoods
cartGoods
=
cartGoodsList
.
get
(
i
);
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
bo
.
getPartnerId
(),
bo
.
getShopId
(),
couponCode
,
bo
.
getMenuType
());
if
(
CommonUtils
.
isProductCoupon
(
cartGoods
.
getCouponCode
(),
cartGoods
.
getCartGoodsUid
()))
{
CheckSpqInfoResponseDto
checkSpqInfo
=
null
;
continue
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
}
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
String
couponCode
=
CommonUtils
.
getCouponCode
(
cartGoods
.
getCouponCode
(),
cartGoods
.
getCartGoodsUid
());
}
else
{
GetMemberCouponListResponseDto
.
Result
.
MemberCoupon
memberCoupon
=
validMemberCouponList
.
stream
().
filter
(
p
->
couponCode
.
equals
(
p
.
getCouponCode
())).
findFirst
().
orElse
(
null
);
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
if
(
memberCoupon
==
null
)
{
throw
new
ServiceException
(
ResponseResult
.
SHOPPING_CART_USER_HAVE_NO_COUPON
,
ResponseResult
.
SHOPPING_CART_USER_HAVE_NO_COUPON
.
getMessage
());
}
// 优惠券放在coupon字段而不是uuid中
boolean
useCoupon
=
true
;
if
(
cartGoods
.
getCartGoodsUid
().
startsWith
(
CommonsConstant
.
COUPON_PREFIX
))
{
useCoupon
=
false
;
}
CheckSpqInfoRequestDto
checkSpqInfoRequestDto
=
new
CheckSpqInfoRequestDto
(
bo
.
getPartnerId
(),
bo
.
getShopId
(),
couponCode
,
bo
.
getMenuType
());
CheckSpqInfoResponseDto
checkSpqInfo
=
null
;
if
(
GoodsTypeEnum
.
HG_COUPON_GOODS
.
getGoodsType
().
equals
(
cartGoods
.
getGoodsType
()))
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
,
cartGoods
.
getSkuId
());
}
else
{
checkSpqInfo
=
couponService
.
checkSpqInfo
(
checkSpqInfoRequestDto
);
}
if
(
null
==
checkSpqInfo
)
{
cartGoodsList
.
remove
(
i
--);
}
else
{
cartGoods
.
setActivityCode
(
checkSpqInfo
.
getActiveCode
());
cartGoods
.
setCouponProductPrice
(
checkSpqInfo
.
getPrice
());
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
if
(
useCoupon
)
{
validCouponMap
.
put
(
couponCode
+
checkSpqInfo
.
getSkuId
(),
checkSpqInfo
);
}
}
if
(
null
==
checkSpqInfo
)
{
if
(
spqIdToCartUuid
.
containsKey
(
couponCode
))
{
cartGoodsList
.
remove
(
i
);
List
<
String
>
uuidList
=
spqIdToCartUuid
.
get
(
couponCode
);
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
else
{
}
else
{
cartGoods
.
setActivityCode
(
checkSpqInfo
.
getActiveCode
());
List
<
String
>
uuidList
=
new
ArrayList
<>();
cartGoods
.
setCouponProductPrice
(
checkSpqInfo
.
getPrice
());
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
validCouponMap
.
put
(
couponCode
,
checkSpqInfo
);
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
if
(
useCoupon
){
validCouponMap
.
put
(
couponCode
+
checkSpqInfo
.
getSkuId
(),
checkSpqInfo
);
}
if
(
spqIdToCartUuid
.
containsKey
(
couponCode
)){
List
<
String
>
uuidList
=
spqIdToCartUuid
.
get
(
couponCode
);
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
else
{
List
<
String
>
uuidList
=
new
ArrayList
<>();
uuidList
.
add
(
cartGoods
.
getCartGoodsUid
());
spqIdToCartUuid
.
put
(
couponCode
,
uuidList
);
}
addGoodsToShoppingCartBO
.
setSpqIdToCartUuidMap
(
spqIdToCartUuid
);
addGoodsToShoppingCartBO
.
setValidCouponMap
(
validCouponMap
);
}
}
addGoodsToShoppingCartBO
.
setSpqIdToCartUuidMap
(
spqIdToCartUuid
);
addGoodsToShoppingCartBO
.
setValidCouponMap
(
validCouponMap
);
}
}
}
}
}
}
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/Attribute.java
0 → 100644
View file @
b492fd51
package
cn
.
freemud
.
demo
.
entities
.
bo
;
import
lombok.Data
;
/**
* @version: 1.0
* @Description: TODO
* @author: WangShiChang
* @date: 2021/6/7 下午5:59
* @Copyright: www.freemud.cn Inc.
*/
@Data
public
class
Attribute
{
private
String
attributeId
;
private
String
attributeValue
;
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/CheckAdapterBO.java
View file @
b492fd51
...
@@ -10,5 +10,7 @@ public class CheckAdapterBO {
...
@@ -10,5 +10,7 @@ public class CheckAdapterBO {
private
String
menuType
;
private
String
menuType
;
private
String
couponCode
;
private
String
couponCode
;
private
Integer
orderType
;
private
String
userId
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/entities/bo/SendGoods.java
View file @
b492fd51
...
@@ -3,6 +3,7 @@ package cn.freemud.demo.entities.bo;
...
@@ -3,6 +3,7 @@ package cn.freemud.demo.entities.bo;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@Data
public
class
SendGoods
{
public
class
SendGoods
{
...
@@ -21,4 +22,5 @@ public class SendGoods {
...
@@ -21,4 +22,5 @@ public class SendGoods {
private
Integer
qty
;
private
Integer
qty
;
private
String
activityCode
;
private
String
activityCode
;
private
List
<
Attribute
>
attributes
;
}
}
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformAddGoodsService.java
View file @
b492fd51
...
@@ -99,6 +99,8 @@ public class PlatformAddGoodsService extends AbstractAddGoodsService {
...
@@ -99,6 +99,8 @@ public class PlatformAddGoodsService extends AbstractAddGoodsService {
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setUserId
(
baseRequestDTO
.
getUserId
());
bo
.
setOrderType
(
baseRequestDTO
.
getOrderType
());
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
return
addGoodsToShoppingCartBO
;
return
addGoodsToShoppingCartBO
;
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformApportionService.java
View file @
b492fd51
...
@@ -108,6 +108,8 @@ public class PlatformApportionService extends AbstractApportionService {
...
@@ -108,6 +108,8 @@ public class PlatformApportionService extends AbstractApportionService {
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setUserId
(
baseRequestDTO
.
getUserId
());
bo
.
setOrderType
(
baseRequestDTO
.
getOrderType
());
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
return
addGoodsToShoppingCartBO
;
return
addGoodsToShoppingCartBO
;
}
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformListCartGoodsService.java
View file @
b492fd51
...
@@ -122,6 +122,8 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService {
...
@@ -122,6 +122,8 @@ public class PlatformListCartGoodsService extends AbstractListCartGoodsService {
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setUserId
(
baseRequestDTO
.
getUserId
());
bo
.
setOrderType
(
baseRequestDTO
.
getOrderType
());
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
return
addGoodsToShoppingCartBO
;
return
addGoodsToShoppingCartBO
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/demo/service/impl/PlatformUpdateGoodsQtyService.java
View file @
b492fd51
...
@@ -110,6 +110,8 @@ public class PlatformUpdateGoodsQtyService extends AbstractUpdateGoodsQtyService
...
@@ -110,6 +110,8 @@ public class PlatformUpdateGoodsQtyService extends AbstractUpdateGoodsQtyService
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setPartnerId
(
baseRequestDTO
.
getPartnerId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setShopId
(
baseRequestDTO
.
getShopId
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setCouponCode
(
baseRequestDTO
.
getCouponCode
());
bo
.
setUserId
(
baseRequestDTO
.
getUserId
());
bo
.
setOrderType
(
baseRequestDTO
.
getOrderType
());
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
checkAdapter
.
adapter
(
checkBussinessRulesBO
,
addGoodsToShoppingCartBO
,
bo
);
return
addGoodsToShoppingCartBO
;
return
addGoodsToShoppingCartBO
;
...
...
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