Commit c1dc318f by huvchao@126.com

套餐商品商品组

parent 2db8e6a2
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.1.6.SNAPSHOT</version> <version>1.1.7-SNAPSHOT</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -2412,15 +2412,7 @@ public class OrderSdkAdapter { ...@@ -2412,15 +2412,7 @@ public class OrderSdkAdapter {
extInfo.setThirdCategoryId(product.getThirdCategoryId()); extInfo.setThirdCategoryId(product.getThirdCategoryId());
} }
// todo 订单行扩展字段商品组 // todo 订单行扩展字段商品组
if(StringUtils.isNotBlank(product.getGroupId())){ extInfo.setProductGroupList(product.getProductGroupList());
extInfo.setGroupId(product.getGroupId());
}
if(StringUtils.isNotBlank(product.getGroupName())){
extInfo.setGroupName(product.getGroupName());
}
if(StringUtils.isNotBlank(product.getThirdGroupCode())){
extInfo.setThirdGroupCode(product.getThirdGroupCode());
}
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo)); orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo));
orderItemList.add(orderItemCreateReq); orderItemList.add(orderItemCreateReq);
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package com.freemud.sdk.api.assortment.order.request.order; package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.sdk.api.assortment.order.config.BaseConfig; import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import com.freemud.sdk.api.assortment.order.vo.ProductGroupVo;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -155,18 +156,6 @@ public class CreateOrderProductRequest extends BaseConfig { ...@@ -155,18 +156,6 @@ public class CreateOrderProductRequest extends BaseConfig {
*/ */
private String thirdProductPropertyId; private String thirdProductPropertyId;
/** /** 商品组 **/
* 商品组id。非码商品组ID唯一 private List<ProductGroupVo> productGroupList;
*/
private String groupId;
/**
* 商品组名称
*/
private String groupName;
/**
* 第三方商品组编码。后台人工录入,有可能不唯一。
*/
private String thirdGroupCode;
} }
...@@ -13,8 +13,11 @@ ...@@ -13,8 +13,11 @@
package com.freemud.sdk.api.assortment.order.request.order; package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.sdk.api.assortment.order.config.BaseConfig; import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import com.freemud.sdk.api.assortment.order.vo.ProductGroupVo;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class OrderProductAddInfoDto extends BaseConfig { public class OrderProductAddInfoDto extends BaseConfig {
...@@ -43,12 +46,6 @@ public class OrderProductAddInfoDto extends BaseConfig { ...@@ -43,12 +46,6 @@ public class OrderProductAddInfoDto extends BaseConfig {
*/ */
private String thirdCategoryId; private String thirdCategoryId;
/** 商品组ID */ /** 商品组 **/
private String groupName; private List<ProductGroupVo> productGroupList;
/** 商品组名称 */
private String thirdGroupCode;
/** 第三方商品分类 */
private String groupId;
} }
package com.freemud.sdk.api.assortment.order.vo;
import com.netflix.discovery.provider.Serializer;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 商品组信息
*/
@Data
@Serializer
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ProductGroupVo {
/**
* 商品组id。非码商品组ID唯一
*/
private String groupId;
/**
* 商品组名称
*/
private String groupName;
/**
* 第三方商品组编码。后台人工录入,有可能不唯一。
*/
private String thirdGroupId;
}
...@@ -199,6 +199,7 @@ public class ItemServiceImpl implements ItemService{ ...@@ -199,6 +199,7 @@ public class ItemServiceImpl implements ItemService{
* 套餐商品保存第三方信息 * 套餐商品保存第三方信息
*/ */
private void saveComboProductsThirdInfo(ProductInfo productBean,Map<String, GetProductsVo> resultMap){ private void saveComboProductsThirdInfo(ProductInfo productBean,Map<String, GetProductsVo> resultMap){
GetProductsVo spuProductsVo = resultMap.get(productBean.getPid());
//套餐固定商品 //套餐固定商品
if (CollectionUtils.isNotEmpty(productBean.getProductComboList())) { if (CollectionUtils.isNotEmpty(productBean.getProductComboList())) {
for (ProductComboListDto productComboListDto : productBean.getProductComboList()) { for (ProductComboListDto productComboListDto : productBean.getProductComboList()) {
...@@ -207,6 +208,29 @@ public class ItemServiceImpl implements ItemService{ ...@@ -207,6 +208,29 @@ public class ItemServiceImpl implements ItemService{
comboProductsVo.setProductCode(productComboListDto.getProductCode()); comboProductsVo.setProductCode(productComboListDto.getProductCode());
//第三方商品属性信息 //第三方商品属性信息
comboProductsVo.setProductAttributeGroupList(productComboListDto.getProductAttributeGroupList()); comboProductsVo.setProductAttributeGroupList(productComboListDto.getProductAttributeGroupList());
System.out.println(productComboListDto.getProductId());
if(CollectionUtils.isNotEmpty(spuProductsVo.getProductGroupList())){
/** 商品组 */
for(ProductGroup group : spuProductsVo.getProductGroupList()){
for(GroupDetail detail : group.getGroupDetail()){
System.out.println(detail.getProductId());
if(detail.getProductId().equals(productComboListDto.getProductId())){
ProductGroup targetGroup = new ProductGroup();
targetGroup.setGroupCode(group.getGroupCode());
targetGroup.setName(group.getName());
targetGroup.setGroupDetail(Lists.newArrayList(detail));
List<ProductGroup> productGroupList = Lists.newArrayList(targetGroup);
comboProductsVo.setProductGroupList(productGroupList);
break;
}
}
}
}
resultMap.put(productComboListDto.getProductId(), comboProductsVo); resultMap.put(productComboListDto.getProductId(), comboProductsVo);
} }
} }
...@@ -214,15 +238,24 @@ public class ItemServiceImpl implements ItemService{ ...@@ -214,15 +238,24 @@ public class ItemServiceImpl implements ItemService{
//套餐商品内可选商品 //套餐商品内可选商品
if (CollectionUtils.isNotEmpty(productBean.getProductGroupList()) && CollectionUtils.isNotEmpty(productBean.getProductGroupList().get(0).getGroupDetail())) { if (CollectionUtils.isNotEmpty(productBean.getProductGroupList()) && CollectionUtils.isNotEmpty(productBean.getProductGroupList().get(0).getGroupDetail())) {
//套餐商品可选商品集合 //套餐商品可选商品集合
List<GroupDetail> groupDetails = productBean.getProductGroupList().get(0).getGroupDetail(); for(ProductGroup group : productBean.getProductGroupList()){
for (GroupDetail groupDetailBean : groupDetails){ for(GroupDetail groupDetailBean : group.getGroupDetail()){
//多规格获取sku信息 //多规格获取sku信息
GetProductsVo groupProductsVo = new GetProductsVo(); GetProductsVo groupProductsVo = new GetProductsVo();
groupProductsVo.setCustomerCode(groupDetailBean.getCustomerCode()); groupProductsVo.setCustomerCode(groupDetailBean.getCustomerCode());
groupProductsVo.setProductCode(groupDetailBean.getProductCode()); groupProductsVo.setProductCode(groupDetailBean.getProductCode());
//第三方商品属性信息 //第三方商品属性信息
groupProductsVo.setProductAttributeGroupList(groupDetailBean.getProductAttributeGroupList()); groupProductsVo.setProductAttributeGroupList(groupDetailBean.getProductAttributeGroupList());
resultMap.put(groupDetailBean.getProductId(), groupProductsVo);
ProductGroup targetGroup = new ProductGroup();
targetGroup.setGroupCode(group.getGroupCode());
targetGroup.setName(group.getName());
targetGroup.setGroupDetail(Lists.newArrayList(groupDetailBean));
List<ProductGroup> productGroupList = Lists.newArrayList(targetGroup);
groupProductsVo.setProductGroupList(productGroupList);
resultMap.put(groupDetailBean.getProductId(), groupProductsVo);
}
} }
} }
} }
......
...@@ -33,6 +33,7 @@ import cn.freemud.entities.dto.order.CreateOrderOperateDto; ...@@ -33,6 +33,7 @@ import cn.freemud.entities.dto.order.CreateOrderOperateDto;
import cn.freemud.entities.dto.order.FacePayRequestDto; import cn.freemud.entities.dto.order.FacePayRequestDto;
import cn.freemud.entities.dto.order.FacePayResponseDto; import cn.freemud.entities.dto.order.FacePayResponseDto;
import cn.freemud.entities.dto.product.AttributeValue; import cn.freemud.entities.dto.product.AttributeValue;
import cn.freemud.entities.dto.product.GroupDetail;
import cn.freemud.entities.dto.product.ProductAttributeGroup; import cn.freemud.entities.dto.product.ProductAttributeGroup;
import cn.freemud.entities.dto.product.ProductGroup; import cn.freemud.entities.dto.product.ProductGroup;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto; import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
...@@ -99,6 +100,7 @@ import com.freemud.sdk.api.assortment.order.response.order.*; ...@@ -99,6 +100,7 @@ import com.freemud.sdk.api.assortment.order.response.order.*;
import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse; import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.freemud.sdk.api.assortment.order.util.LockUtils; import com.freemud.sdk.api.assortment.order.util.LockUtils;
import com.freemud.sdk.api.assortment.order.vo.ProductGroupVo;
import com.freemud.sdk.api.assortment.orderdistributor.entity.dto.PaymentMqMessageDto; import com.freemud.sdk.api.assortment.orderdistributor.entity.dto.PaymentMqMessageDto;
import com.freemud.sdk.api.assortment.orderdistributor.service.PaymentQueueService; import com.freemud.sdk.api.assortment.orderdistributor.service.PaymentQueueService;
import com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest; import com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest;
...@@ -1660,12 +1662,17 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1660,12 +1662,17 @@ public class OrderServiceImpl implements Orderservice {
*/ */
private void setProductGroupInfo(List<ProductGroup> productGroupList, CreateOrderProductRequest product) { private void setProductGroupInfo(List<ProductGroup> productGroupList, CreateOrderProductRequest product) {
if (CollectionUtils.isEmpty(productGroupList)) return; if (CollectionUtils.isEmpty(productGroupList)) return;
// try{}catch (Exception e){e.printStackTrace();}
if (CollectionUtils.isNotEmpty(productGroupList.get(0).getGroupDetail())) { List<ProductGroupVo> targetGroupList = Lists.newArrayList();
product.setGroupId(productGroupList.get(0).getGroupDetail().get(0).getGroupId()); for (ProductGroup productGroup : productGroupList) {
for (GroupDetail groupDetail : productGroup.getGroupDetail()) {
ProductGroupVo productGroupVo = ProductGroupVo.builder()
.groupId(groupDetail.getGroupId()).groupName(productGroup.getName())
.thirdGroupId(productGroup.getGroupCode()).build();
targetGroupList.add(productGroupVo);
}
} }
product.setGroupName(productGroupList.get(0).getName()); product.setProductGroupList(targetGroupList);
product.setThirdGroupCode(productGroupList.get(0).getGroupCode());
} }
private String getThirdPropertyId(List<ProductAttributeGroup> productAttributeGroups, String addInfo) { private String getThirdPropertyId(List<ProductAttributeGroup> productAttributeGroups, String addInfo) {
......
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