Commit f1d83636 by yu.sun

Merge branch 'feature/20200929_麦咖啡再来一单'

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
parents 283076d3 5fed4b60
...@@ -25,7 +25,6 @@ import com.freemud.application.sdk.api.productcenter.request.product.valid.Valid ...@@ -25,7 +25,6 @@ import com.freemud.application.sdk.api.productcenter.request.product.valid.Valid
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse; import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse;
import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse; import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse;
import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult; import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult;
import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.productcenter.service.ProductService; import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest; import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.response.vo.GetOrgTreeListResponse; import com.freemud.application.sdk.api.storecenter.response.vo.GetOrgTreeListResponse;
...@@ -344,32 +343,32 @@ public interface ShoppingCartBaseService { ...@@ -344,32 +343,32 @@ public interface ShoppingCartBaseService {
* @param checkCartRequest * @param checkCartRequest
* @param cartGoodsStates * @param cartGoodsStates
*/ */
default void getProductInfoAndVerifyNew(CheckCartRequest checkCartRequest, CartGoodsStates cartGoodsStates) { // default void getProductInfoAndVerifyNew(CheckCartRequest checkCartRequest, CartGoodsStates cartGoodsStates) {
if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList())) { // if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList())) {
return; // return;
} // }
// 获取购物车中所有的商品详情 // // 获取购物车中所有的商品详情
// 包含:1、普通商品 2、套餐内的固定商品和可选商品 // // 包含:1、普通商品 2、套餐内的固定商品和可选商品
ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class); // ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
GetProductInfoRequest getSpuProductInfoRequest = shoppingCartAdapter.convertGetProductInfoRequest(checkCartRequest); // GetProductInfoRequest getSpuProductInfoRequest = shoppingCartAdapter.convertGetProductInfoRequest(checkCartRequest);
getSpuProductInfoRequest.setMenuType(checkCartRequest.getMenuType()); // getSpuProductInfoRequest.setMenuType(checkCartRequest.getMenuType());
BaseResponse<List<ProductBeanDTO>> productInfo = getProductsInfo(getSpuProductInfoRequest); // BaseResponse<List<ProductBeanDTO>> productInfo = getProductsInfo(getSpuProductInfoRequest);
if ((productInfo == null) || (!CartResponseConstant.SUCCESS.getCode().equals(productInfo.getCode()))) { // if ((productInfo == null) || (!CartResponseConstant.SUCCESS.getCode().equals(productInfo.getCode()))) {
return; // return;
} // }
//更新购物车详细信息 // //更新购物车详细信息
updateCartGoodsListInfoNew(checkCartRequest.getCartGoodsList(), productInfo.getResult(), cartGoodsStates, checkCartRequest.getPartnerId(), checkCartRequest.getStoreId(), checkCartRequest.getTableNumber()); // updateCartGoodsListInfoNew(checkCartRequest.getCartGoodsList(), productInfo.getResult(), cartGoodsStates, checkCartRequest.getPartnerId(), checkCartRequest.getStoreId(), checkCartRequest.getTableNumber());
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = checkCartRequest.getShoppingCartGoodsResponseVo(); // ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = checkCartRequest.getShoppingCartGoodsResponseVo();
// 有非法商品 // // 有非法商品
if (cartGoodsStates.isHasInvalidGoods()) { // if (cartGoodsStates.isHasInvalidGoods()) {
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_INVALID_GOODS_EXIST); // setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_INVALID_GOODS_EXIST);
} // }
// 价格发生变化时返回 // // 价格发生变化时返回
if (cartGoodsStates.isPriceChanged()) { // if (cartGoodsStates.isPriceChanged()) {
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_ACTIVITY_CHANGE); // setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_ACTIVITY_CHANGE);
} // }
checkCartRequest.setShoppingCartGoodsResponseVo(shoppingCartGoodsResponseVo); // checkCartRequest.setShoppingCartGoodsResponseVo(shoppingCartGoodsResponseVo);
} // }
/** /**
* 根据点餐方式、校验商品券是否满足 * 根据点餐方式、校验商品券是否满足
...@@ -475,38 +474,38 @@ public interface ShoppingCartBaseService { ...@@ -475,38 +474,38 @@ public interface ShoppingCartBaseService {
cartGoodsList.removeIf(k -> invalidGoodsIdList.contains(k.getCartGoodsUid()) || StringUtils.isEmpty(k.getCartGoodsUid())); cartGoodsList.removeIf(k -> invalidGoodsIdList.contains(k.getCartGoodsUid()) || StringUtils.isEmpty(k.getCartGoodsUid()));
} }
default Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> checkMenuProducts(String partnerId, // default Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> checkMenuProducts(String partnerId,
String shopId, // String shopId,
List<String> productIds, String trackingNo,String menuType) { // List<String> productIds, String trackingNo,String menuType) {
//
Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> menuDetailDtosMap = new HashMap<>(); // Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> menuDetailDtosMap = new HashMap<>();
//
//查询spu商品是否在菜单 // //查询spu商品是否在菜单
GetMenuCategoryByIdsRequest getMenuCategoryByIdsDto = GetMenuCategoryByIdsRequest.builder() // GetMenuCategoryByIdsRequest getMenuCategoryByIdsDto = GetMenuCategoryByIdsRequest.builder()
.businessDate(DateTimeUtils.getCurrentDateTimeStr()) // .businessDate(DateTimeUtils.getCurrentDateTimeStr())
.channelType(menuType) // .channelType(menuType)
.partnerId(partnerId) // .partnerId(partnerId)
.shopId(shopId) // .shopId(shopId)
.productIds(productIds).build(); // .productIds(productIds).build();
MenuService menuService = SDKCommonBaseContextWare.getBean(MenuService.class); // MenuService menuService = SDKCommonBaseContextWare.getBean(MenuService.class);
com.freemud.application.sdk.api.base.BaseResponse<GetMenuCategoryByIdsResponse> getMenuCategoryByIdsResponse = menuService.getMenuCategoryByIds(getMenuCategoryByIdsDto, trackingNo); // com.freemud.application.sdk.api.base.BaseResponse<GetMenuCategoryByIdsResponse> getMenuCategoryByIdsResponse = menuService.getMenuCategoryByIds(getMenuCategoryByIdsDto, trackingNo);
//
if (getMenuCategoryByIdsResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(getMenuCategoryByIdsResponse.getCode()) // if (getMenuCategoryByIdsResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(getMenuCategoryByIdsResponse.getCode())
|| getMenuCategoryByIdsResponse.getData() == null || CollectionUtils.isEmpty(getMenuCategoryByIdsResponse.getData().getMenuDetailDtos())) { // || getMenuCategoryByIdsResponse.getData() == null || CollectionUtils.isEmpty(getMenuCategoryByIdsResponse.getData().getMenuDetailDtos())) {
return null; // return null;
} // }
//
Map<String, GetMenuCategoryByIdsResponse.MenuDetailDto> menuDetailDtosMapTemp = getMenuCategoryByIdsResponse.getData().getMenuDetailDtos().parallelStream() // Map<String, GetMenuCategoryByIdsResponse.MenuDetailDto> menuDetailDtosMapTemp = getMenuCategoryByIdsResponse.getData().getMenuDetailDtos().parallelStream()
.collect(Collectors.toMap(GetMenuCategoryByIdsResponse.MenuDetailDto::getProductId, Function.identity(), (k1, k2) -> k1)); // .collect(Collectors.toMap(GetMenuCategoryByIdsResponse.MenuDetailDto::getProductId, Function.identity(), (k1, k2) -> k1));
//
for (Map.Entry<String, GetMenuCategoryByIdsResponse.MenuDetailDto> entry : menuDetailDtosMapTemp.entrySet()) { // for (Map.Entry<String, GetMenuCategoryByIdsResponse.MenuDetailDto> entry : menuDetailDtosMapTemp.entrySet()) {
GetMenuByIdsResponseDto.DataBean.MenuDetailDto menuDetailDto = new GetMenuByIdsResponseDto.DataBean.MenuDetailDto(); // GetMenuByIdsResponseDto.DataBean.MenuDetailDto menuDetailDto = new GetMenuByIdsResponseDto.DataBean.MenuDetailDto();
BeanUtils.copyProperties(entry.getValue(), menuDetailDto); // BeanUtils.copyProperties(entry.getValue(), menuDetailDto);
menuDetailDtosMap.put(entry.getKey(), menuDetailDto); // menuDetailDtosMap.put(entry.getKey(), menuDetailDto);
} // }
//
return menuDetailDtosMap; // return menuDetailDtosMap;
} // }
/** /**
* 当ToastMsg为空时才赋值 * 当ToastMsg为空时才赋值
......
...@@ -22,7 +22,6 @@ import com.freemud.application.sdk.api.productcenter.request.product.GetProductR ...@@ -22,7 +22,6 @@ import com.freemud.application.sdk.api.productcenter.request.product.GetProductR
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse; import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse;
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse; import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse;
import com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse; import com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse;
import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.productcenter.service.ProductService; import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter; import com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter;
import com.freemud.sdk.api.assortment.shoppingcart.constant.*; import com.freemud.sdk.api.assortment.shoppingcart.constant.*;
...@@ -70,8 +69,8 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -70,8 +69,8 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
private RedisCache redisCache; private RedisCache redisCache;
@Autowired @Autowired
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
@Autowired // @Autowired
private MenuService menuService; // private MenuService menuService;
@Autowired @Autowired
private ShoppingCartAdapter shoppingCartAdapter; private ShoppingCartAdapter shoppingCartAdapter;
@Autowired @Autowired
......
...@@ -60,6 +60,9 @@ public enum ResponseResult { ...@@ -60,6 +60,9 @@ public enum ResponseResult {
STORE_NOT_ENABLE_COLLECT_GOODS("43011", "门店不支持到店"), STORE_NOT_ENABLE_COLLECT_GOODS("43011", "门店不支持到店"),
STORE_MALL_NOT_FOUND("43012", "商城门店不存在"), STORE_MALL_NOT_FOUND("43012", "商城门店不存在"),
STORE_DELIVERY_AMOUNT_ERROR("43013", "配送费错误"), STORE_DELIVERY_AMOUNT_ERROR("43013", "配送费错误"),
//麦咖啡专用提示
CART_STORE_CLOSE("43014","您选择的【$storeName】门店已关闭,请选择其他门店。"),
CART_STORE_REST("43015","您选择的【$storeName】门店已打烊,请选择其他门店。"),
/** /**
* 购物车状态码 * 购物车状态码
......
...@@ -17,8 +17,8 @@ public enum ShoppingCartOperationType { ...@@ -17,8 +17,8 @@ public enum ShoppingCartOperationType {
ADD_PRODUCT_COUPON(1,"增加商品券"), ADD_PRODUCT_COUPON(1,"增加商品券"),
ADD_SUPER_PRICE_GOODS(2,"增加超值加购商品"), ADD_SUPER_PRICE_GOODS(2,"增加超值加购商品"),
UPDATE3(3,"切换门店校验"), CHECK(3,"切换门店校验"),
UPDATE4(4,"确认切换门店") CONFIRM(4,"确认切换门店")
; ;
......
...@@ -4,6 +4,7 @@ import ch.qos.logback.classic.Level; ...@@ -4,6 +4,7 @@ import ch.qos.logback.classic.Level;
import cn.freemud.adapter.ActivityAdapter; import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.adapter.ShoppingCartConvertAdapter; import cn.freemud.adapter.ShoppingCartConvertAdapter;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ShoppingCartConstant; import cn.freemud.constant.ShoppingCartConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryDto; import cn.freemud.entities.dto.activity.ActivityQueryDto;
...@@ -44,6 +45,9 @@ import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; ...@@ -44,6 +45,9 @@ import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO; import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.application.sdk.api.productcenter.service.ProductService; import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant;
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.service.StoreCenterService;
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.domain.CartGoodsStates; import com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoodsStates;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
...@@ -100,6 +104,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -100,6 +104,8 @@ public class ShoppingCartMCoffeeServiceImpl {
private CouponDiscountCalculation couponDiscountCalculation; private CouponDiscountCalculation couponDiscountCalculation;
@Autowired @Autowired
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
@Autowired
private StoreCenterService storeCenterService;
@Autowired @Autowired
private ProductClient productClient; private ProductClient productClient;
...@@ -392,7 +398,6 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -392,7 +398,6 @@ public class ShoppingCartMCoffeeServiceImpl {
// 促销活动的优惠金额计算 // 促销活动的优惠金额计算
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, null, calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, receiveId, null,
cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo); cartGoodsList, coupons, new ArrayList<>(), shoppingCartGoodsResponseVo);
//设置更新响应信息 //设置更新响应信息
setAddAndUpdateResponse(shoppingCartGoodsResponseVo, cartGoodsList, shoppingCartGoodsResponseVo.getToastMsg(), ShoppingCartConstant.QUERY_INFO, shoppingCartInfoRequestVo); setAddAndUpdateResponse(shoppingCartGoodsResponseVo, cartGoodsList, shoppingCartGoodsResponseVo.getToastMsg(), ShoppingCartConstant.QUERY_INFO, shoppingCartInfoRequestVo);
...@@ -610,7 +615,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -610,7 +615,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
List<CartGoods> onlyCheckGoodsList = new ArrayList<>(); List<CartGoods> onlyCheckGoodsList = new ArrayList<>();
if (requestVo.getOperationType() == ShoppingCartOperationType.UPDATE3.getCode()){ if (requestVo.getOperationType() == ShoppingCartOperationType.CHECK.getCode()){
onlyCheckGoodsList.addAll(cartGoodsList); onlyCheckGoodsList.addAll(cartGoodsList);
// 新门店check购物车中所有商品 // 新门店check购物车中所有商品
onlyCheckGoodsList = checkCartGoods(partnerId, toStoreId, orderType, menuType, shoppingCartGoodsResponseVo, onlyCheckGoodsList); onlyCheckGoodsList = checkCartGoods(partnerId, toStoreId, orderType, menuType, shoppingCartGoodsResponseVo, onlyCheckGoodsList);
...@@ -619,7 +624,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -619,7 +624,7 @@ public class ShoppingCartMCoffeeServiceImpl {
cartGoodsList = checkCartGoods(partnerId, toStoreId, orderType, menuType, shoppingCartGoodsResponseVo, cartGoodsList); cartGoodsList = checkCartGoods(partnerId, toStoreId, orderType, menuType, shoppingCartGoodsResponseVo, cartGoodsList);
} }
if (requestVo.getOperationType() == ShoppingCartOperationType.UPDATE3.getCode()) { if (requestVo.getOperationType() == ShoppingCartOperationType.CHECK.getCode()) {
if (StringUtils.isNotEmpty(shoppingCartGoodsResponseVo.getToastMsg())){ if (StringUtils.isNotEmpty(shoppingCartGoodsResponseVo.getToastMsg())){
//设置更新响应信息,校验失败只弹框提示消息,不切换门店,故将门店id重置为原来门店 //设置更新响应信息,校验失败只弹框提示消息,不切换门店,故将门店id重置为原来门店
shoppingCartGoodsResponseVo.setProducts(cartGoodsList); shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
...@@ -645,7 +650,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -645,7 +650,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
} }
// 新门店check购物车中所有商品 // 新门店check购物车中所有商品
if (requestVo.getOperationType() == ShoppingCartOperationType.UPDATE4.getCode()) { if (requestVo.getOperationType() == ShoppingCartOperationType.CONFIRM.getCode()) {
// 重新存储新门店购物车 // 重新存储新门店购物车
assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService); assortmentSdkService.setShoppingCart(partnerId, toStoreId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
//清空商品券商品 //清空商品券商品
...@@ -696,23 +701,33 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -696,23 +701,33 @@ public class ShoppingCartMCoffeeServiceImpl {
if (orderInfo == null || orderInfo.getResult() == null) { if (orderInfo == null || orderInfo.getResult() == null) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
if (orderInfo.getResult().getOrderType() == 3 || orderInfo.getResult().getOrderType() == 4) {
List<CartGoods> cartGoodsList = getOrderGoods(orderInfo.getResult()); menuType = "saasdelivery";
orderType = 2;
}
String storeId = orderInfo.getResult().getStoreId(); String storeId = orderInfo.getResult().getStoreId();
if(StringUtils.isNotEmpty(requestVo.getShopId())){ if(StringUtils.isNotEmpty(requestVo.getShopId())){
storeId = requestVo.getShopId(); storeId = requestVo.getShopId();
} }
if (orderInfo.getResult().getOrderType() == 3 || orderInfo.getResult().getOrderType() == 4) { BaseResponse storeCheckResponse = checkOrderByStore(orderInfo.getResult().getPartnerId(), storeId, LogThreadLocal.getTrackingNo());
menuType = "saasdelivery"; if(!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(storeCheckResponse.getCode())) {
orderType = 2; shoppingCartGoodsResponseVo.setChanged(true);
shoppingCartGoodsResponseVo.setToastMsg(storeCheckResponse.getMessage());
// return storeCheckResponse;
}
List<CartGoods> cartGoodsList = getOrderGoods(orderInfo.getResult());
if (CollectionUtils.isEmpty(cartGoodsList)) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_GETINFO_INVAILD);
} }
// 如果购物车商品不为空, 则check购物车中所有商品
if (CollectionUtils.isNotEmpty(cartGoodsList)) {
// check购物车中所有商品 // check购物车中所有商品
cartGoodsList = checkCartGoods(partnerId, storeId, orderType, menuType, shoppingCartGoodsResponseVo, cartGoodsList); cartGoodsList = checkCartGoods(partnerId, storeId, orderType, menuType, shoppingCartGoodsResponseVo, cartGoodsList);
// 如果购物车商品不为空, 则check购物车中所有商品
if (shoppingCartGoodsResponseVo.getChanged() && requestVo.getOperationType() == ShoppingCartOperationType.CHECK.getCode()) {
return ResponseUtil.success(shoppingCartGoodsResponseVo);
}
// 重新存储最新购物车 // 重新存储最新购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService); assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, sessionId, "", shoppingCartBaseService);
}
// 促销活动的优惠金额计算 // 促销活动的优惠金额计算
calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, null, null, calculationService.updateShoppingCartGoodsDiscount(partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), menuType, null, null,
cartGoodsList, new ArrayList<>(), new ArrayList<>(), shoppingCartGoodsResponseVo); cartGoodsList, new ArrayList<>(), new ArrayList<>(), shoppingCartGoodsResponseVo);
...@@ -722,6 +737,34 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -722,6 +737,34 @@ public class ShoppingCartMCoffeeServiceImpl {
return ResponseUtil.success(shoppingCartGoodsResponseVo); return ResponseUtil.success(shoppingCartGoodsResponseVo);
} }
/**
* 门店相关校验
*/
private BaseResponse checkOrderByStore(String partnerId, String shopId, String trackingNo) {
// 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, shopId,null);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo);
if (storeResponse == null || storeResponse.getBizVO() == null) {
return ResponseUtil.error(ResponseResult.STORE_NOT_FOUND);
}
StoreResponse.BizVO storeResponseDto = storeResponse.getBizVO();
String storeName = storeResponseDto.getStoreName();
// 校验门店是否营业
if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1
|| storeResponseDto.getState() == null || storeResponseDto.getState().equals("3")) {
ResponseResult storeClose = ResponseResult.CART_STORE_CLOSE;
storeClose.setMessage(storeClose.getMessage().replace("$storeName",storeName));
return ResponseUtil.error(storeClose);
}
if (storeResponseDto.getActiveFlag() == 1 && storeResponseDto.getState().equals("2")) {
ResponseResult storeRest = ResponseResult.CART_STORE_REST;
storeRest.setMessage(storeRest.getMessage().replace("$storeName",storeName));
return ResponseUtil.error(storeRest);
}
return ResponseUtil.success();
}
private List<CartGoods> getOrderGoods(OrderInfoReqs orderInfo) { private List<CartGoods> getOrderGoods(OrderInfoReqs orderInfo) {
if (orderInfo == null || CollectionUtils.isEmpty(orderInfo.getOrderItemList())) { if (orderInfo == null || CollectionUtils.isEmpty(orderInfo.getOrderItemList())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_PRODUCT_NOT_EXIST); throw new ServiceException(ResponseResult.SHOPPING_CART_PRODUCT_NOT_EXIST);
...@@ -737,11 +780,14 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -737,11 +780,14 @@ public class ShoppingCartMCoffeeServiceImpl {
cartGoods.setQty(orderItem.getProductQuantity()); cartGoods.setQty(orderItem.getProductQuantity());
cartGoods.setSpuId(orderItem.getProductId()); cartGoods.setSpuId(orderItem.getProductId());
cartGoods.setSkuId(orderItem.getProductSpec()); cartGoods.setSkuId(orderItem.getProductSpec());
cartGoods.setFinalPrice(orderItem.getProductPrice().longValue());
if(6 == orderItem.getProductType()) { if(6 == orderItem.getProductType()) {
cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType()); cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType());
} else if(10 ==orderItem.getProductType()) { } else if(10 ==orderItem.getProductType()) {
cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType()); cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType());
} else { }else if(!orderItem.getProductId().equals(orderItem.getProductSpec())) {
cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType());
}else {
cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.COMMON_GOODS.getGoodsType()); cartGoods.setGoodsType(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.COMMON_GOODS.getGoodsType());
} }
if(("早餐啡常搭".equals(orderItem.getProductName()) && "早餐啡常搭".equals(orderItem.getProductSpecName())) if(("早餐啡常搭".equals(orderItem.getProductName()) && "早餐啡常搭".equals(orderItem.getProductSpecName()))
...@@ -749,6 +795,10 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -749,6 +795,10 @@ public class ShoppingCartMCoffeeServiceImpl {
cartGoods.setName(orderItem.getProductName()); cartGoods.setName(orderItem.getProductName());
cartGoods.setSpuName(orderItem.getProductName()); cartGoods.setSpuName(orderItem.getProductName());
cartGoods.setSkuName(orderItem.getProductName()); cartGoods.setSkuName(orderItem.getProductName());
} else {
cartGoods.setName(orderItem.getProductName());
cartGoods.setSkuName(orderItem.getProductSpecName());
cartGoods.setSpuName(orderItem.getProductName());
} }
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), orderItem.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), orderItem.getProductType())) { if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), orderItem.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), orderItem.getProductType())) {
// 获取套餐子商品列表 // 获取套餐子商品列表
...@@ -767,7 +817,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -767,7 +817,7 @@ public class ShoppingCartMCoffeeServiceImpl {
private CartGoods.ComboxGoods getComboxGoods(CartGoods cartGoods, OrderItemResp orderItemResp) { private CartGoods.ComboxGoods getComboxGoods(CartGoods cartGoods, OrderItemResp orderItemResp) {
CartGoods.ComboxGoods comboxGoods = new CartGoods.ComboxGoods(); CartGoods.ComboxGoods comboxGoods = new CartGoods.ComboxGoods();
comboxGoods.setSkuId(orderItemResp.getProductId()); comboxGoods.setSkuId(orderItemResp.getProductSpec());
comboxGoods.setGoodsId(orderItemResp.getProductId()); comboxGoods.setGoodsId(orderItemResp.getProductId());
comboxGoods.setQty(orderItemResp.getProductQuantity()); comboxGoods.setQty(orderItemResp.getProductQuantity());
comboxGoods.setOriginalPrice(orderItemResp.getProductPrice().longValue()); comboxGoods.setOriginalPrice(orderItemResp.getProductPrice().longValue());
...@@ -789,32 +839,6 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -789,32 +839,6 @@ public class ShoppingCartMCoffeeServiceImpl {
if (map.containsKey("isFixedProduct") && !(boolean) map.get("isFixedProduct")) { if (map.containsKey("isFixedProduct") && !(boolean) map.get("isFixedProduct")) {
cartGoods.getProductGroupList().add(comboxGoods); cartGoods.getProductGroupList().add(comboxGoods);
} }
// comboxGoods.setWeight(orderItemResp.getWeight());
// productBean.setCustomerCode(orderItemResp.getThirdProductId());
// productBean.setProductCode(orderItemResp.getProductCode());
// productBean.setNumber(orderItemResp.getProductQuantity());
// productBean.setOpid(orderItemResp.getProductSeq() == null ? null : orderItemResp.getProductSeq().toString());
// productBean.setSequence(orderItemResp.getProductSeq() == null ? 0 : orderItemResp.getProductSeq());
// productBean.setOrderId(orderItemResp.getOrderCode());
// comboxGoods.setProductId(orderItemResp.getProductId());
// productBean.setParentProductId("");
// productBean.setPicture(orderItemResp.getProductPicUrl());
// productBean.setPrice(orderItemResp.getProductPrice().longValue());
// productBean.setSalePrice(orderItemResp.getSalePrice().longValue());
// productBean.setProductName(orderItemResp.getProductName());
// productBean.setSpecification(orderItemResp.getProductSpec());
// productBean.setSpecificationName(orderItemResp.getProductSpecName());
// productBean.setProductSharePrice(orderItemResp.getProductSharePrice());
// productBean.setSettlementPrice(orderItemResp.getSettlementPrice().longValue());
// productBean.setUnit(orderItemResp.getProductUnit());
//
// // 套餐
// productBean.setParentProductId(orderItemResp.getParentProductId());
// productBean.setProductType(orderItemResp.getProductType());
// productBean.setId(orderItemResp.getId());
return comboxGoods; return comboxGoods;
} }
......
...@@ -44,4 +44,10 @@ public class CopyShoppingCartRequestVo { ...@@ -44,4 +44,10 @@ public class CopyShoppingCartRequestVo {
@NotEmpty(message = "orderId不能为空") @NotEmpty(message = "orderId不能为空")
private String orderId; private String orderId;
/**
* 操作类型 ShoppingCartOperationType 枚举
* 校验通过直接返回购物车商品数据
*/
private Integer operationType;
} }
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