From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 五月 2020 17:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsSubClassAdminController.java |  363 +++++++++++++--------------------------------------
 1 files changed, 95 insertions(+), 268 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsSubClassAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsSubClassAdminController.java
index b81dc68..1a9080c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsSubClassAdminController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsSubClassAdminController.java
@@ -7,28 +7,27 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import net.sf.json.JSONObject;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.multipart.commons.CommonsMultipartFile;
+import org.yeshi.utils.JsonUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.reflect.TypeToken;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.bus.clazz.GoodsSubClass;
+import com.yeshi.fanli.entity.bus.clazz.GoodsSubClassLabelMap;
+import com.yeshi.fanli.entity.bus.clazz.TaoBaoClass;
+import com.yeshi.fanli.exception.goods.GoodsSubClassException;
+import com.yeshi.fanli.service.inter.clazz.GoodsSubClassLabelService;
 import com.yeshi.fanli.service.inter.goods.GoodsSubClassService;
+import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
 import com.yeshi.fanli.service.inter.lable.LabelClassService;
 import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.annotation.RequestNoLogin;
-import org.yeshi.utils.JsonUtil;
+
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("admin/new/api/v1/goodsSubClass")
@@ -39,150 +38,62 @@
 	@Resource
 	private LabelClassService labelClassService;
 
+	@Resource
+	private TaoBaoClassService taoBaoClassService;
+
+	@Resource
+	private GoodsSubClassLabelService goodsSubClassLabelService;
+
 	/**
-	 * 娣诲姞绫诲埆
+	 * 淇濆瓨淇℃伅
 	 * 
 	 * @param callback
-	 * @param goodsSubClass
-	 * @param request
+	 * @param special
 	 * @param out
 	 */
-	@RequestNoLogin()
-	@RequestMapping(value = "saveAdd", method = RequestMethod.POST)
-	public void saveAdd(String callback, Long pid, Integer type, GoodsSubClass goodsSubClass, 
-			HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
+	@RequestMapping(value = "save")
+	public void save(String callback, GoodsSubClass goodsSubClass, Long pid, Integer type, Long labelId,
+			HttpServletRequest request, PrintWriter out) {
+		if (goodsSubClass.getTaobaoCids() != null)
+			goodsSubClass.setTaobaoCids(goodsSubClass.getTaobaoCids().replace("锛�", ","));
 
-		response.setHeader("Access-Control-Allow-Origin", "*");
-		response.setHeader("Access-Control-Allow-Methods", "*");
 		try {
-
-			String name = goodsSubClass.getName();
-			if (StringUtil.isNullOrEmpty(name)) {
-				out.print(JsonUtil.loadFalseResult("绫诲埆鍚嶇О涓嶈兘涓虹┖"));
-				return;
-			}
-
-
-			if (pid == null) {
-				out.print(JsonUtil.loadFalseResult("涓婄骇id涓虹┖"));
-				return;
-			}
-			
-			if (type == null) {
-				out.print(JsonUtil.loadFalseResult("绛夌骇涓嶈兘涓虹┖"));
-				return;
-			}
-			
-			if (type > 5) {
-				out.print(JsonUtil.loadFalseResult("绛夌骇涓嶈兘瓒呰繃浜旂骇"));
-				return;
-			}
-			
-			String key = goodsSubClass.getKey();
-			if (StringUtil.isNullOrEmpty(key)) {
-				goodsSubClass.setKey(name.trim());
-			}
-			
-			// 榛樿鍋滅敤
-			goodsSubClass.setState(0);
-			
+			// 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷
 			if (request instanceof MultipartHttpServletRequest) {
-
-				int result;
-				List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
-				
-				goodsSubClass.setAndroidClick(0L);
-				goodsSubClass.setIosClick(0L);
-				goodsSubClass.setLevel(type);
-				goodsSubClass.setCreatetime(new Date());
-				goodsSubClass.setUpdatetime(new Date());
-				// 鎼滅储鏉′欢:鏈夊埜銆佸湪鍞环20-200銆佺墰鐨櫍杞诲井
-				goodsSubClass.setSearchJson("{\"quan\":1,\"endPrice\":220,\"includeGoodRate\":true}");
-				
-				if (type == 2) {
-					goodsSubClass.setRootClass(new GoodsClass(pid));
-					int weight = goodsSubClassService.getMaxWeightByRootId(pid);
-					goodsSubClass.setWeight(weight + 1);
-				} else {
-					goodsSubClass.setParent(new GoodsSubClass(pid));
-					int weight = goodsSubClassService.getMaxWeightByPid(pid);
-					goodsSubClass.setWeight(weight + 1);
-				}
-				
-				
-				
-				if (files != null && files.size() > 0) {
-					// 鍥剧墖鏂囦欢涓婁紶
-					result = goodsSubClassService.save(goodsSubClass, files.get(0));
-				} else {
-					// 鏃犲浘淇濆瓨
-					result = goodsSubClassService.save(goodsSubClass, null);
-				}
-
-				if (result == 1) {
-					out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
-				} else {
-					out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触"));
-				}
-
+				MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
+				goodsSubClassService.saveObject(fileRequest.getFile("file"), fileRequest.getFile("file2"),
+						goodsSubClass, type, pid, labelId);
 			} else {
-				out.print(JsonUtil.loadFalseResult("璇蜂紶閫掓纭殑鍙傛暟"));
+				goodsSubClassService.saveObject(null, null, goodsSubClass, type, pid, labelId);
 			}
 
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+		} catch (GoodsSubClassException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
-			out.print(JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触"));
 			e.printStackTrace();
 		}
-
 	}
-
+	
+	
 	/**
-	 * 淇濆瓨淇敼淇℃伅
-	 * 
+	 * 淇敼鐘舵��
 	 * @param callback
-	 * @param goodsSubClass
+	 * @param id
 	 * @param out
 	 */
-	@RequestMapping(value = "saveModify")
-	public void saveModify(String callback, GoodsSubClass goodsSubClass, PrintWriter out) {
-
+	@RequestMapping(value = "switchState")
+	public void switchState(String callback, Long id, PrintWriter out) {
 		try {
-
-			Long id = goodsSubClass.getId();
-			if (id == null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ绫诲埆"));
-				return;
-			}
-			
-			GoodsSubClass resultObj = goodsSubClassService.selectByPrimaryKey(id);
-			if (resultObj == null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ绫诲埆"));
-				return;
-			} 
-			
-			GoodsSubClass subClass = new GoodsSubClass();
-			
-			String name = goodsSubClass.getName();
-			if (!StringUtil.isNullOrEmpty(name)) {
-				subClass.setName(name);
-			}
-			// 鍏抽敭璇嶅彲浠ヤ负绌�
-			subClass.setKey(goodsSubClass.getKey());
-			
-			subClass.setId(id);
-			subClass.setUpdatetime(new Date());
-			subClass.setAndroidClick(resultObj.getAndroidClick());
-			subClass.setIosClick(resultObj.getIosClick());
-			goodsSubClassService.updateByPrimaryKeySelective(subClass);
-			
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛"));
-
+			goodsSubClassService.switchState(id);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
+		} catch (GoodsSubClassException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
 		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼澶辫触"));
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
 			e.printStackTrace();
-
 		}
-
 	}
 
 	/**
@@ -194,11 +105,10 @@
 	 */
 	@RequestMapping(value = "deleteBatch")
 	public void deleteBatch(String callback, String ids, PrintWriter out) {
-
 		Gson gson = new Gson();
-
 		try {
-			List<String> recordIds = gson.fromJson(ids, new TypeToken<ArrayList<String>>() {}.getType());
+			List<String> recordIds = gson.fromJson(ids, new TypeToken<ArrayList<String>>() {
+			}.getType());
 
 			if (recordIds == null || recordIds.size() == 0) {
 				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇烽�夋嫨闇�鍒犻櫎鏁版嵁")));
@@ -207,60 +117,10 @@
 				goodsSubClassService.deleteByPrimaryKeyBatch(recordIds);
 				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛")));
 			}
-
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")));
 			e.printStackTrace();
 		}
-
-	}
-
-	/**
-	 * 涓婁紶/淇敼 鍥剧墖
-	 * 
-	 * @param callback
-	 * @param file
-	 * @param request
-	 * @param out
-	 * @param response
-	 */
-	@RequestNoLogin()
-	@RequestMapping(value = "uploadPicture")
-	public void uploadPicture(Long id, @RequestParam("file") CommonsMultipartFile file, 
-			PrintWriter out, HttpServletResponse response) {
-
-		response.setHeader("Access-Control-Allow-Origin", "*");
-		response.setHeader("Access-Control-Allow-Methods", "*");
-
-		try {
-
-			GoodsSubClass goodsSubClass = goodsSubClassService.selectByPrimaryKey(id);
-
-			if (goodsSubClass == null) {
-				out.print(JsonUtil.loadFalseResult("璇ョ被鍒笉瀛樺湪鎴栧凡琚垹闄�"));
-				return;
-			}
-
-			if (file == null) {
-				out.print(JsonUtil.loadFalseResult("鍥剧墖鏂囦欢涓嶈兘涓虹┖"));
-				return;
-			}
-
-			int result = goodsSubClassService.uploadPicture(goodsSubClass, file);
-
-			if (result == 1) {
-				out.print(JsonUtil.loadTrueResult("涓婁紶鎴愬姛"));
-			} else {
-				out.print(JsonUtil.loadFalseResult("涓婁紶澶辫触"));
-			}
-
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-			out.print(JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-		}
-
 	}
 
 	/**
@@ -273,7 +133,6 @@
 	 */
 	@RequestMapping(value = "removePicture")
 	public void removePicture(String callback, Long id, PrintWriter out) {
-
 		try {
 			GoodsSubClass goodsSubClass = goodsSubClassService.selectByPrimaryKey(id);
 
@@ -291,13 +150,10 @@
 			} else {
 				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鍥剧墖鍒犻櫎鎴愬姛,鏁版嵁鏇存柊澶辫触")));
 			}
-
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")));
 		}
-
 	}
 
 	/**
@@ -308,20 +164,18 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "querySub")
-	public void querySub(String callback, Long pid, Integer type,PrintWriter out) {
-
+	public void querySub(String callback, Long pid, Integer type, PrintWriter out) {
 		try {
-			
 			if (pid == null) {
 				out.print(JsonUtil.loadFalseResult("涓婄骇id涓虹┖"));
 				return;
 			}
-			
+
 			if (type == null) {
 				out.print(JsonUtil.loadFalseResult("绛夌骇涓嶈兘涓虹┖"));
 				return;
 			}
-			
+
 			Integer state = null;
 			List<GoodsSubClass> goodsSubClassList = new ArrayList<GoodsSubClass>();
 			if (type == 2) {
@@ -329,31 +183,59 @@
 			} else {
 				goodsSubClassList = goodsSubClassService.queryByPid(pid, state);
 			}
-			
+
 			if (goodsSubClassList == null || goodsSubClassList.size() == 0) {
 				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")));
 				return;
-			} 
-			
-			for (GoodsSubClass goodsSubClass:goodsSubClassList) {
+			}
+
+			for (GoodsSubClass goodsSubClass : goodsSubClassList) {
 				Long iosClick = goodsSubClass.getIosClick();
 				Long androidClick = goodsSubClass.getAndroidClick();
-				
+
 				if (iosClick != null && androidClick != null) {
-					goodsSubClass.setCountClick(iosClick+androidClick);
-				} else if(androidClick != null) {
+					goodsSubClass.setCountClick(iosClick + androidClick);
+				} else if (androidClick != null) {
 					goodsSubClass.setCountClick(androidClick);
-				} else if(iosClick != null) {
+				} else if (iosClick != null) {
 					goodsSubClass.setCountClick(iosClick);
-				} else{
+				} else {
 					goodsSubClass.setCountClick(0l);
 				}
-				
+
+				String searchJson = goodsSubClass.getSearchJson();
+				if (searchJson == null) {
+					goodsSubClass.setSearchParam("");
+				} else {
+					goodsSubClass.setSearchParam(searchJson);
+				}
+
 				int countlabel = labelClassService.getCountQueryBySubClassId(goodsSubClass.getId());
 				goodsSubClass.setCountlabel(countlabel);
+
+				// 鏌ヨ娣樺疂鍒嗙被
+				List<TaoBaoClass> listTB = taoBaoClassService.listBySystemSubCid(0, 10000, goodsSubClass.getId());
+				if (listTB == null || listTB.size() == 0) {
+					goodsSubClass.setTaobaoCids("");
+				} else {
+					String taobaoCids = "";
+					for (TaoBaoClass taoBaoClass : listTB) {
+						taobaoCids = taobaoCids + taoBaoClass.getCategoryName() + "-" + taoBaoClass.getCategoryId()
+								+ ",";
+					}
+
+					if (!StringUtil.isNullOrEmpty(taobaoCids)) {
+						taobaoCids = taobaoCids.substring(0, taobaoCids.length() - 1);
+					}
+					goodsSubClass.setTaobaoCids(taobaoCids);
+				}
+
+				// 鏌ヨ鏍囩
+				GoodsSubClassLabelMap map = goodsSubClassLabelService.selectBySubClassId(goodsSubClass.getId());
+				if (map != null)
+					goodsSubClass.setClassLabel(map.getLabel());
+
 			}
-			
-		
 
 			GsonBuilder gsonBuilder = new GsonBuilder();
 			gsonBuilder.serializeNulls(); // 閲嶇偣
@@ -362,14 +244,12 @@
 			JSONObject data = new JSONObject();
 			data.put("subClassList", gson.toJson(goodsSubClassList));
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-
 		} catch (Exception e) {
 			e.printStackTrace();
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")));
 		}
 	}
 
-	
 	/**
 	 * 鏌ユ壘浜岀骇涓嬬殑鍏朵粬绾у垎绫�
 	 * 
@@ -378,7 +258,6 @@
 	 */
 	@RequestMapping(value = "queryOverSecond")
 	public void queryOverSecond(String callback, Long pid, PrintWriter out) {
-
 		try {
 			Integer state = null;
 			List<GoodsSubClass> goodsSubClassList = goodsSubClassService.queryByPid(pid, state);
@@ -395,14 +274,12 @@
 			JSONObject data = new JSONObject();
 			data.put("subClassList", gson.toJson(goodsSubClassList));
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-
 		} catch (Exception e) {
 			e.printStackTrace();
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")));
 		}
 	}
-	
-	
+
 	/**
 	 * 淇敼鎺掑簭
 	 * 
@@ -412,97 +289,47 @@
 	 */
 	@RequestMapping(value = "saveOrder")
 	public void saveOrder(String callback, Long id, Integer type, Integer moveType, PrintWriter out) {
-
 		try {
-			
 			if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掔殑绫诲瀷涓嶆纭�"));
 				return;
 			}
-			
 
 			GoodsSubClass resultObj = goodsSubClassService.selectByPrimaryKey(id);
 			if (resultObj == null) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ绫诲埆"));
 				return;
-			} 
+			}
 
 			int resultWeight = resultObj.getWeight();
-			
+
 			List<GoodsSubClass> list = null;
 			if (type == 2) {
 				GoodsClass rootClass = resultObj.getRootClass();
-				list= goodsSubClassService.queryByRootIdAndWeight(rootClass.getId(), moveType, resultWeight);
+				list = goodsSubClassService.queryByRootIdAndWeight(rootClass.getId(), moveType, resultWeight);
 			} else {
 				GoodsSubClass parent = resultObj.getParent();
 				list = goodsSubClassService.queryByPidAndWeight(parent.getId(), moveType, resultWeight);
 			}
-			
+
 			if (list != null && list.size() > 0) {
 				GoodsSubClass changeObj = list.get(0);
 				// 浜ゆ崲鎺掑簭搴忓彿
 				resultObj.setWeight(changeObj.getWeight());
-				
+
 				changeObj.setWeight(resultWeight);
-				
+
 				changeObj.setUpdatetime(new Date());
-				goodsSubClassService.updateByPrimaryKey(changeObj);
+				goodsSubClassService.updateByPrimaryKeySelective(changeObj);
 			}
 
-			resultObj.setUpdatetime(new Date());
-			goodsSubClassService.updateByPrimaryKey(resultObj);
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
-
-		} catch (Exception e) {
-			e.printStackTrace();
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
-		}
-
-	}
-	
-	
-	/**
-	 * 淇敼鎺掑簭
-	 * 
-	 * @param callback
-	 * @param goodsClass
-	 * @param out
-	 */
-	@RequestMapping(value = "saveState")
-	public void saveState(String callback, Long id,  PrintWriter out) {
-
-		try {
-			
-			if (id == null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ绫诲埆"));
-				return;
-			}
-			
-			GoodsSubClass resultObj = goodsSubClassService.selectByPrimaryKey(id);
-			if (resultObj == null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ绫诲埆"));
-				return;
-			} 
-			
-			Integer state = resultObj.getState();
-			if (state.equals(1) || state == 1) {
-				state = 0;
-			} else {
-				state = 1;
-			}
-			
-			resultObj.setState(state);
 			resultObj.setUpdatetime(new Date());
 			goodsSubClassService.updateByPrimaryKeySelective(resultObj);
-			
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(state));
-
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
 		} catch (Exception e) {
 			e.printStackTrace();
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
 		}
-
 	}
 
 }

--
Gitblit v1.8.0