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
db41137e
Commit
db41137e
authored
Jun 21, 2021
by
周晓航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后端校验 券互斥性
Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent
b4bc2d76
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
2 deletions
+22
-2
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
+21
-2
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
+1
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/controller/ShoppingCartController.java
View file @
db41137e
...
...
@@ -20,6 +20,7 @@ import cn.freemud.demo.controller.ShoppingCartDemoController;
import
cn.freemud.entities.dto.GetMemberInfoRequestDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.coupon.CouponAvailableRequestVo
;
import
cn.freemud.enums.CouponTypeEnum
;
import
cn.freemud.enums.OrderChannelType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.service.OpenStoreIappWxappConfigService
;
...
...
@@ -36,11 +37,10 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
ma.glasnost.orika.MapperFacade
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -49,6 +49,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
@RestController
...
...
@@ -117,6 +118,15 @@ public class ShoppingCartController {
@PostMapping
(
value
=
"/listCartGoods"
)
@LogIgnore
(
logMessage
=
"listCartGoods"
)
public
BaseResponse
listCartGoods
(
@Validated
@LogParams
@RequestBody
ShoppingCartInfoRequestVo
request
)
{
// 代金券 & 折扣券互斥校验
List
<
ShoppingCartInfoRequestVo
.
couponCode
>
couponCodes
=
request
.
getCouponCodes
();
if
(
CollectionUtils
.
isNotEmpty
(
couponCodes
)
&&
couponCodes
.
size
()
>
1
)
{
long
count
=
couponCodes
.
stream
().
filter
(
c
->
c
.
getCouponType
().
compareTo
(
CouponTypeEnum
.
TYPE_1
.
getCode
())
==
0
||
c
.
getCouponType
().
compareTo
(
CouponTypeEnum
.
TYPE_3
.
getCode
())
==
0
).
count
();
if
(
count
>
2
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION
);
}
}
ShoppingCartNewService
instanceByRequest
=
getInstanceByRequest
(
request
);
if
(
instanceByRequest
instanceof
ShoppingCartNewServiceImpl
&&
SDKCommonBaseContextWare
.
getBean
(
ShoppingCartNewServiceImpl
.
class
).
newShoppingCartGray
(
request
.
getPartnerId
(),
request
.
getShopId
())){
Map
requestMap
=
mapperFacade
.
map
(
request
,
Map
.
class
);
...
...
@@ -133,6 +143,15 @@ public class ShoppingCartController {
@PostMapping
(
value
=
"/listCartGoodsCheck"
)
@LogIgnore
(
excludeStatusCodes
=
{
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
},
logMessage
=
"listCartGoodsCheck"
)
public
BaseResponse
listCartGoodsCheck
(
@Validated
@LogParams
@RequestBody
ShoppingCartInfoRequestVo
request
)
{
// 代金券 & 折扣券互斥校验
List
<
ShoppingCartInfoRequestVo
.
couponCode
>
couponCodes
=
request
.
getCouponCodes
();
if
(
CollectionUtils
.
isNotEmpty
(
couponCodes
)
&&
couponCodes
.
size
()
>
1
)
{
long
count
=
couponCodes
.
stream
().
filter
(
c
->
c
.
getCouponType
().
compareTo
(
CouponTypeEnum
.
TYPE_1
.
getCode
())
==
0
||
c
.
getCouponType
().
compareTo
(
CouponTypeEnum
.
TYPE_3
.
getCode
())
==
0
).
count
();
if
(
count
>
2
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION
);
}
}
return
getInstanceByRequest
(
request
).
getGoodsListCheck
(
request
);
}
...
...
shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
View file @
db41137e
...
...
@@ -107,6 +107,7 @@ public enum ResponseResult {
SHOPPING_CART_USER_HAVE_NO_COUPON
(
"44039"
,
"使用的商品券已失效,请重新下单"
),
SHOPPING_CART_REPLACE_GOODS
(
"44040"
,
"原有购物车没有商品"
),
SHOPPING_CART_REPLACE_GOODS_AND_CLEAR
(
"44041"
,
"因部分商品当前门店暂未售卖,将从购物车移除"
),
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION
(
"44042"
,
"代金券和折扣券互斥"
),
/**
* 订单状态码
...
...
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