Commit c1dc318f by huvchao@126.com

套餐商品商品组

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