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
ccf08c99
Commit
ccf08c99
authored
Dec 14, 2020
by
chongfu.liang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20201202-商品券换购券商品添加可售时间校验'
parents
b52a6964
c25f841e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
70 additions
and
0 deletions
+70
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
+46
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
+13
-0
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/StoreItemClient.java
+11
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
ccf08c99
...
@@ -41,6 +41,11 @@ import cn.freemud.service.UserService;
...
@@ -41,6 +41,11 @@ import cn.freemud.service.UserService;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.utils.*
;
import
cn.freemud.utils.*
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.productcenter.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductRequest
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductType
;
import
com.freemud.application.sdk.api.productcenter.response.ProductResponseDTO
;
import
com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse
;
import
com.freemud.card.sdk.comm.Finals
;
import
com.freemud.card.sdk.comm.Finals
;
import
com.freemud.card.sdk.comm.SignUtil
;
import
com.freemud.card.sdk.comm.SignUtil
;
import
com.freemud.card.sdk.service.CouponAvailableService
;
import
com.freemud.card.sdk.service.CouponAvailableService
;
...
@@ -54,6 +59,7 @@ import com.freemud.card.sdk.vo.comm.GetCouponVo;
...
@@ -54,6 +59,7 @@ import com.freemud.card.sdk.vo.comm.GetCouponVo;
import
com.freemud.card.sdk.vo.coupon.CreateCouponVo
;
import
com.freemud.card.sdk.vo.coupon.CreateCouponVo
;
import
com.freemud.card.sdk.vo.coupon.request.MemberAddCouponVo
;
import
com.freemud.card.sdk.vo.coupon.request.MemberAddCouponVo
;
import
com.freemud.card.sdk.vo.coupon.response.MemberBaseRespVo
;
import
com.freemud.card.sdk.vo.coupon.response.MemberBaseRespVo
;
import
com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
...
@@ -696,6 +702,13 @@ public class CouponServiceImpl implements CouponService {
...
@@ -696,6 +702,13 @@ public class CouponServiceImpl implements CouponService {
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
return
null
;
return
null
;
}
}
// 校验商品可用时间
ValidateShopProductRequest
request
=
getValidateShopProductRequest
(
productsVo
,
requestDto
);
ProductResponseDTO
<
ValiadShopProductResponse
>
valiadProductResponse
=
storeItemClient
.
validateShopProduct
(
request
);
if
(
null
==
valiadProductResponse
||
!
Objects
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
valiadProductResponse
.
getErrcode
())
||
valiadProductResponse
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
valiadProductResponse
.
getData
().
getSuccessList
()))
{
return
null
;
}
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveCode
());
dto
.
setActiveCode
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveCode
());
...
@@ -711,6 +724,32 @@ public class CouponServiceImpl implements CouponService {
...
@@ -711,6 +724,32 @@ public class CouponServiceImpl implements CouponService {
return
dto
;
return
dto
;
}
}
private
ValidateShopProductRequest
getValidateShopProductRequest
(
GetProductsVo
product
,
CheckSpqInfoRequestDto
requestDto
)
{
ValidateShopProductRequest
request
=
new
ValidateShopProductRequest
();
request
.
setChannel
(
requestDto
.
getMenuType
());
request
.
setPartnerId
(
requestDto
.
getPartnerId
());
request
.
setStoreId
(
requestDto
.
getStoreId
());
List
<
ValidateShopProductType
>
productTypeList
=
new
ArrayList
<>();
ValidateShopProductType
productType
=
new
ValidateShopProductType
();
productType
.
setAttributeList
(
null
);
productType
.
setComboProductTypeList
(
null
);
productType
.
setMemberDiscount
(
null
);
productType
.
setPrice
(
product
.
getFinalPrice
().
intValue
());
productType
.
setProductGroupTypeList
(
null
);
productType
.
setSkuId
(
product
.
getSkuId
());
productType
.
setSpuId
(
product
.
getSpuId
());
productType
.
setUuid
(
UUID
.
randomUUID
().
toString
());
productType
.
setValidateAttribute
(
0
);
productType
.
setValidatePrice
(
0
);
productType
.
setValidateStatuses
(
null
);
productTypeList
.
add
(
productType
);
request
.
setProductTypeList
(
productTypeList
);
return
request
;
}
/**
/**
* 换购券
* 换购券
*
*
...
@@ -777,6 +816,13 @@ public class CouponServiceImpl implements CouponService {
...
@@ -777,6 +816,13 @@ public class CouponServiceImpl implements CouponService {
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
return
null
;
return
null
;
}
}
// 校验商品可用时间
ValidateShopProductRequest
request
=
getValidateShopProductRequest
(
productsVo
,
requestDto
);
ProductResponseDTO
<
ValiadShopProductResponse
>
valiadProductResponse
=
storeItemClient
.
validateShopProduct
(
request
);
if
(
null
==
valiadProductResponse
||
!
Objects
.
equals
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE
,
valiadProductResponse
.
getErrcode
())
||
valiadProductResponse
.
getData
()
==
null
||
CollectionUtils
.
isEmpty
(
valiadProductResponse
.
getData
().
getSuccessList
()))
{
return
null
;
}
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
CheckSpqInfoResponseDto
dto
=
new
CheckSpqInfoResponseDto
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponActivityDetail
.
getActive
().
getActiveCode
());
dto
.
setActiveCode
(
couponActivityDetail
.
getActive
().
getActiveCode
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
View file @
ccf08c99
...
@@ -1486,6 +1486,19 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
...
@@ -1486,6 +1486,19 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
cartGoods
.
setPic
(
productBeanListSpuClass
.
get
(
0
).
getPicture
());
cartGoods
.
setPic
(
productBeanListSpuClass
.
get
(
0
).
getPicture
());
cartGoods
.
setWeight
(
productBeanListSpuClass
.
get
(
0
).
getWeight
());
cartGoods
.
setWeight
(
productBeanListSpuClass
.
get
(
0
).
getWeight
());
cartGoods
.
setUnit
(
productBeanListSpuClass
.
get
(
0
).
getUnit
());
cartGoods
.
setUnit
(
productBeanListSpuClass
.
get
(
0
).
getUnit
());
boolean
stockLimit
=
false
;
if
(
productBeanListSpuClass
.
get
(
0
).
getType
()
==
ProductType
.
NOSPEC
.
getCode
()
&&
productBeanListSpuClass
.
get
(
0
).
getStockLimit
()
==
1
)
{
stockLimit
=
true
;
}
else
{
for
(
ProductBeanDTO
.
SkuProductBean
skuProductBean
:
productBeanListSpuClass
.
get
(
0
).
getSkuList
())
{
if
(
spuId2
.
equals
(
skuProductBean
.
getSkuId
())
&&
skuProductBean
.
getStockLimit
()
==
1
)
{
stockLimit
=
true
;
break
;
}
}
}
cartGoods
.
setStockLimit
(
stockLimit
);
List
<
String
>
goodsIds
=
allCartGoodsList
.
parallelStream
().
map
(
CartGoods:
:
getGoodsId
).
collect
(
Collectors
.
toList
());
List
<
String
>
goodsIds
=
allCartGoodsList
.
parallelStream
().
map
(
CartGoods:
:
getGoodsId
).
collect
(
Collectors
.
toList
());
boolean
hasSpecialGoods
=
hasSpecialGoods
(
addShoppingCartGoodsRequestVo
.
getPartnerId
(),
addShoppingCartGoodsRequestVo
.
getShopId
(),
userId
,
addShoppingCartGoodsRequestVo
.
getAppId
(),
goodsIds
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
boolean
hasSpecialGoods
=
hasSpecialGoods
(
addShoppingCartGoodsRequestVo
.
getPartnerId
(),
addShoppingCartGoodsRequestVo
.
getShopId
(),
userId
,
addShoppingCartGoodsRequestVo
.
getAppId
(),
goodsIds
,
addShoppingCartGoodsRequestVo
.
getOrderType
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/StoreItemClient.java
View file @
ccf08c99
...
@@ -13,6 +13,9 @@
...
@@ -13,6 +13,9 @@
package
cn
.
freemud
.
service
.
thirdparty
;
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.*
;
import
com.freemud.application.sdk.api.productcenter.request.product.valid.ValidateShopProductRequest
;
import
com.freemud.application.sdk.api.productcenter.response.ProductResponseDTO
;
import
com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
@@ -49,4 +52,12 @@ public interface StoreItemClient {
...
@@ -49,4 +52,12 @@ public interface StoreItemClient {
*/
*/
@PostMapping
(
"/Product/GetSpectionProductBySkuId"
)
@PostMapping
(
"/Product/GetSpectionProductBySkuId"
)
ProductListDto
getSpuIdsBySkuIds
(
@RequestBody
GetSpuIdsBySkuIdsDto
requestDto
);
ProductListDto
getSpuIdsBySkuIds
(
@RequestBody
GetSpuIdsBySkuIdsDto
requestDto
);
/**
* 校验商品可用性
*/
@PostMapping
(
"Shop/ValidateShopProduct"
)
ProductResponseDTO
<
ValiadShopProductResponse
>
validateShopProduct
(
@RequestBody
ValidateShopProductRequest
request
);
}
}
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