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