Browse Source

整理代码+添加区县数据信息

syh 5 years ago
parent
commit
71b4ac3494

+ 33 - 4
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/jsonschema/JsonschemaUtil.java

@@ -1,5 +1,6 @@
 package org.jeecg.common.util.jsonschema;
 
+import java.io.*;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -11,10 +12,10 @@ import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
 public class JsonschemaUtil {
-	
+
 	/**
 	 * 生成JsonSchema
-	 * 
+     *
 	 * @param descrip
 	 * @param propertyList
 	 * @return
@@ -38,8 +39,8 @@ public class JsonschemaUtil {
         log.info("---JSONSchema--->" + obj.toJSONString());
 		return obj;
 	}
-	
-	/**
+
+    /**
 	 * 生成JsonSchema 用于子对象
 	 * @param title 子对象描述
 	 * @param requiredArr 子对象必填属性名集合
@@ -67,4 +68,32 @@ public class JsonschemaUtil {
 		return obj;
 	}
 
+    /**
+     * 读取json文件,返回json串
+     *
+     * @param fileName
+     * @return
+     */
+    public static String readJsonFile(String fileName) {
+        String jsonStr = "";
+        try {
+            File jsonFile = new File(fileName);
+            FileReader fileReader = new FileReader(jsonFile);
+
+            Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8");
+            int ch = 0;
+            StringBuffer sb = new StringBuffer();
+            while ((ch = reader.read()) != -1) {
+                sb.append((char) ch);
+            }
+            fileReader.close();
+            reader.close();
+            jsonStr = sb.toString();
+            return jsonStr;
+        } catch (IOException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
 }

+ 5 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

@@ -28,10 +28,10 @@ import org.springframework.context.annotation.DependsOn;
 
 @Configuration
 public class ShiroConfig {
-	
+
 	/**
-	 * Filter Chain定义说明 
-	 * 
+	 * Filter Chain定义说明
+	 *
 	 * 1、一个URL可以配置多个Filter,使用逗号分隔
 	 * 2、当设置多个过滤器时,全部验证通过,才视为通过
 	 * 3、部分过滤器可指定参数,如perms,roles
@@ -70,6 +70,8 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/sys/common/download/**", "anon");
         //pdf预览
         filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");
+		filterChainDefinitionMap.put("/ctop/bytedanceAreaInfo/**", "anon");
+
         //pdf预览需要文件
         filterChainDefinitionMap.put("/generic/**", "anon");
 		filterChainDefinitionMap.put("/", "anon");

+ 27 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAreaInfoController.java

@@ -56,6 +56,33 @@ public class BytedanceAreaInfoController {
     /**
      * 分页列表查询
      *
+     * @param code
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "省市县信息-分页列表查询")
+    @ApiOperation(value = "省市县信息-分页列表查询", notes = "省市县信息-分页列表查询")
+    @GetMapping(value = "/listbycode")
+    public Result<IPage<BytedanceAreaInfo>> queryPageListByCode(@RequestParam(name = "parentCode", defaultValue = "0") String code,
+                                                                @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                @RequestParam(name = "pageSize", defaultValue = "100") Integer pageSize,
+                                                                HttpServletRequest req) {
+        Result<IPage<BytedanceAreaInfo>> result = new Result<>();
+        BytedanceAreaInfo areaInfo = new BytedanceAreaInfo();
+        areaInfo.setParentCode(code);
+        QueryWrapper<BytedanceAreaInfo> queryWrapper = QueryGenerator.initQueryWrapper(areaInfo, req.getParameterMap());
+        Page<BytedanceAreaInfo> page = new Page<>(pageNo, pageSize);
+        IPage<BytedanceAreaInfo> pageList = bytedanceAreaInfoService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 分页列表查询
+     *
      * @param bytedanceAreaInfo
      * @param pageNo
      * @param pageSize

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/BytedanceAreaInfo.java

@@ -33,9 +33,9 @@ public class BytedanceAreaInfo {
     /**
      * id
      */
-    @TableId(type = IdType.UUID)
+    @TableId()
     @ApiModelProperty(value = "id")
-    private Integer id;
+    private Long id;
     /**
      * name
      */

+ 40 - 0
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -12,6 +12,9 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.shiro.crypto.hash.Hash;
 import org.jeecg.common.util.ResultMapUtils;
 import org.jeecg.common.util.StatusCode;
+import org.jeecg.common.util.jsonschema.JsonschemaUtil;
+import org.jeecg.modules.ctop.entity.BytedanceAreaInfo;
+import org.jeecg.modules.ctop.mapper.BytedanceAreaInfoMapper;
 import org.jeecg.modules.ctop.mapper.PlatformCampaignStatisticInfoMapper;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
 import org.jeecg.modules.ctop.service.IReportService;
@@ -28,6 +31,7 @@ import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
 import java.io.*;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -405,4 +409,40 @@ public class SampleTest {
         createInternalService.createInternal(json);
     }
 
+    @Autowired
+    private BytedanceAreaInfoMapper areaInfoMapper;
+
+    @Test
+    public void setJSONFile() {
+        String path = "C:\\Users\\宋英豪\\Downloads\\data_20190222\\city.json";
+        String jsonString = JsonschemaUtil.readJsonFile(path);
+        JSONObject data = JSONObject.parseObject(jsonString);
+        data.forEach((k, v) -> {
+            JSONObject getData = data.getJSONObject(k);
+            BytedanceAreaInfo areaInfo = new BytedanceAreaInfo();
+            Integer level = getData.getInteger("level");
+            Long id = getData.getLong("id");
+            String name = getData.getString("name");
+            System.out.println(name);
+            String parent = getData.getString("parent");
+            areaInfo.setId(id);
+            areaInfo.setLevel(level);
+            String code = id + "";
+            if (level == 1) {
+                areaInfo.setParentCode(parent);
+                areaInfo.setCode(code);
+            } else if (level == 2) {
+                areaInfo.setParentCode(code.substring(0, 2));
+                areaInfo.setCode(code.substring(0, 4));
+            } else {
+                areaInfo.setParentCode(code.substring(0, 4));
+                areaInfo.setCode(code);
+            }
+            areaInfo.setName(name);
+            areaInfo.setCreateTime(new Date());
+            areaInfo.setUpdateTime(new Date());
+            areaInfoMapper.insert(areaInfo);
+
+        });
+    }
 }