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
e0b2e4df
Commit
e0b2e4df
authored
Dec 07, 2020
by
chongfu.liang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
商品可用时间添加校验
parent
6c40a8aa
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
0 deletions
+57
-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/thirdparty/StoreItemClient.java
+11
-0
No files found.
shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
View file @
e0b2e4df
...
...
@@ -41,6 +41,11 @@ import cn.freemud.service.UserService;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.utils.*
;
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.SignUtil
;
import
com.freemud.card.sdk.service.CouponAvailableService
;
...
...
@@ -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.request.MemberAddCouponVo
;
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.Maps
;
import
com.google.gson.Gson
;
...
...
@@ -696,6 +702,13 @@ public class CouponServiceImpl implements CouponService {
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
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
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponDetailResponseDto
.
getDetails
().
get
(
0
).
getActive
().
getActiveCode
());
...
...
@@ -711,6 +724,32 @@ public class CouponServiceImpl implements CouponService {
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
(
1
);
productType
.
setValidateStatuses
(
null
);
productTypeList
.
add
(
productType
);
request
.
setProductTypeList
(
productTypeList
);
return
request
;
}
/**
* 换购券
*
...
...
@@ -777,6 +816,13 @@ public class CouponServiceImpl implements CouponService {
if
(
null
==
productsVo
||
!
Objects
.
equals
(
productsVo
.
getStatus
(),
StoreItemStatus
.
PUT_ON_SALE
.
getCode
()))
{
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
();
dto
.
setCouponCode
(
couponCode
);
dto
.
setActiveCode
(
couponActivityDetail
.
getActive
().
getActiveCode
());
...
...
shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/StoreItemClient.java
View file @
e0b2e4df
...
...
@@ -13,6 +13,9 @@
package
cn
.
freemud
.
service
.
thirdparty
;
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.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -49,4 +52,12 @@ public interface StoreItemClient {
*/
@PostMapping
(
"/Product/GetSpectionProductBySkuId"
)
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