Commit 8e2eda09 by 姜海波

menuType修改

parent cd5b7f6a
......@@ -50,14 +50,14 @@ public class StoreItemAdapter {
return getProductDto;
}
public GetProductInfoDto convert2ProductInfoDto(String partnerId, String shopId, Integer productInfoType, List<String> productIds) {
public GetProductInfoDto convert2ProductInfoDto(String partnerId, String shopId, Integer productInfoType, List<String> productIds, String menuType) {
GetProductInfoDto getProductInfoDto = new GetProductInfoDto();
getProductInfoDto.setPartnerId(partnerId);
getProductInfoDto.setShopId(shopId);
getProductInfoDto.setProductInfoType(productInfoType);
getProductInfoDto.setProductIds(productIds);
// 商品服务增加channel
getProductInfoDto.setChannel(OrderSourceType.SAAS.getCode());
getProductInfoDto.setChannel(menuType);
return getProductInfoDto;
}
......
......@@ -14,4 +14,5 @@ public class CheckSpqInfoRequestDto {
* 券code
*/
private String couponCode;
private String menuType;
}
......@@ -28,6 +28,6 @@ public interface ItemService {
* @param storeId
* @return key = skuid
*/
Map<String, GetProductsVo> getProducts(List<String> pids, String partnerId, String storeId);
Map<String, GetProductsVo> getProducts(List<String> pids, String partnerId, String storeId ,String menuType);
}
......@@ -27,5 +27,5 @@ public interface ProductService {
* @param cartGoodsList
* @return
*/
boolean hasRequiredProducts(String partnerId, String storeId, List<CartGoods> cartGoodsList);
boolean hasRequiredProducts(String partnerId, String storeId, List<CartGoods> cartGoodsList,String menuType);
}
......@@ -95,7 +95,7 @@ public interface ShoppingCartNewService {
Integer orderType,
List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons,
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList);
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType);
List<CartGoods> updateCartGoodsLegal(CartGoods cartGoods, String userId, ShoppingCartGoodsBaseResponseVo shoppingCartGoodsResponseVo, AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<CartGoods> oldAllCartGoodsList);
......@@ -109,9 +109,9 @@ public interface ShoppingCartNewService {
* @param productIds
* @return
*/
default String validCoupon(String partnerId, String storeId, String spuId, List<Long> productIds) {
default String validCoupon(String partnerId, String storeId, String spuId, List<Long> productIds,String menuType) {
String spuId2;
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(partnerId, storeId, spuId.substring(CommonsConstant.COUPON_PREFIX.length()));
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(partnerId, storeId, spuId.substring(CommonsConstant.COUPON_PREFIX.length()),menuType);
CouponService couponService = SDKCommonBaseContextWare.getBean(CouponService.class);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto);
if (checkSpqInfoResponseDto == null) {
......
......@@ -15,6 +15,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.IPromotionService;
import cn.freemud.service.ItemService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
......@@ -206,7 +207,7 @@ public class AdditionalPromotionService implements IPromotionService {
Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods> sendGoodsMap = sendActivity1.getSendGoods().stream().collect(Collectors.toMap(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods::getGoodsId, Function.identity(), (k1, k2) -> k1));
//添加商品行
List<String> productIds = premiumExchangeActivity.getProducts().parallelStream().map(p -> StringUtils.isEmpty(p.getSkuId()) ? p.getSpuId() : p.getSkuId()).collect(Collectors.toList());
Map<String, GetProductsVo> getProductsVoMap = itemService.getProducts(productIds, shoppingCartInfoRequestVo.getPartnerId(), shoppingCartInfoRequestVo.getShopId());
Map<String, GetProductsVo> getProductsVoMap = itemService.getProducts(productIds, shoppingCartInfoRequestVo.getPartnerId(), shoppingCartInfoRequestVo.getShopId(), BusinessTypeEnum.getByType(shoppingCartInfoRequestVo.getMenuType()).getCode());
// 获取计算返回的价格
Long originalTotalAmount = shoppingCartGoodsResponseVo.getOriginalTotalAmount();
Long totalAmount = shoppingCartGoodsResponseVo.getTotalAmount();
......
......@@ -588,7 +588,7 @@ public class CouponServiceImpl implements CouponService {
String skuId = couponDetailResponseDto.getDetails().get(0).getActiveProduct().get(0).getProductIdPartner();
skuIds.add(String.valueOf(skuId));
//TODO 通过skuid查询spuid
Map<String, GetProductsVo> productsVoMap = itemService.getProducts(skuIds, partnerId, storeId);
Map<String, GetProductsVo> productsVoMap = itemService.getProducts(skuIds, partnerId, storeId , requestDto.getMenuType());
GetProductsVo productsVo = productsVoMap.get(skuId);
if (null == productsVo || !Objects.equals(productsVo.getStatus(), StoreItemStatus.PUT_ON_SALE.getCode())) {
return null;
......
......@@ -63,7 +63,7 @@ public class ItemServiceImpl implements ItemService {
public BaseResponse<Map<String, ProductBean>> getProducts(String partnerId, String shopId, List<String> productIds, boolean reflash) {
public BaseResponse<Map<String, ProductBean>> getProducts(String partnerId, String shopId, List<String> productIds, boolean reflash ,String menuType) {
Map<String, ProductBean> newProductBeanMap = Maps.newTreeMap();
if (CollectionUtils.isEmpty(productIds)) {
return ResponseUtil.success(newProductBeanMap);
......@@ -75,7 +75,7 @@ public class ItemServiceImpl implements ItemService {
return ResponseUtil.success(productBeanMap);
}
GetProductValidateDto getProductValidateDto = storeItemAdapter.convert2ProductValidateDto(partnerId, shopId, productIds);
GetProductInfoDto getProductInfoDto = storeItemAdapter.convert2ProductInfoDto(partnerId, shopId, ProductInfoType.ALL.getCode(), productIds);
GetProductInfoDto getProductInfoDto = storeItemAdapter.convert2ProductInfoDto(partnerId, shopId, ProductInfoType.ALL.getCode(), productIds,menuType);
ProductInfosDto productInfosDto = storeItemClient.listProductInfos(getProductInfoDto);
if (!RESPONSE_SUCCESS_CODE.equals(productInfosDto.getErrcode()) || CollectionUtils.isEmpty(productInfosDto.getData().getProducts())) {
log.error("getShoppingCartInfo checkProductValidate is error , getProductValidateDto:{} , productCheckVaildDto:{}",
......@@ -141,14 +141,14 @@ public class ItemServiceImpl implements ItemService {
}
@Override
public Map<String, GetProductsVo> getProducts(List<String> pids, String partnerId, String storeId) {
public Map<String, GetProductsVo> getProducts(List<String> pids, String partnerId, String storeId, String menuType) {
Map<String, GetProductsVo> resultMap = new HashMap<>();
if (CollectionUtils.isEmpty(pids)) {
return resultMap;
}
List<String> skuIds = Lists.newArrayList();
//查询商品详情
GetProductInfoDto getProductInfoDto = storeItemAdapter.convert2ProductInfoDto(partnerId, storeId, ProductInfoType.ALL.getCode(), pids);
GetProductInfoDto getProductInfoDto = storeItemAdapter.convert2ProductInfoDto(partnerId, storeId, ProductInfoType.ALL.getCode(), pids,menuType);
ProductInfosDto productInfosDto = storeItemClient.listProductInfos(getProductInfoDto);
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(productInfosDto.getErrcode())
&& productInfosDto.getData() != null
......
......@@ -33,8 +33,8 @@ public class ProductServiceImpl implements ProductService {
private ProductClient productClient;
@Override
public boolean hasRequiredProducts(String partnerId, String storeId, List<CartGoods> cartGoodsList) {
RequiredProductRequest request = RequiredProductRequest.builder().channel("saas").partnerId(partnerId).shopId(storeId).build();
public boolean hasRequiredProducts(String partnerId, String storeId, List<CartGoods> cartGoodsList,String menuType) {
RequiredProductRequest request = RequiredProductRequest.builder().channel(menuType).partnerId(partnerId).shopId(storeId).build();
ProductBaseResponse<List<String>> requiredProductList = productClient.getRequiredProductList(request);
if (null != requiredProductList && ResponseCodeConstant.RESPONSE_SUCCESS.equals(requiredProductList.getErrcode()) &&
!CollectionUtils.isEmpty(requiredProductList.getData())) {
......
......@@ -99,7 +99,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
productIds.add(Long.parseLong(goodsId));
} else {
//校验券是否有效
spuId2 = validCoupon(partnerId, storeId, spuId, productIds);
spuId2 = validCoupon(partnerId, storeId, spuId, productIds,BusinessTypeEnum.getByType(requestVo.getMenuType()).getCode());
}
// 获取商品信息
List<ProductBeanDTO> productBeanListSpuClass =
......@@ -491,7 +491,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult
getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType,
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList) {
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType) {
return null;
}
......
......@@ -149,7 +149,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
request.setEncryptCode(CommonsConstant.COUPON_PREFIX + result.getCode());
// 根据skuId获取详情
Map<String, GetProductsVo> products = itemService.getProducts(Arrays.asList(request.getSkuId()), request.getPartnerId(), request.getShopId());
Map<String, GetProductsVo> products = itemService.getProducts(Arrays.asList(request.getSkuId()), request.getPartnerId(), request.getShopId(),BusinessTypeEnum.getByType(request.getMenuType()).getCode());
if (products == null || products.size() == 0) {
return ResponseUtil.error(ResponseResult.WEICHAT_PRODUCT_NOEXIST);
}
......@@ -222,7 +222,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
productIds.add(Long.parseLong(goodsId));
} else {
//校验券是否有效
spuId2 = validCoupon(partnerId, storeId, spuId, productIds);
spuId2 = validCoupon(partnerId, storeId, spuId, productIds,BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
}
// 获取商品详细信息
List<ProductBeanDTO> productBeanListSpuClass = assortmentSdkService.getProductsInfoSdk(partnerId, storeId
......@@ -255,7 +255,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
// 获取优惠信息
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, addShoppingCartGoodsRequestVo.getOrderType(), allCartGoodsList);
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, addShoppingCartGoodsRequestVo.getOrderType(), allCartGoodsList,BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
// 当商品数量被设为0时
if (Objects.equals(cartGoods.getQty(), 0)) {
assortmentSdkService.updateGoodsQtyBySdk(partnerId, userId, storeId, cartGoods.getCartGoodsUid(), 0, "", shoppingCartBaseService);
......@@ -337,7 +337,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, updateShoppingCartGoodsQtyRequestVo.getSessionId(), "", shoppingCartBaseService);
// 获取优惠信息
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, updateShoppingCartGoodsQtyRequestVo.getOrderType(), cartGoodsList);
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, updateShoppingCartGoodsQtyRequestVo.getOrderType(), cartGoodsList,BusinessTypeEnum.getByType(updateShoppingCartGoodsQtyRequestVo.getMenuType()).getCode());
if (calculationDiscountResult == null) {
shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
// return shoppingCartGoodsResponseVo;
......@@ -371,7 +371,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
//查询商品信息
List<String> pids = new ArrayList<>();
pids.add(cartGoods.getGoodsId());
Map<String, GetProductsVo> products = itemService.getProducts(pids, partnerId, storeId);
Map<String, GetProductsVo> products = itemService.getProducts(pids, partnerId, storeId,BusinessTypeEnum.getByType(updateShoppingCartGoodsQtyRequestVo.getMenuType()).getCode());
GetProductsVo getProductsVo = products.get(cartGoods.getGoodsId());
// 商品没有库存限制
......@@ -379,7 +379,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return;
}
GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel("saas");
requestDto.setChannel(BusinessTypeEnum.getByType(updateShoppingCartGoodsQtyRequestVo.getMenuType()).getCode());
requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId);
requestDto.setProductIds(Collections.singletonList(Long.parseLong(cartGoods.getGoodsId())));
......@@ -443,7 +443,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
processSendGoods(sendGoodsList, partnerId, storeId);
}*/
// 获取优惠信息
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType(), cartGoodsList, coupons, null);
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType(), cartGoodsList, coupons, null,BusinessTypeEnum.getByType(shoppingCartInfoRequestVo.getMenuType()).getCode());
if (calculationDiscountResult == null) {
shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
// return shoppingCartGoodsResponseVo;
......@@ -555,7 +555,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* 1. 调用商品服务拿到该门店是否有必选商品
* 2. 如果有,则和购物车的商品对比
*/
if (productService.hasRequiredProducts(partnerId, storeId, cartGoodsList)) {
if (productService.hasRequiredProducts(partnerId, storeId, cartGoodsList,BusinessTypeEnum.getByType(shoppingCartInfoRequestVo.getMenuType()).getCode())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_REQUIRED_PRODUCT_NOT_EXIST);
}
......@@ -603,7 +603,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
}
// 获取优惠信息
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType(), cartGoodsList, coupons, sendGoodsList);
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult = this.getActivityCalculationDiscountResponse(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType(), cartGoodsList, coupons, sendGoodsList,BusinessTypeEnum.getByType(shoppingCartInfoRequestVo.getMenuType()).getCode());
ActivityQueryDto activityQueryDto = activityAdapter.getActivityQueryDto(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType());
......@@ -683,8 +683,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* @return
*/
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(
String partnerId, String storeId, String userId, String wxAppid, Integer orderType, List<CartGoods> cartGoodsList) {
return getActivityCalculationDiscountResponse(partnerId, storeId, userId, wxAppid, orderType, cartGoodsList, new ArrayList<>(), new ArrayList<>());
String partnerId, String storeId, String userId, String wxAppid, Integer orderType, List<CartGoods> cartGoodsList,String menuType) {
return getActivityCalculationDiscountResponse(partnerId, storeId, userId, wxAppid, orderType, cartGoodsList, new ArrayList<>(), new ArrayList<>(),menuType);
}
/**
......@@ -699,7 +699,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(
String partnerId, String storeId, String userId, String appId, Integer orderType, List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons,
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList) {
List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType) {
// 当购物车中只有商品券并且未使用折扣券时,不调用接口计算
// if (cartGoodsList.size() == 1
// && coupons.size() == 0) {
......@@ -723,7 +723,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
else {
// 商品券ID换取商品
String spqId = cartGoods.getCartGoodsUid().substring(CommonsConstant.COUPON_PREFIX.length());
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(partnerId, storeId, spqId);
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(partnerId, storeId, spqId,menuType);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto);
// 商品券不存在时,将商品券从购物车移除
if (checkSpqInfoResponseDto == null) {
......@@ -1129,7 +1129,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
private void queryManyGoodsStocks(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<Long> productIds
, List<ProductBeanDTO> productBeanListSpuClass, String skuId, Integer qty) {
GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel("saas");
requestDto.setChannel(BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
requestDto.setPartnerId(addShoppingCartGoodsRequestVo.getPartnerId());
requestDto.setStoreId(addShoppingCartGoodsRequestVo.getShopId());
requestDto.setProductIds(productIds);
......
......@@ -53,7 +53,7 @@ public class ItemServiceTest {
@Test
public void getProducts() {
Map<String, GetProductsVo> maps = itemService.getProducts(Arrays.asList("1", "2"), "1864", "1011");
Map<String, GetProductsVo> maps = itemService.getProducts(Arrays.asList("1", "2"), "1864", "1011","saas");
assertFalse(maps == null || maps.isEmpty());
}
}
......@@ -71,7 +71,7 @@ public class StoreItemServiceTest {
"125115354620910102",
"125117293812275722",
"125117293812275726",
"125117293812275730"), "1864", "1001");
"125117293812275730"), "1864", "1001","saas");
System.out.println(getProductsVoMap);
}
......
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