Selaa lähdekoodia

题库抓取等等

小么熊🐻 3 vuotta sitten
vanhempi
commit
ffbb772191

+ 3 - 3
zzjs-admin/src/test/java/com/miaxis/test/KTRename.java

@@ -27,8 +27,8 @@ public class KTRename {
     @Test
     public void testExcel() throws Exception {
 
-        String saveDir = "G:\\中正\\题库图\\kt\\1743_new";
-        File winDir = new File("G:\\中正\\题库图\\kt\\1743");
+        String saveDir = "G:\\中正\\题库图\\image_new";
+        File winDir = new File("G:\\中正\\题库图\\需改名");
         File[] files = winDir.listFiles();
 
         for (int i = 0; i < files.length; i++) {
@@ -37,7 +37,7 @@ public class KTRename {
             System.out.println(files[i].getName());
 
             String fileName = files[i].getName();
-            String fileNameNew = "explain"+fileName;
+            String fileNameNew = "image"+fileName;
 
             File file = new File(saveDir + File.separator + fileNameNew);
 

+ 153 - 0
zzjs-admin/src/test/java/com/miaxis/test/KTRename2.java

@@ -0,0 +1,153 @@
+package com.miaxis.test;
+
+
+import com.miaxis.ZzjsApplication;
+import com.miaxis.question.service.IQuestionInfoKtGetService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+
+@SpringBootTest(classes = ZzjsApplication.class)
+@RunWith(SpringRunner.class)
+public class KTRename2 {
+
+
+    @Autowired
+    private IQuestionInfoKtGetService questionInfoGetService;
+
+    @Test
+    public void testExcel() throws Exception {
+
+        String saveDir = "G:\\中正\\题库图\\5077-5505-new2";
+        File winDir = new File("G:\\中正\\题库图\\5077-5505");
+        File[] files = winDir.listFiles();
+
+        for (int i = 0; i < files.length; i++) {
+            System.out.println(files[i]);
+            InputStream is = new FileInputStream(files[i]);
+            String fileName = files[i].getName();
+            fileName.indexOf("image");
+            fileName.indexOf(".jpg");
+            String fileName2 = fileName.substring(fileName.lastIndexOf("image")+5,fileName.indexOf(".jpg"));
+            System.out.println("fileName2 = " + fileName2);
+            String fileName3 = fileName2.substring(0,2);
+            System.out.println("fileName3 = " + fileName3);
+            String fileName4 = fileName2.substring(2,4);
+            System.out.println("fileName4 = " + fileName4);
+
+            String fileName5 = null;
+            if("50".equals(fileName3)) {
+                fileName5="image"+"190"+fileName4+".jpg";
+            } else if ("51".equals(fileName3)){
+                fileName5="image"+"191"+fileName4+".jpg";
+            } else if ("52".equals(fileName3)) {
+                fileName5="image"+"192"+fileName4+".jpg";
+            } else if ("53".equals(fileName3)) {
+                fileName5="image"+"193"+fileName4+".jpg";
+            } else if ("54".equals(fileName3)) {
+                fileName5="image"+"194"+fileName4+".jpg";
+            } else if ("55".equals(fileName3)) {
+                fileName5="image"+"195"+fileName4+".jpg";
+            }
+            System.out.println("fileName5 = " + fileName5);
+
+            File file = new File(saveDir + File.separator + fileName5);
+
+            //获取自己数组
+            byte[] getData = readInputStream(is);
+            FileOutputStream fos = new FileOutputStream(file);
+            fos.write(getData);
+            if (fos != null) {
+                fos.close();
+            }
+            if (is != null) {
+                is.close();
+            }
+        }
+
+       // downLoadFromUrl(mediaUrl, fileName, "G:\\中正\\题库图\\kt\\explain_js_mp3"); //要修改
+
+    }
+
+    public static void downLoadFromUrl(String urlStr, String fileName, String savePath) throws IOException {
+        URL url = new URL(urlStr);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        //设置超时间为3秒
+        conn.setConnectTimeout(3 * 1000);
+        //防止屏蔽程序抓取而返回403错误
+        conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
+        //得到输入流
+        InputStream inputStream = conn.getInputStream();
+
+        //获取自己数组
+        byte[] getData = readInputStream(inputStream);
+
+        //文件保存位置
+        File saveDir = new File(savePath);
+        if (!saveDir.exists()) {
+            saveDir.mkdir();
+        }
+        int index = fileName.lastIndexOf(".");
+        String first = fileName.substring(0, index);
+        String lastName = fileName.substring(index);
+        System.out.println(fileName);
+        System.out.println(first);
+        first += lastName; //要修改
+        System.out.println(first);
+
+        File file = new File(saveDir + File.separator + first);
+
+        FileOutputStream fos = new FileOutputStream(file);
+
+        fos.write(getData);
+
+        if (fos != null) {
+            fos.close();
+        }
+        if (inputStream != null) {
+
+            inputStream.close();
+        }
+        System.out.println("info:" + url + " download success");
+    }
+
+
+    /**
+     * 从输入流中获取字节数组
+     *
+     * @param inputStream
+     * @return
+     * @throws IOException
+     */
+    public static byte[] readInputStream(InputStream inputStream) throws IOException {
+
+        byte[] buffer = new byte[1024];
+
+        int len = 0;
+
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        while ((len = inputStream.read(buffer)) != -1) {
+            bos.write(buffer, 0, len);
+        }
+        bos.close();
+
+        return bos.toByteArray();
+
+    }
+
+    public static void main(String[] args) throws Exception {
+
+        KTRename2 t = new KTRename2();
+        t.testExcel();
+
+    }
+
+
+}

+ 48 - 0
zzjs-service/src/main/java/com/miaxis/feign/service/IKtService.java

@@ -0,0 +1,48 @@
+package com.miaxis.feign.service;
+
+import com.miaxis.common.config.FeignConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(name="ktService",
+        url = "https://app.kuaitongjiakao.com/",configuration = FeignConfig.class)
+@Component
+public interface IKtService {
+
+
+
+
+    /**
+     *  主目录
+     * @param model 小车:cart | 客车:bus | 货车:truck | 摩托车:mtc
+     * @param subject  k1:顺序练习 | k1_2:精选必考题 | k1_3:分类练习 |k1_4:地方题库
+     * @param time 时间戳
+     * @return
+     */
+    @GetMapping(value = "skill/getColumn")
+    String getInfo(
+            @RequestParam("model") String model,
+            @RequestParam("subject") String subject,
+            @RequestParam("time") String time);
+
+
+    /**
+     *  获取题目
+     * @param model 小车:cart | 客车:bus | 货车:truck | 摩托车:mtc
+     * @param columnid  主目录id
+     * @param columnZh 主目录标题
+     * @param subject k1:顺序练习 | k1_2:精选必考题 | k1_3:分类练习 |k1_4:地方题库
+     * @param time 时间戳
+     * @return
+     */
+    @GetMapping(value = "question/getQuestions")
+    String getQuestion(
+            @RequestParam("model") String model,
+            @RequestParam("columnid") String columnid,
+            @RequestParam("columnZh") String columnZh,
+            @RequestParam("subject") String subject,
+            @RequestParam("time") String time);
+
+}

+ 64 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionInfoFlDTO.java

@@ -0,0 +1,64 @@
+package com.miaxis.question.dto;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+@ApiModel(value = "QuestionInfoFlDTO", description = "返回精选分类")
+public class QuestionInfoFlDTO extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+
+
+    /** 是否是C1,C2,C3驾驶证题目 */
+    @ApiModelProperty(value = "是否是C1,C2,C3驾驶证题目 1:是 2:否")
+    private String liceCar;
+
+    /** 是否是A1\A3\B1驾驶证题目 */
+    @ApiModelProperty(value = "是否是A1,A3,B1驾驶证题目 1:是 2:否")
+    private String liceBus;
+
+    /** 是否是A2\B2驾驶证题目 */
+    @ApiModelProperty(value = "是否是A2,B2驾驶证题目 1:是 2:否")
+    private String liceTruck;
+
+    /** 是否是D\E\F驾驶证题目 */
+    @ApiModelProperty(value = "是否是D,E,F驾驶证题目 1:是 2:否")
+    private String liceMoto;
+
+    /** 科目 */
+    @ApiModelProperty(value = "科目")
+    private Integer subject;
+
+    /** 模块名称 */
+    @ApiModelProperty(value = "模块名称(模糊查询)")
+    private String excellIssueName;
+
+    /** 分类练习排序字段 */
+    @ApiModelProperty(value = "分类练习排序字段")
+    private Integer classSort;
+
+    /** 精选考题排序字段 */
+    @ApiModelProperty(value = "精选考题排序字段")
+    private Integer excellSort;
+
+
+    /** 顺序练习排序字段 */
+    @ApiModelProperty(value = "顺序练习排序字段")
+    private Integer sequeSort;
+
+
+    /** 地方专题排序字段 */
+    @ApiModelProperty(value = "地方专题排序字段")
+    private Integer placeSort;
+
+
+
+}

+ 27 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionInfoFreeDTO.java

@@ -0,0 +1,27 @@
+package com.miaxis.question.dto;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 地方题选分类返回对象
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+@ApiModel(value = "QuestionInfoTestDTO", description = "模拟考试输入对象")
+public class QuestionInfoFreeDTO extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(hidden = true)
+    private Integer questionType;
+
+    @ApiModelProperty(hidden = true)
+    private Integer num;
+
+    @ApiModelProperty(value = "科目")
+    private Integer subject;
+}

+ 37 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionInfoIssueTypeDTO.java

@@ -0,0 +1,37 @@
+package com.miaxis.question.dto;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 题库对象 question_info
+ *
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+public class QuestionInfoIssueTypeDTO extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    /**  主键 */
+    @ApiModelProperty(value = "科目")
+    private String subject;
+
+    /** 在所有题目中的序号 */
+    @ApiModelProperty(value = "类型参数: 1--按分类专题分类,2--按精选专题分类,3--按地方专题分类,4--按顺序练习分类")
+    private Integer  issueTypeValue;
+
+    /** 正确答案 */
+    @ApiModelProperty(value = "分类id值")
+    private String issueValue;
+
+    @ApiModelProperty(value = "分类字段名",hidden = true)
+    private String issueTypeParmName;
+
+    @ApiModelProperty(value = "排序字段名",hidden = true)
+    private String sortName;
+
+
+}

+ 39 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionInfoSortDTO.java

@@ -0,0 +1,39 @@
+package com.miaxis.question.dto;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 题库对象 question_info
+ *
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+public class QuestionInfoSortDTO extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    /**  主键 */
+    @ApiModelProperty(value = "科目")
+    private String subject;
+
+    @ApiModelProperty(value = "类型参数: 1--按分类专题分类,2--按精选专题分类,3--按地方专题分类,4--按顺序练习分类")
+    private Integer  issueTypeValue;
+
+    /** 正确答案 */
+    @ApiModelProperty(value = "分类id值")
+    private String issueValue;
+
+    @ApiModelProperty(value = "分类字段名",hidden = true)
+    private String issueTypeParmName;
+
+    @ApiModelProperty(value = "排序字段名",hidden = true)
+    private String sortName;
+
+    @ApiModelProperty(value = "题目名称")
+    private String issue;
+
+
+}

+ 30 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionInfoSortUpateDTO.java

@@ -0,0 +1,30 @@
+package com.miaxis.question.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 题库对象 question_info
+ *
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+public class QuestionInfoSortUpateDTO {
+    private static final long serialVersionUID = 1L;
+    /**  主键 */
+    @ApiModelProperty(value = "题目id")
+    private Long id;
+
+    /** 在所有题目中的序号 */
+    @ApiModelProperty(value = "类型参数: 1--按分类专题分类,2--按精选专题分类,3--按地方专题分类,4--按顺序练习分类")
+    private Integer  issueTypeValue;
+
+    /** 正确答案 */
+    @ApiModelProperty(value = "排序")
+    private String sort;
+
+    @ApiModelProperty(value = "排序字段名",hidden = true)
+    private String sortName;
+
+}

+ 40 - 0
zzjs-service/src/main/java/com/miaxis/question/dto/QuestionInfoTestDTO.java

@@ -0,0 +1,40 @@
+package com.miaxis.question.dto;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 地方题选分类返回对象
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+@ApiModel(value = "QuestionInfoTestDTO", description = "模拟考试输入对象")
+public class QuestionInfoTestDTO extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "科目")
+    private Integer subject;
+
+    @ApiModelProperty(value = "是否小车 1:是 否:空")
+    private String liceCar;
+
+    @ApiModelProperty(value = "是否客车 1:是 否:空")
+    private String liceBus;
+
+    @ApiModelProperty(value = "是否货车 1:是 否:空")
+    private String liceTruck;
+
+    @ApiModelProperty(value = "是否摩托车 1:是 否:空")
+    private String liceMoto;
+
+    @ApiModelProperty(hidden = true)
+    private Integer questionType;
+
+    @ApiModelProperty(hidden = true)
+    private Integer num;
+
+}