Commit f9aafcd3 by chongfu.liang

Merge branch 'feature/20201202-商品券换购券商品添加可售时间校验' into qa

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/CouponServiceImpl.java
parents ac8e53c5 e0b2e4df
......@@ -47,6 +47,11 @@ import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.couponcenter.offline.domain.CodeInfoVO;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse;
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;
......@@ -60,6 +65,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;
......@@ -667,6 +673,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());
......@@ -683,6 +696,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;
}
/**
* 换购券
* 商品券支持多商品
......@@ -752,6 +791,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());
......
......@@ -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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment