Browse Source

Merge branch 'dev' into 'mp-server-test'

商品规格修改

See merge request quanshu/mp-server!202
zhong chunping 3 năm trước cách đây
mục cha
commit
5f11f39a60

+ 34 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -22,7 +22,11 @@ import ma.glasnost.orika.MapperFacade;
 
 import java.net.URLDecoder;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -220,6 +224,36 @@ public class GoodsMgrController extends BaseApiController {
 		return AjaxResult.success("商品'" + goods.getTitle() + "'新增成功");
 	}
 
+	// 获取商品的sku
+	public String getGoodsSku(List<GoodsSku> skuList) {
+		String goosSku= "";
+		List<Map<String,Object>> skuMapList = new ArrayList<Map<String,Object>>();
+		if(null != skuList && skuList.size() > 0) {
+			for(GoodsSku sku : skuList) {
+				if(null != sku && StringUtils.isNotBlank(sku.getProperties())) {
+					String[] skuAry = sku.getProperties().split(";");
+					if(null != skuAry && skuAry.length > 0) {
+						for (int i = 0; i < skuAry.length; i++) {
+							String item = skuAry[i];
+							String[] itemAry = item.split(":");
+							if(null != itemAry && itemAry.length > 1) {
+								String key = itemAry[0];
+								Object value = itemAry[1];
+								Map<String,Object> map = new HashMap<String,Object>();
+								map.put(key,value);
+								skuMapList.add(map);
+							}
+						}
+					}
+				}
+			}
+		}
+		if(null != skuMapList && skuMapList.size() > 0) {
+			// 合并key相同的Map
+			
+		}
+		return goosSku;
+	}
 
 
 	/**

+ 74 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/Goods.java

@@ -1,5 +1,6 @@
 package com.qs.mp.admin.domain;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.annotation.JSONField;
 import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -9,8 +10,16 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.qs.mp.common.enums.GoodsStatusEnum;
 
+
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.*;
+
 import lombok.Data;
 
 /**
@@ -134,6 +143,71 @@ public class Goods implements Serializable {
    */
   @TableField("updated_time")
   private Date updatedTime;
+  
+  public static void main(String[] args) {
+	  List<Map<String,Object>> lists=new ArrayList<>();
+	  Map<String,Object> map1 = new HashMap<String,Object>();
+	  map1.put("大小", 1);
+	  lists.add(map1);
+	  Map<String,Object> map2 = new HashMap<String,Object>();
+	  map2.put("大小", 2);
+	  lists.add(map2);
+	  Map<String,Object> map3 = new HashMap<String,Object>();
+	  map3.put("名字", "胜多负少");
+	  lists.add(map3);
+	  
+	  Map<String,Object> map4 = new HashMap<String,Object>();
+	  map4.put("大小", 4);
+	  lists.add(map4);
+	  
+	  System.out.println(lists.toString());
+	  
+	  Map<String,Object> map = lists.stream().flatMap(m -> m.entrySet().stream())
+              .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> getObjValue(a,b))); 
+	  
+	  System.out.println(map.toString());
+	  
+	  List<Map<String,Object>> mapList=new ArrayList<>(); 
+	  
+	  for(Map.Entry<String, Object> entry:map.entrySet()) {
+          //map.entrySet()  返回此映射中包含的映射关系的Set视图
+          //Map.Entry<Integer, String> 映射项 (键值对)
+		  String key = entry.getKey();
+		  Object value = entry.getValue();
+          System.out.println("key="+entry.getKey()+" value="+entry.getValue());
+
+          
+          Map<String,Object> mapObj = new HashMap<String,Object>();
+          mapObj.put("name", key);
+          String val = value.toString();
+          if(val.contains(",")) {
+        	  mapObj.put("value", val.split(","));
+          }else {
+        	  mapObj.put("value", value);
+          }
+          mapList.add(mapObj);
+      }
+	  
+}
+  
+ 
+  
+  static Object getObjValue(Object a, Object b){
+	  List<Object> list = new ArrayList<>();
+	  list.add(a);
+	  list.add(b);
+	  return list;
+	  
+  }
+  
+  
+  public static boolean isArray(Object obj) {
+      if (obj == null) {
+          return false;
+      }
+
+      return obj.getClass().isArray();
+  }
 
 
 }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/GoodsListVO.java

@@ -58,6 +58,12 @@ public class GoodsListVO {
    * 已兑换量
    */
   private Integer exchangedQty;
+  
+  /**
+   * 规格描述
+   */
+  private String skuProp;
+
 
   /**
    * 上架状态;上架/下架

+ 6 - 1
mp-service/src/main/java/com/qs/mp/admin/domain/vo/GoodsVO.java

@@ -84,10 +84,15 @@ public class GoodsVO {
 	 */
 	private Integer multiSku;
 
+	/**
+	 * 规格描述
+	 */
+	private String skuProp;
+
 	/**
 	 * 上架状态;上架/下架
 	 */
-	 @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
 	private GoodsStatusEnum status;
 
 	/**