Commit f7f2b9f7 by dingkai

Merge branch 'feature/1.9.13-mall-20200219-dingkai' into feature/1.9.13-dev-20200219-dingkai

# Conflicts:
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
#	assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
#	order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
#	order-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
#	order-application-service/src/main/java/cn/freemud/enums/OrderSourceType.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parent a89fa266
...@@ -310,6 +310,7 @@ public class ShoppingCartAdapter { ...@@ -310,6 +310,7 @@ public class ShoppingCartAdapter {
cartGoods.setAmount(newOrigOriginalPrice * cartGoods.getQty()); cartGoods.setAmount(newOrigOriginalPrice * cartGoods.getQty());
//咨询商品服务,套餐售价取originalPrice //咨询商品服务,套餐售价取originalPrice
cartGoods.setFinalPrice(isSetMealProduct ? spuProduct.getOriginalPrice() : isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice()); cartGoods.setFinalPrice(isSetMealProduct ? spuProduct.getOriginalPrice() : isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice());
cartGoods.setWeight(spuProduct.getWeight());
cartGoods.setUnit(spuProduct.getUnit()); cartGoods.setUnit(spuProduct.getUnit());
cartGoods.setWeightType(CommonsConstant.WEIGHT_PRODUCT.equals(spuProduct.getWeightType())); cartGoods.setWeightType(CommonsConstant.WEIGHT_PRODUCT.equals(spuProduct.getWeightType()));
} catch (Exception ex) { } catch (Exception ex) {
......
...@@ -2,12 +2,11 @@ package cn.freemud.adapter; ...@@ -2,12 +2,11 @@ package cn.freemud.adapter;
import cn.freemud.entities.dto.StoreDeliveryInfoDto; import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.SubtractStockVO; import cn.freemud.entities.vo.SubtractStockVO;
import cn.freemud.enums.ActivityTypeEnum; import cn.freemud.enums.*;
import cn.freemud.enums.OrderAccountType;
import cn.freemud.enums.OrderSourceType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO; import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest; import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
...@@ -130,7 +129,7 @@ public class MallOrderAdapter { ...@@ -130,7 +129,7 @@ public class MallOrderAdapter {
createOrderDto.setPayType(QueryPayType.ONLINE_PAY); createOrderDto.setPayType(QueryPayType.ONLINE_PAY);
createOrderDto.setSource(OrderSourceType.SAASMALL.getCode()); createOrderDto.setSource(OrderSourceType.SAASMALL.getCode());
createOrderDto.setSourceName(OrderSourceType.SAASMALL.getDesc()); createOrderDto.setSourceName(OrderSourceType.SAASMALL.getDesc());
createOrderDto.setOrderClientType(OrderClientType.SAASMALL); createOrderDto.setOrderClient(OrderClientType.SAASMALL);
createOrderDto.setRemark(remark); createOrderDto.setRemark(remark);
createOrderDto.setGmtExpect(null); createOrderDto.setGmtExpect(null);
BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo(); BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo();
...@@ -141,6 +140,7 @@ public class MallOrderAdapter { ...@@ -141,6 +140,7 @@ public class MallOrderAdapter {
createOrderDto.setProvince(userDeliveryInfoDto.getReceiveProvince()); createOrderDto.setProvince(userDeliveryInfoDto.getReceiveProvince());
createOrderDto.setCity(userDeliveryInfoDto.getReceiveCity()); createOrderDto.setCity(userDeliveryInfoDto.getReceiveCity());
createOrderDto.setRegion(userDeliveryInfoDto.getReceiveRegion()); createOrderDto.setRegion(userDeliveryInfoDto.getReceiveRegion());
createOrderDto.setMenuType(BusinessTypeEnum.SAAS_MALL.getName());
return createOrderDto; return createOrderDto;
} }
......
...@@ -12,65 +12,136 @@ ...@@ -12,65 +12,136 @@
*/ */
package cn.freemud.service.impl; package cn.freemud.service.impl;
import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.dto.StoreDeliveryInfoDto; import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.UserLoginInfoDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto; import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto; import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo; import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo; import cn.freemud.entities.vo.delivery.DeliveryAmountVo;
import cn.freemud.enums.BusinessTypeEnum;
import cn.freemud.enums.CouponFlag; import cn.freemud.enums.CouponFlag;
import cn.freemud.enums.OrderChannelType; import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.delivery.ThirdDeliveryServiceImpl; import cn.freemud.service.delivery.ThirdDeliveryServiceImpl;
import cn.freemud.service.thirdparty.ShoppingCartClient; import cn.freemud.service.thirdparty.ShoppingCartClient;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component @Component
public class CheckMallOrder { public class CheckMallOrder {
@Autowired @Autowired
private ShoppingCartClient shoppingCartClient; private ShoppingCartClient shoppingCartClient;
@Autowired @Autowired
private CheckOrder checkOrder; private ThirdDeliveryServiceImpl thirdDeliveryService;
// 缓存取用户数据用
@Autowired @Autowired
private UserServiceImpl userService; private AssortmentCustomerInfoManager customerInfoManager;
@Autowired @Autowired
private ThirdDeliveryServiceImpl thirdDeliveryService; private StoreCenterService storeCenterService;
/** /**
* 下单会员相关校验 * 下单会员相关校验
*/ */
public UserLoginInfoDto checkOrderByMember(CreateOrderVo createOrderVo, String trackingNo) { public AssortmentCustomerInfoVo checkOrderByMember(CreateOrderVo createOrderVo) {
// 通过sessionId查询缓存中会员id // 通过sessionId查询缓存中会员id
UserLoginInfoDto userLoginInfoDto = userService.getUserLoginInfoBySessionId(createOrderVo.getSessionId()); String sessionId = createOrderVo.getSessionId();
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
createOrderVo.setUserId(userLoginInfoDto.getMemberId()); createOrderVo.setUserId(userLoginInfoDto.getMemberId());
return userLoginInfoDto; return userLoginInfoDto;
} }
/** /**
* 查询门店信息
*/
public StoreResponse getStoreInfo(String partnerId, String shopId, String trackingNo) {
// 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, shopId,null);
return storeCenterService.getStoreInfo(storeInfoRequest, trackingNo);
}
/**
* 下单门店相关校验 * 下单门店相关校验
*/ */
public StoreResponse.BizVO checkOrderByStore(CreateOrderVo createOrderVo, String trackingNo) { public StoreResponse.BizVO checkOrderByStore(CreateOrderVo createOrderVo, String trackingNo) {
return checkOrder.checkOrderByStore(createOrderVo, trackingNo); String partnerId = createOrderVo.getPartnerId();
String shopId = createOrderVo.getShopId();
// 获取门店信息
StoreResponse storeResponse = getStoreInfo(partnerId, shopId, trackingNo);
if (storeResponse == null || storeResponse.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
}
StoreResponse.BizVO storeResponseDto = storeResponse.getBizVO();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1) {
throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS);
}
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState())) {
throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE);
}
//设置营业开始和结束时间
String businessHourStr = storeResponseDto.getBusinessHoursDay().replace("-", ",").replace("_", ",");
String[] businessHours = businessHourStr.split(",");
if (businessHours.length != 2) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
}
Date date = new Date();
String startDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[0] + ":00";
Date startDateTime = DateUtil.convert2Date(startDateTimeStr, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
String endDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[1] + ":00";
SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date endDateTime;
try {
endDateTime = hhmmss.parse(endDateTimeStr);
} catch (ParseException e) {
throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR);
}
storeResponseDto.setBusinessHoursDayStartTime(startDateTime);
storeResponseDto.setBusinessHoursDayEndTime(endDateTime);
// 校验门店是否打烊,打烊了则不让操作
if (storeResponseDto.getBusinessHoursDayStartTime() == null
|| storeResponseDto.getBusinessHoursDayEndTime() == null) {
throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS);
}
// 桌号不为空,查数据库重新设置桌号
/*if (StringUtils.isNotBlank(createOrderVo.getTableNumber())) {
createOrderVo.setTableNumber(getTableNumber(partnerId, shopId, createOrderVo.getTableNumber()));
}*/
createOrderVo.setStoreName(storeResponseDto.getStoreName());
createOrderVo.setStoreAddress(storeResponseDto.getAddress());
createOrderVo.setThirdShopId(storeResponseDto.getThirdPartCode());
return storeResponseDto;
} }
/** /**
* 下单配送相关校验 * 下单配送相关校验
*/ */
public void checkOrderByDelivery(CreateOrderVo createOrderVo, UserLoginInfoDto userLoginInfoDto, public void checkOrderByDelivery(CreateOrderVo createOrderVo, AssortmentCustomerInfoVo userLoginInfoDto,
StoreResponse.BizVO storeResponseDto,Long totalAmount, String trackingNo) { StoreResponse.BizVO storeResponseDto,Long totalAmount, String trackingNo) {
StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppid()); StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppId());
//订单金额小于起送费提示 //订单金额小于起送费提示
if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) { if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) {
throw new ServiceException(ResponseResult.STORE_DISCONTENT_DELIVERY_FEE); throw new ServiceException(ResponseResult.STORE_DISCONTENT_DELIVERY_FEE);
...@@ -90,6 +161,7 @@ public class CheckMallOrder { ...@@ -90,6 +161,7 @@ public class CheckMallOrder {
.flag(CouponFlag.NO.getCode()) .flag(CouponFlag.NO.getCode())
.useCustomerScore(createOrderVo.getUseCustomerScore()) .useCustomerScore(createOrderVo.getUseCustomerScore())
.channelType(OrderChannelType.SAASMALL.getCode()) .channelType(OrderChannelType.SAASMALL.getCode())
.menuType(BusinessTypeEnum.SAAS_MALL.getName())
.build(); .build();
// 通过购物车获取优惠信息 // 通过购物车获取优惠信息
GetShoppingCartGoodsApportionDto requestDto = new GetShoppingCartGoodsApportionDto(); GetShoppingCartGoodsApportionDto requestDto = new GetShoppingCartGoodsApportionDto();
......
...@@ -33,6 +33,7 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome ...@@ -33,6 +33,7 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartMallBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartMallBaseServiceImpl;
...@@ -110,7 +111,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -110,7 +111,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
//商品skuId或者商品券的商品id //商品skuId或者商品券的商品id
String spuId2 = spuId; String spuId2 = spuId;
// 获取商品详细信息 // 获取商品详细信息
List<ProductBeanDTO> productBeanListSpuClass = assortmentSdkService.getProductsInfoSdk(partnerId, storeId, Collections.singletonList(spuId2), this.shoppingCartBaseService); List<ProductBeanDTO> productBeanListSpuClass = assortmentSdkService.getProductsInfoSdk(partnerId, storeId, Collections.singletonList(spuId2), BusinessTypeEnum.SAAS_MALL.getCode(), this.shoppingCartBaseService);
//查询多个商品库存信息 //查询多个商品库存信息
queryManyGoodsStocks(addShoppingCartGoodsRequestVo, productIds, productBeanListSpuClass, skuId); queryManyGoodsStocks(addShoppingCartGoodsRequestVo, productIds, productBeanListSpuClass, skuId);
...@@ -198,7 +199,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -198,7 +199,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
List<CartGoods> cartGoodsList = assortmentSdkService.updateGoodsQtyBySdk(partnerId, userId, storeId, cartGoodsUid, qty, "", shoppingCartBaseService); List<CartGoods> cartGoodsList = assortmentSdkService.updateGoodsQtyBySdk(partnerId, userId, storeId, cartGoodsUid, qty, "", shoppingCartBaseService);
// check购物车中所有商品 // check购物车中所有商品
CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, updateShoppingCartGoodsQtyRequestVo.getOrderType(), "", shoppingCartBaseService); CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, updateShoppingCartGoodsQtyRequestVo.getOrderType(), "", BusinessTypeEnum.SAAS_MALL.getName() ,shoppingCartBaseService);
if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) { if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) {
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg()); shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg());
} }
...@@ -231,7 +232,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -231,7 +232,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
//查询商品信息 //查询商品信息
List<String> pids = new ArrayList<>(); List<String> pids = new ArrayList<>();
pids.add(cartGoods.getGoodsId()); pids.add(cartGoods.getGoodsId());
Map<String, GetProductsVo> products = itemService.getProducts(pids, partnerId, storeId); Map<String, GetProductsVo> products = itemService.getProducts(pids, partnerId, storeId,BusinessTypeEnum.SAAS_MALL.getCode());
GetProductsVo getProductsVo = products.get(cartGoods.getGoodsId()); GetProductsVo getProductsVo = products.get(cartGoods.getGoodsId());
// 商品没有库存限制 // 商品没有库存限制
...@@ -239,7 +240,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -239,7 +240,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
return; return;
} }
GetProductStockRequestDto requestDto = new GetProductStockRequestDto(); GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel("saas"); requestDto.setChannel(BusinessTypeEnum.SAAS_MALL.getCode());
requestDto.setPartnerId(partnerId); requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId); requestDto.setStoreId(storeId);
requestDto.setProductIds(Collections.singletonList(Long.parseLong(cartGoods.getGoodsId()))); requestDto.setProductIds(Collections.singletonList(Long.parseLong(cartGoods.getGoodsId())));
...@@ -276,7 +277,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -276,7 +277,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
cartGoodsList = new ArrayList<>(); cartGoodsList = new ArrayList<>();
} }
// check购物车中所有商品 // check购物车中所有商品
CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", shoppingCartBaseService); CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", BusinessTypeEnum.SAAS_MALL.getName() ,shoppingCartBaseService);
if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) { if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) {
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg()); shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg());
} }
...@@ -365,7 +366,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -365,7 +366,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
throw new ServiceException(ResponseResult.SHOPPING_CART_GETINFO_INVAILD); throw new ServiceException(ResponseResult.SHOPPING_CART_GETINFO_INVAILD);
} }
// check购物车中所有商品(商品是否存在,价格变动,券是否支持当前点餐方式) // check购物车中所有商品(商品是否存在,价格变动,券是否支持当前点餐方式)
CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", shoppingCartBaseService); CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", BusinessTypeEnum.SAAS_MALL.getName() ,shoppingCartBaseService);
com.freemud.sdk.api.assortment.shoppingcart.domain.ShoppingCartGoodsResponseVo cartGoodsResponseVo = checkCartRequest.getShoppingCartGoodsResponseVo(); com.freemud.sdk.api.assortment.shoppingcart.domain.ShoppingCartGoodsResponseVo cartGoodsResponseVo = checkCartRequest.getShoppingCartGoodsResponseVo();
//商品不再售卖状态或价格变动,直接返回报错 //商品不再售卖状态或价格变动,直接返回报错
if (cartGoodsResponseVo != null) { if (cartGoodsResponseVo != null) {
...@@ -385,7 +386,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -385,7 +386,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService); assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService);
if (CollectionUtils.isNotEmpty(sendGoodsList)) { if (CollectionUtils.isNotEmpty(sendGoodsList)) {
processSendGoods(sendGoodsList, partnerId, storeId, shoppingCartBaseService); processSendGoods(sendGoodsList, partnerId, storeId,BusinessTypeEnum.SAAS_MALL.getName(), shoppingCartBaseService);
} else { } else {
//组装加价购商品 //组装加价购商品
if (null != premiumExchangeActivity && CollectionUtils.isNotEmpty(premiumExchangeActivity.getProducts())) { if (null != premiumExchangeActivity && CollectionUtils.isNotEmpty(premiumExchangeActivity.getProducts())) {
...@@ -412,7 +413,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -412,7 +413,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
@Override @Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse( public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(
String partnerId, String storeId, String userId, String appId, Integer orderType, List<CartGoods> cartGoodsList, String partnerId, String storeId, String userId, String appId, Integer orderType, List<CartGoods> cartGoodsList,
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList) { List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType) {
return null; return null;
} }
...@@ -424,10 +425,10 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -424,10 +425,10 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
* @param partnerId * @param partnerId
* @param storeId * @param storeId
*/ */
private void processSendGoods(List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, String partnerId, String storeId, ShoppingCartBaseService shoppingCartService) { private void processSendGoods(List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList, String partnerId, String storeId,String menuType, ShoppingCartBaseService shoppingCartService) {
List<String> goodsIds = sendGoodsList.parallelStream().map(ShoppingCartInfoRequestVo.SendGoods::getGoodsId).collect(Collectors.toList()); List<String> goodsIds = sendGoodsList.parallelStream().map(ShoppingCartInfoRequestVo.SendGoods::getGoodsId).collect(Collectors.toList());
List<ProductBeanDTO> productBeanList = List<ProductBeanDTO> productBeanList =
assortmentSdkService.getProductsInfoSdk(partnerId, storeId, goodsIds, shoppingCartService); assortmentSdkService.getProductsInfoSdk(partnerId, storeId, goodsIds,menuType, shoppingCartService);
// 将productBeanList转换为Map,key为pid,即goodsId // 将productBeanList转换为Map,key为pid,即goodsId
Map<String, ProductBeanDTO> productBeanMap = productBeanList.parallelStream() Map<String, ProductBeanDTO> productBeanMap = productBeanList.parallelStream()
.collect(Collectors.toMap(ProductBeanDTO::getPid, Function.identity(), (k1, k2) -> k1)); .collect(Collectors.toMap(ProductBeanDTO::getPid, Function.identity(), (k1, k2) -> k1));
...@@ -527,7 +528,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -527,7 +528,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
//当商品全部添加完毕,校验购物车商品(是否合法,上下架,点餐方式,是否在当前菜单中...),并移除非法商品 //当商品全部添加完毕,校验购物车商品(是否合法,上下架,点餐方式,是否在当前菜单中...),并移除非法商品
CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(oldAllCartGoodsList, addShoppingCartGoodsRequestVo.getPartnerId(), CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(oldAllCartGoodsList, addShoppingCartGoodsRequestVo.getPartnerId(),
addShoppingCartGoodsRequestVo.getShopId(), shoppingCartGoodsResponseVo, addShoppingCartGoodsRequestVo.getOrderType(), "", shoppingCartBaseService); addShoppingCartGoodsRequestVo.getShopId(), shoppingCartGoodsResponseVo, addShoppingCartGoodsRequestVo.getOrderType(), "",BusinessTypeEnum.SAAS_MALL.getName(), shoppingCartBaseService);
if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) { if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) {
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg()); shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg());
} }
...@@ -590,7 +591,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -590,7 +591,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
private void queryManyGoodsStocks(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<Long> productIds private void queryManyGoodsStocks(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<Long> productIds
, List<ProductBeanDTO> productBeanListSpuClass, String skuId) { , List<ProductBeanDTO> productBeanListSpuClass, String skuId) {
GetProductStockRequestDto requestDto = new GetProductStockRequestDto(); GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel("saas"); requestDto.setChannel(BusinessTypeEnum.SAAS_MALL.getCode());
requestDto.setPartnerId(addShoppingCartGoodsRequestVo.getPartnerId()); requestDto.setPartnerId(addShoppingCartGoodsRequestVo.getPartnerId());
requestDto.setStoreId(addShoppingCartGoodsRequestVo.getShopId()); requestDto.setStoreId(addShoppingCartGoodsRequestVo.getShopId());
requestDto.setProductIds(productIds); requestDto.setProductIds(productIds);
......
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