Commit eef77e2a by 徐康

Merge branch 'feature/20200108_xukang_麦咖啡p5v2'

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderProductAddInfoDto.java
#	order-application-service/pom.xml
parents 93b3ff76 f8ac643b
......@@ -927,6 +927,7 @@ public class OrderSdkAdapter {
productBean.setAddInfo(JSONObject.toJSONString(map));
productBean.setProductProperty(orderItemResp.getProductProperty());
productBean.setExtInfo(orderItemResp.getExtInfo());
productBean.setNote(orderItemResp.getNote());
// 套餐
productBean.setParentProductId(orderItemResp.getParentProductId());
......@@ -2859,13 +2860,16 @@ public class OrderSdkAdapter {
if (0 != product.getTax()){
extInfo.setTax(product.getTax());
}
if (StringUtils.isNotEmpty(product.getTaxId())){
if (StringUtils.isNotBlank(product.getTaxId())){
extInfo.setTaxId(product.getTaxId());
}
if (StringUtils.isNotBlank(product.getCardId())){
extInfo.setCardId(product.getCardId());
}
if (StringUtils.isNotBlank(product.getCardCode())){
extInfo.setCardCode(product.getCardCode());
}
extInfo.setStapleFood(product.getStapleFood());
//if (product.getStapleFood()!=null && product.getStapleFood()>0) {
// extInfo.setStapleFood(1);
//}
extInfo.setOriginalGoodsUid(product.getOriginalGoodsUid());
extInfo.setCartGoodsUid(product.getCartGoodsUid());
......
......@@ -218,4 +218,14 @@ public class CreateOrderProductRequest extends BaseConfig {
* 是否需要积分
*/
private Boolean needBonus;
/**
* 虚拟商品使用,发券id
*/
private String cardId;
/**
* 虚拟商品使用,种子券号
*/
private String cardCode;
}
......@@ -87,4 +87,14 @@ public class OrderProductAddInfoDto extends BaseConfig {
* 是否需要积分
*/
private Boolean needBonus;
/**
* 虚拟商品发券id
*/
private String cardId;
/**
* 虚拟商品种子券号
*/
private String cardCode;
}
......@@ -523,6 +523,11 @@ public class QueryOrdersResponse {
private String extInfo;
/**
* 备注
*/
private String note;
/**
* 商品type
*/
private Integer productType;
......
......@@ -25,7 +25,7 @@
<dependency>
<groupId>com.freemud.sdk.api.assortment</groupId>
<artifactId>assortment-orderdistributor-sdk</artifactId>
<version>3.5.4.RELEASE</version>
<version>3.5.6.RELEASE</version>
<exclusions>
<exclusion>
<groupId>cn.freemud</groupId>
......
......@@ -122,6 +122,10 @@ public class OrderAdapter {
private String maCafePickTag;
@Value("${mccafe.monthCard.goodsId}")
private String mccafeMonthCardGoodsId;
@Value("${mcCafe.withOrderBuy.cardId}")
private String withOrderBuyCardId;
@Value("${mccafe.universal.coupon.code}")
private String withOrderBuyCouponCode;
/**
* coco商户
......@@ -178,6 +182,15 @@ public class OrderAdapter {
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos();
List<CreateOrderProductRequest> products = new ArrayList<>();
//随单购商品
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee() && StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
products.add(getMcCafeWithOrderVirtualProduct(shoppingCartGoodsDto, createOrderVo));
}
// Set<String> withOrderBuyCouponCodeSet = new HashSet<>();
// withOrderBuyCouponCodeSet.add(withOrderBuyCouponCode);
// cartGoodsDetailDtos.stream().filter(o -> ProductTypeEnum.getVirtualProductType().contains(o.getProductType())).map(o -> withOrderBuyCouponCodeSet.add(o.getMonthCardInfo().getCardCode()));
// 根据购物车商品信息获取优惠信息
int orderAccountIndex = 0;
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) {
......@@ -202,42 +215,6 @@ public class OrderAdapter {
}
}
}
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee() && StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(mccafeMonthCardGoodsId);
createOrderProductDemoDto.setProductName("啡常月享卡");
createOrderProductDemoDto.setSpecification(mccafeMonthCardGoodsId);
createOrderProductDemoDto.setSpecificationName("啡常月享卡");
createOrderProductDemoDto.setPrice(shoppingCartGoodsDto.getPayCardFee());
createOrderProductDemoDto.setSalePrice(shoppingCartGoodsDto.getPayCardFee());
createOrderProductDemoDto.setTotalDiscountAmount(0l);
createOrderProductDemoDto.setNumber(1);
createOrderProductDemoDto.setProductType(ProductTypeEnum.WITH_ORDER_VIRTUAL_PRODUCT.getCode());
createOrderProductDemoDto.setParentProductId("0");
createOrderProductDemoDto.setIsFixedProduct(null);
createOrderProductDemoDto.setCustomerCode(createOrderVo.getCardKeyCode());
createOrderProductDemoDto.setProductCode(createOrderVo.getCardKeyCode());
createOrderProductDemoDto.setHasStockProudct(false);
createOrderProductDemoDto.setWeight(0d);
createOrderProductDemoDto.setStapleFood(0);
createOrderProductDemoDto.setTax(0d);
createOrderProductDemoDto.setTaxId("");
if(ProductTypeEnum.TABLEWARE_PRODUCT.getCode().equals(products.get(products.size()-1).getProductType())) {
products.add(products.size()-1, createOrderProductDemoDto);
} else {
products.add(createOrderProductDemoDto);
}
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("啡常月享卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.WITH_ORDER_BUY_COUPON_FEE)
.sequence(orderAccountIndex++)
.productId(createOrderVo.getCardKeyCode())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setProducts(products);
boolean hasDeliveryMonthCard = false;
......@@ -2443,6 +2420,9 @@ public class OrderAdapter {
}
});
createOrderProductDemoDto.setComboProduct(comboProducts);
} else if(ProductTypeEnum.VIRTUAL_PRODUCT.getCode().equals(cartGoodsDetailDto.getProductType())) {
createOrderProductDemoDto.setCardId(cartGoodsDetailDto.getMonthCardInfo().getCardNo());
createOrderProductDemoDto.setCardCode(cartGoodsDetailDto.getMonthCardInfo().getCardCode());
}
}
if(CollectionUtils.isNotEmpty(cartGoodsDetailDto.getMaterialList())) {
......@@ -2565,6 +2545,31 @@ public class OrderAdapter {
return createOrderProductDemoDto;
}
public CreateOrderProductRequest getMcCafeWithOrderVirtualProduct(ShoppingCartGoodsDto shoppingCartGoodsDto, CreateOrderVo createOrderVo) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(mccafeMonthCardGoodsId);
createOrderProductDemoDto.setProductName("啡常月享卡");
createOrderProductDemoDto.setSpecification(mccafeMonthCardGoodsId);
createOrderProductDemoDto.setSpecificationName("啡常月享卡");
createOrderProductDemoDto.setPrice(shoppingCartGoodsDto.getPayCardFee());
createOrderProductDemoDto.setSalePrice(shoppingCartGoodsDto.getPayCardFee());
createOrderProductDemoDto.setTotalDiscountAmount(0l);
createOrderProductDemoDto.setNumber(1);
createOrderProductDemoDto.setProductType(ProductTypeEnum.WITH_ORDER_VIRTUAL_PRODUCT.getCode());
createOrderProductDemoDto.setParentProductId("0");
createOrderProductDemoDto.setIsFixedProduct(null);
createOrderProductDemoDto.setCustomerCode(createOrderVo.getCardKeyCode());
createOrderProductDemoDto.setProductCode(createOrderVo.getCardKeyCode());
createOrderProductDemoDto.setHasStockProudct(false);
createOrderProductDemoDto.setWeight(0d);
createOrderProductDemoDto.setStapleFood(0);
createOrderProductDemoDto.setTax(0d);
createOrderProductDemoDto.setTaxId("");
createOrderProductDemoDto.setCardId(withOrderBuyCardId);
createOrderProductDemoDto.setCardCode(withOrderBuyCouponCode);
return createOrderProductDemoDto;
}
/**
* 将促销的枚举 ActivityTypeEnum 和orderAccountType 关联映射
*/
......
......@@ -379,6 +379,8 @@ public class QueryOrdersResponseDto {
*/
private Integer productType;
private String note;
/**
* 当前商品的实际优惠信息
*/
......
......@@ -253,6 +253,11 @@ public class ShoppingCartGoodsDto {
private String cartGoodsUid;
/**
* 月享卡加购信息
*/
private MonthCardVo monthCardInfo;
/**
* 配料或属性
*/
private List<CartGoodsDetailDto.CartGoodsExtra> extraList = new ArrayList<>(0);
......@@ -319,4 +324,21 @@ public class ShoppingCartGoodsDto {
}
@Data
public static class MonthCardVo {
/**
* 卡号
*/
private String cardNo;
/**
* 券号
*/
private String cardCode;
/**
* 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡
*/
private Integer type;
}
}
package cn.freemud.entities.dto.user;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SendCouponForqujiaRequestDto
* @Package cn.freemud.entities.dto.user
* @Description:
* @author: ping1.wu
* @date: 2020/10/10 17:35
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class B2bReceiveCardRequestDto {
private String mobile;
private List<String> cardId;
}
package cn.freemud.entities.dto.user;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SendCouponForqujiaDtoResponseDto
* @Package cn.freemud.entities.dto.user
* @Description:
* @author: ping1.wu
* @date: 2020/10/12 11:20
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class B2bReceiveCardResponseDto {
private String code;
private String message;
private List<Card> data;
@Data
public final static class Card {
private String card_code;
private String card_id;
public String received_time;
public String start_datetime;
public String end_datetime;
}
}
......@@ -13,6 +13,7 @@
package cn.freemud.entities.vo;
import cn.freemud.entities.dto.UserDeliveryInfoDto;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderPayItemCreateReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -30,6 +31,7 @@ import java.util.List;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CreateOrderVo {
@NotEmpty(message = "sessionId 不能为空")
......
......@@ -534,5 +534,10 @@ public class QueryOrderResponseVo {
*/
private PayGiftCheckAndJoinResponseDto payGiftReps;
/**
* 是否买券订单 麦咖啡使用
*/
private Integer isCouponOrder;
}
......@@ -19,6 +19,13 @@ public enum ProductType {
SETMEALPRODUCT_UPPRICE(7,"加价套餐商品"),
MATERIALPRODUCT_UPPRICE(88,"加料商品"),
LITTLE_MATERIAL_PRODUCT(89,"小料"),
GROUP_PRODUCT(3, "组合商品"),
SETMEAL_PRODUCT(6, "套餐商品"),
VIRTUAL_PRODUCT(9, "虚拟商品"),
WEIGHT_PRODUCT(11, "称重商品"),
TABLEWARE_PRODUCT(12, "餐具商品"),
;
private int code;
......
......@@ -55,6 +55,7 @@ import com.freemud.application.sdk.api.membercenter.service.MemberCenterService;
import com.freemud.application.sdk.api.membercenter.service.MemberPropertyService;
import com.freemud.application.sdk.api.ordercenter.constant.ResponseConstant;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum;
import com.freemud.application.sdk.api.storecenter.request.QueryDeliveryRequest;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.QueryDeliverDetailResponse;
......@@ -66,6 +67,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.awt.geom.Point2D;
......@@ -116,6 +118,9 @@ public class CheckMCCafeOrder {
@Autowired
private DeliveryServiceFeiginMCCafeClient deliveryServiceFeiginMCCafeClient;
@Value("${mccafe.universal.coupon.code}")
private String withOrderBuyCouponCode;
private static Gson gson = new Gson();
/**
* 下单会员相关校验
......@@ -558,18 +563,23 @@ public class CheckMCCafeOrder {
}
List<MCCafeCouponVo> mcCafeCouponVos = new ArrayList<>();
Map<String, String> mcCafeUsedCoupon = new HashMap<>();
List<String> seedCardList = shoppingCartGoodsDto.getProducts().stream().filter(o -> ProductTypeEnum.getVirtualProductType().contains(o.getProductType()))
.map(o -> o.getMonthCardInfo().getCardCode()).collect(Collectors.toList());
seedCardList.add(withOrderBuyCouponCode);
if(CollectionUtils.isNotEmpty(shoppingCartGoodsDto.getActivityDiscountsDtos())) {
shoppingCartGoodsDto.getActivityDiscountsDtos().forEach(o-> {
if(ActivityTypeEnum.TYPE_3.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType())
|| ActivityTypeEnum.TYPE_34.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_35.getCode().equals(o.getActivityType())) {
mcCafeCouponVos.add(new MCCafeCouponVo(o.getActivityCode()));
}
if(ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType()) && null != o.getExtendType()
&& (0 == o.getExtendType() || 3 == o.getExtendType() || 4 == o.getExtendType() || 5 == o.getExtendType())) {
if(StringUtils.isNotBlank(mcCafeUsedCoupon.get(o.getActivityCode()))) {
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, o.getActivityName() + "不可以重复使用");
} else {
mcCafeUsedCoupon.put(o.getActivityCode(), o.getActivityName());
if(!seedCardList.contains(o.getActivityCode())) {
if(ActivityTypeEnum.TYPE_3.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType())
|| ActivityTypeEnum.TYPE_34.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_35.getCode().equals(o.getActivityType())) {
mcCafeCouponVos.add(new MCCafeCouponVo(o.getActivityCode()));
}
if(ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType()) && null != o.getExtendType()
&& (0 == o.getExtendType() || 3 == o.getExtendType() || 4 == o.getExtendType() || 5 == o.getExtendType())) {
if(StringUtils.isNotBlank(mcCafeUsedCoupon.get(o.getActivityCode()))) {
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, o.getActivityName() + "不可以重复使用");
} else {
mcCafeUsedCoupon.put(o.getActivityCode(), o.getActivityName());
}
}
}
});
......
......@@ -91,6 +91,7 @@ import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
......@@ -1634,6 +1635,9 @@ public class OrderServiceImpl implements Orderservice {
queryOrderResponseVo.setOrderTypeDesc(Optional.ofNullable(McCafeOrderTypeGather.getByCode(queryOrderResponseVo.getOrderType()))
.map(McCafeOrderTypeGather::getDesc).orElse(""));
queryOrderResponseVo.setIsCouponOrder(queryOrderResponseVo.getProducts().stream()
.filter(o -> !ProductTypeEnum.getVirtualProductType().contains(o.getProductType())).findAny().isPresent()?0:1);
//48小时自动退款描述
if (storeInfo != null && storeInfo.getBizVO() != null && storeInfo.getBizVO().getStoreConfig() != null
&& queryOrderResponseVo.getRefundStatus() != null && queryOrderResponseVo.getRefundStatus() == 1) {
......
......@@ -15,9 +15,7 @@ package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.GetMemberCouponListRequestDto;
import cn.freemud.entities.dto.GetMemberCouponListResponseDto;
import cn.freemud.entities.dto.user.QujiaForbiddenCardCodeRequestDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaDtoResponseDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaRequestDto;
import cn.freemud.entities.dto.user.*;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -34,4 +32,7 @@ public interface CustomerExtendClient {
@PostMapping(value = "/customerextendservice/qujia/receiveCard")
SendCouponForqujiaDtoResponseDto sendCouponForqujia(@RequestBody SendCouponForqujiaRequestDto request);
@PostMapping(value = "/customerextendservice/qujia/b2breceiveCard")
B2bReceiveCardResponseDto b2bReceiveCard(@RequestBody B2bReceiveCardRequestDto request);
}
......@@ -231,6 +231,11 @@ public class InterfaceAddressConstant {
public static final String UPDATE_COST_COUPONCODE = "/order/v2/mcCafe/updateCostCouponCode";
/**
* 查询使用了优惠券的订单数量
*/
public static final String QUERY_USE_COUPON_ORDER = "/order/v2/mcCafe/queryUseCouponOrder";
/**
* 更新买一赠一寄件发送优惠券信息
*/
public static final String UPDATE_BUYONEGIVEONE_SEND_COUPON = "order/v2/updateBuyOneGiveOneSendCoupon";
......
package com.freemud.application.sdk.api.ordercenter.enums;
import java.util.Arrays;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
......@@ -11,7 +14,7 @@ package com.freemud.application.sdk.api.ordercenter.enums;
* @Copyright: ${DATE.YARE} www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public enum ProductTypeEnum {
public enum ProductTypeEnum {
GENERAL_PRODUCT(1,"普通商品"),
......@@ -29,8 +32,12 @@ public enum ProductTypeEnum {
;
public static List<Integer> getVirtualProductType() {
return Arrays.asList(VIRTUAL_PRODUCT.getCode(), WITH_ORDER_VIRTUAL_PRODUCT.getCode());
}
private Integer code;
private String msg;
public Integer getCode() {
......@@ -49,9 +56,6 @@ public enum ProductTypeEnum {
this.msg = msg;
}
ProductTypeEnum() {
}
ProductTypeEnum(Integer code, String msg) {
this.code = code;
this.msg = msg;
......
package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: UpdateCouponCodeReq
* @Package cn.freemud.shared.order.vo.req.order
* @Description:
* @author: ping1.wu
* @date: 2020/10/8 10:33
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class QueryUseCouponOrderReq {
private String orderCode;
private String partnerId;
private List<String> couponCodeList;
}
......@@ -2,6 +2,8 @@ package com.freemud.application.sdk.api.ordercenter.request;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
......@@ -19,10 +21,32 @@ public class UpdateCouponCodeReq {
private String orderCode;
//发券券号
private String couponCode;
private String partnerId;
private List<CouponReceiveInfo> couponReceiveInfoList;
private List<CouponUpdateInfo> couponUpdateInfoList;
@Data
public static class CouponReceiveInfo {
private String goodsId;
//发券券号
private String couponCode;
private Integer productSeq;
}
@Data
public static class CouponUpdateInfo {
//发券券号
private String couponCode;
//配置券号
private String oldCouponCode;
//配置券号
private String oldCouponCode;
private Integer productSeq;
}
}
......@@ -900,4 +900,17 @@ public class OrderSdkService {
return responseHandle(responseDTO);
}
/**
* 查询使用了特定优惠券的订单数量
* @param request
* @param trackingNo
* @return
*/
public BaseResponse<Integer> queryUseCouponOrder(QueryUseCouponOrderReq request, String trackingNo) {
OrderBaseResp<Integer> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, QUERY_USE_COUPON_ORDER,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
}
......@@ -269,7 +269,7 @@ public class ShoppingCartMCoffeeServiceImpl {
isContinue= false;
}
if(StringUtils.isNotEmpty(goodsId) && StringUtils.isNotEmpty(couponCode) && isContinue
&& cartGoods.getName().equals("啡常搭") && cartGoods.getGoodsType().equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType())
&& "啡常搭".equals(cartGoods.getName()) && GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType().equals(cartGoods.getGoodsType())
&& CollectionUtils.isNotEmpty(cartGoods.getProductComboList()) && cartGoods.getProductComboList().size() == 1
&& cartGoods.getProductComboList().get(0).getSkuId().equals(goodsId)
&& CollectionUtils.isNotEmpty(cartGoods.getProductGroupList()) && cartGoods.getProductGroupList().size() == 1
......
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