|
@@ -9,6 +9,7 @@ import cn.hutool.core.util.ArrayUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fs.common.BeanCopyUtils;
|
|
|
import com.fs.common.core.domain.R;
|
|
@@ -172,17 +173,16 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<String, Object> getFormatAttr(Long productId, String jsonStr) {
|
|
|
- JSONObject jsonObject = JSON.parseObject(jsonStr);
|
|
|
+ public Map<String, Object> getFormatAttr(Long productId, String jsonStr,Long[] stores) {
|
|
|
+ JSONArray jsonObject = JSON.parseArray(jsonStr);
|
|
|
Map<String, Object> resultMap = new LinkedHashMap<>(3);
|
|
|
- if (jsonObject == null || jsonObject.get("attrs") == null || jsonObject.getJSONArray("attrs").isEmpty()) {
|
|
|
+ if (jsonObject == null || jsonObject.isEmpty()) {
|
|
|
resultMap.put("attr", new ArrayList<>());
|
|
|
resultMap.put("value", new ArrayList<>());
|
|
|
resultMap.put("header", new ArrayList<>());
|
|
|
return resultMap;
|
|
|
}
|
|
|
- List<ProductArrtDTO> fromatDetailDTOList = JSON.parseArray(jsonObject.get("attrs").toString(),
|
|
|
- ProductArrtDTO.class);
|
|
|
+ List<ProductArrtDTO> fromatDetailDTOList = JSON.parseArray(jsonStr, ProductArrtDTO.class);
|
|
|
DetailVO detailDto = this.attrFormat(fromatDetailDTOList);
|
|
|
List<Map<String, Object>> headerMapList = null;
|
|
|
List<Map<String, Object>> valueMapList = new ArrayList<>();
|
|
@@ -220,48 +220,51 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
|
|
|
String key = "value" + (j + 1);
|
|
|
valueMap.put(key, detailValues[j]);
|
|
|
}
|
|
|
-
|
|
|
- valueMap.put("detail", detail);
|
|
|
- valueMap.put("sku", "");
|
|
|
- valueMap.put("image", "");
|
|
|
- valueMap.put("price", 0);
|
|
|
- valueMap.put("cost", 0);
|
|
|
- valueMap.put("otPrice", 0);
|
|
|
- valueMap.put("stock", 0);
|
|
|
- valueMap.put("barCode", "");
|
|
|
- valueMap.put("groupBarCode", "");
|
|
|
- valueMap.put("agentPrice", 0);
|
|
|
- valueMap.put("weight", 0);
|
|
|
- valueMap.put("volume", 0);
|
|
|
- valueMap.put("brokerage", 0);
|
|
|
- valueMap.put("brokerageTwo", 0);
|
|
|
- valueMap.put("brokerageThree", 0);
|
|
|
- valueMap.put("integral", 0);
|
|
|
if (productId > 0) {
|
|
|
FsStoreProductAttrValueScrm attrValueMap=new FsStoreProductAttrValueScrm();
|
|
|
attrValueMap.setProductId(productId);
|
|
|
attrValueMap.setSku(sku);
|
|
|
List<FsStoreProductAttrValueScrm> values = fsStoreProductAttrValueMapper.selectFsStoreProductAttrValueList(attrValueMap);
|
|
|
- if (values != null&&values.size()==1) {
|
|
|
- valueMap.put("id",values.get(0).getId());
|
|
|
- valueMap.put("sku",values.get(0).getSku());
|
|
|
- valueMap.put("image", values.get(0).getImage());
|
|
|
- valueMap.put("price", values.get(0).getPrice());
|
|
|
- valueMap.put("cost", values.get(0).getCost());
|
|
|
- valueMap.put("otPrice", values.get(0).getOtPrice());
|
|
|
- valueMap.put("agentPrice", values.get(0).getAgentPrice());
|
|
|
- valueMap.put("stock", values.get(0).getStock());
|
|
|
- valueMap.put("barCode", values.get(0).getBarCode());
|
|
|
- valueMap.put("groupBarCode", values.get(0).getGroupBarCode());
|
|
|
- valueMap.put("weight", values.get(0).getWeight());
|
|
|
- valueMap.put("volume", values.get(0).getVolume());
|
|
|
- valueMap.put("brokerage", values.get(0).getBrokerage());
|
|
|
- valueMap.put("brokerageTwo", values.get(0).getBrokerageTwo());
|
|
|
- valueMap.put("brokerageThree", values.get(0).getBrokerageThree());
|
|
|
- valueMap.put("integral", values.get(0).getIntegral());
|
|
|
+ for (FsStoreProductAttrValueScrm value : values){
|
|
|
+ valueMap.put("detail", value.getDetail());
|
|
|
+ valueMap.put("sku", value.getSku());
|
|
|
+ valueMap.put("image", value.getImage());
|
|
|
+ valueMap.put("price", value.getPrice());
|
|
|
+ valueMap.put("cost", value.getCost());
|
|
|
+ valueMap.put("otPrice", value.getOtPrice());
|
|
|
+ valueMap.put("stock", value.getStock());
|
|
|
+ valueMap.put("barCode", value.getBarCode());
|
|
|
+ valueMap.put("groupBarCode", value.getGroupBarCode());
|
|
|
+ valueMap.put("agentPrice", value.getAgentPrice());
|
|
|
+ valueMap.put("weight", value.getWeight());
|
|
|
+ valueMap.put("volume", value.getVolume());
|
|
|
+ valueMap.put("brokerage", value.getBrokerage());
|
|
|
+ valueMap.put("brokerageTwo", value.getBrokerageTwo());
|
|
|
+ valueMap.put("brokerageThree", value.getBrokerageThree());
|
|
|
+ valueMap.put("integral", value.getIntegral());
|
|
|
+ valueMap.put("storeId", value.getStoreId());
|
|
|
+ valueMapList.add(ObjectUtil.clone(valueMap));
|
|
|
}
|
|
|
+ } else {
|
|
|
+ valueMap.put("detail", detail);
|
|
|
+ valueMap.put("sku", "");
|
|
|
+ valueMap.put("image", "");
|
|
|
+ valueMap.put("price", 0);
|
|
|
+ valueMap.put("cost", 0);
|
|
|
+ valueMap.put("otPrice", 0);
|
|
|
+ valueMap.put("stock", 0);
|
|
|
+ valueMap.put("barCode", "");
|
|
|
+ valueMap.put("groupBarCode", "");
|
|
|
+ valueMap.put("agentPrice", 0);
|
|
|
+ valueMap.put("weight", 0);
|
|
|
+ valueMap.put("volume", 0);
|
|
|
+ valueMap.put("brokerage", 0);
|
|
|
+ valueMap.put("brokerageTwo", 0);
|
|
|
+ valueMap.put("brokerageThree", 0);
|
|
|
+ valueMap.put("integral", 0);
|
|
|
+ valueMap.put("storeId", "");
|
|
|
+ valueMapList.add(ObjectUtil.clone(valueMap));
|
|
|
}
|
|
|
- valueMapList.add(ObjectUtil.clone(valueMap));
|
|
|
}
|
|
|
this.addHeaderMap(headerMap, headerMapList, align);
|
|
|
resultMap.put("attr", fromatDetailDTOList);
|
|
@@ -293,7 +296,7 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
|
|
|
.build();
|
|
|
List<ProductArrtDTO> items=new ArrayList<>();
|
|
|
items.add(fromatDetailDto);
|
|
|
- param.getValues().get(0).setSku("默认");
|
|
|
+ param.getValues().forEach(value -> value.setSku("默认"));
|
|
|
addProductAttr(product.getProductId(),items,param.getValues());
|
|
|
} else {
|
|
|
addProductAttr(product.getProductId(),param.getItems(),param.getValues());
|
|
@@ -345,7 +348,6 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
|
|
|
Map<String,Object> map = new LinkedHashMap<>();
|
|
|
map.put("attr",items);
|
|
|
// map.put("value",values);
|
|
|
-
|
|
|
for(FsStoreProductAttrValueScrm val: values){
|
|
|
//更新套餐商品属性ID 获取套餐
|
|
|
Long id=val.getId();
|
|
@@ -364,7 +366,6 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|