From a501b77ada79a4ffdc3210771ce3f24372a3ddeb Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 26 六月 2025 14:26:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java | 137 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 133 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java index 85abc89..4269564 100644 --- a/server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java +++ b/server/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java @@ -1,5 +1,7 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.doumee.core.annotation.excel.ExcelImporter; import com.doumee.core.constants.Constants; import com.doumee.core.constants.ResponseStatus; @@ -13,6 +15,7 @@ import com.doumee.dao.business.model.Company; import com.doumee.dao.business.vo.CategoryDcaProblemDto; import com.doumee.dao.business.vo.CompanyTree; +import com.doumee.dao.web.vo.CategoryMapTree; import com.doumee.dao.web.vo.CategoryVO; import com.doumee.dao.web.vo.CategoryVOTree; import com.doumee.dao.business.vo.CategoryTree; @@ -36,11 +39,11 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -744,4 +747,130 @@ } } + + + @Override + public void dealjson(){ + String json = ""; + BufferedReader reader = null; + try { + reader = new BufferedReader(new FileReader("d://file.txt")); + String line; + while ((line = reader.readLine()) != null) { + json = json + line; + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (reader != null){ + reader.close(); + }; + } catch (IOException e) { + e.printStackTrace(); + } + } + JSONObject jsonObject = JSONObject.parseObject(json); + JSONArray jsonArray = jsonObject.getJSONArray("data"); + + List<Map<String,Object>> mapList = new ArrayList<>(); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsons = jsonArray.getJSONObject(i); + Map<String,Object> map = new HashMap<>(); + map.put("id",jsons.getString("id")); + map.put("level",jsons.getInteger("level")); + map.put("name",jsons.getString("name")); + map.put("parentId",jsons.getString("parentId")); + mapList.add(map); + } + CategoryMapTree categoryMapTree = new CategoryMapTree(mapList); + mapList = categoryMapTree.buildTree(); + + for (Map<String,Object> map:mapList) { + Category category = new Category(); + category.setCreateDate(new Date()); + category.setIsdeleted(Constants.ZERO); + category.setStatus(Constants.ZERO); + category.setType(Constants.SIX); + category.setName(map.get("name").toString()); + category.setNamePath(map.get("name").toString()); + categoryMapper.insert(category); + if(Objects.nonNull(map.get("childTree"))){ + List<Map<String,Object>> childOneMap = (List<Map<String, Object>>) map.get("childTree"); + for (Map<String,Object> oneMap:childOneMap) { + Category oneCategory = new Category(); + oneCategory.setCreateDate(new Date()); + oneCategory.setIsdeleted(Constants.ZERO); + oneCategory.setStatus(Constants.ZERO); + oneCategory.setType(Constants.SIX); + oneCategory.setName(oneMap.get("name").toString()); + oneCategory.setNamePath(category.getNamePath()+"/"+oneCategory.getName()); + oneCategory.setParentId(category.getId()); + categoryMapper.insert(oneCategory); + + if(Objects.nonNull(oneMap.get("childTree"))){ + List<Map<String,Object>> childTwoMap = (List<Map<String, Object>>) oneMap.get("childTree"); + for (Map<String,Object> twoMap:childTwoMap) { + Category twoCategory = new Category(); + twoCategory.setCreateDate(new Date()); + twoCategory.setIsdeleted(Constants.ZERO); + twoCategory.setStatus(Constants.ZERO); + twoCategory.setType(Constants.SIX); + twoCategory.setName(twoMap.get("name").toString()); + twoCategory.setNamePath(oneCategory.getNamePath() + "/" + twoCategory.getName()); + twoCategory.setParentId(oneCategory.getId()); + categoryMapper.insert(twoCategory); + } + } + } + + + + + + + } + + } + + + + +// for (int i = 0; i < jsonArray.size(); i++) { +// JSONObject jsonObject1 = jsonArray.getJSONObject(i); +// if(Constants.equalsInteger(jsonObject1.getInteger("level"),Constants.ONE)){ +// Boolean iHavaChild = false; +// for (int k = 0; i < jsonArray.size(); i++) { +// JSONObject jsonObject2 = jsonArray.getJSONObject(k); +// +// Boolean kHavaChild = false; +// if(Constants.equalsInteger(jsonObject2.getInteger("level"),Constants.TWO) +// &&jsonObject2.getString("parentId").equals(jsonObject1.getString("id"))){ +// iHavaChild = true; +// +// for (int g = 0; i < jsonArray.size(); i++) { +// JSONObject jsonObject3 = jsonArray.getJSONObject(g); +// if(Constants.equalsInteger(jsonObject3.getInteger("level"),Constants.THREE) +// &&jsonObject3.getString("parentId").equals(jsonObject2.getString("id"))) { +// kHavaChild = true; +// +// System.out.println(j.getString("id")+"---"+j.getString("name").replace("\n","")+"---"+j.getInteger("level")+"---"+j.getString("parentId")); +// } +// } +// +// } +// } +// if(!iHavaChild){ +// +// } +// } +// +// +//// System.out.println(j.getString("id")+"---"+j.getString("name").replace("\n","")+"---"+j.getInteger("level")+"---"+j.getString("parentId")); +// } + + + + } + } -- Gitblit v1.9.3