Forráskód Böngészése

更改代码结构

lzu918 7 hónapja
szülő
commit
41ac0ea3ac

+ 49 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/common/Constant.java

@@ -0,0 +1,49 @@
+package com.ruoyi.zzb.study.common;
+
+
+/**
+ * WH
+ */
+public class Constant {
+	
+	public static final String SPLITSTR = "\u0019";
+	public static final String PHONE_REGEX = "^1[0-9]{10}$";
+	public static final Integer MAXWAIT = 60000;
+	public static final Integer RUNSMILLIS = 60000;
+	public static final Integer MINTIME = 300000;
+	public static final Integer CONNECTSIZE = 20;
+
+	public static final Integer NUMBER_2 = 2;
+
+
+	// 程序名称  日志使用   修改点!!!
+	public static final String SERVICE_NAME = "STUDY_SERVICE--->";
+
+
+
+	/**
+	 * 返回status值对应说明
+	 */
+	public static final String STATUS_200_MSG = "成功!";
+	public static final String STATUS_500_MSG = "系统内部处理异常";
+	public static final String STATUS_585_MSG = "参数校验异常";
+	public static final String STATUS_587_MSG = "数据库原始数据异常";
+	public static final String STATUS_588_MSG = "传入token信息异常";
+
+	/**
+	 * status值
+	 */
+	public static final int STATUS_200 = 200;
+	public static final int STATUS_500 = 500;
+	public static final int STATUS_585 = 585;
+	public static final int STATUS_587 = 587;
+	public static final int STATUS_588 = 588;
+
+
+	//http连接配置
+	public static final int SOCKET_TIME_OUT =1800000;
+	public static final int CONNECT_TIME_OUT =600000;
+	public static final int REQUEST_TIME_OUT =600000;
+
+
+}

+ 84 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/common/TestJsoup.java

@@ -0,0 +1,84 @@
+package com.ruoyi.zzb.study.common;
+
+import org.jsoup.Connection;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.nodes.Node;
+import org.jsoup.select.Elements;
+
+import java.io.IOException;
+import java.util.List;
+
+public class TestJsoup {
+
+    public static void main(String[] args) throws IOException {
+//        String url = "https://news.sina.com.cn/gov/xlxw/2024-11-18/doc-incwmzsr3745291.shtml";
+//        //直接获取DOM树
+//        Document document = Jsoup.connect(url).get();
+//        System.out.println(document.toString());
+
+        String url = "https://www.163.com/";
+
+         Connection conn = Jsoup.connect(url);
+         conn.data("page","2");     //拼接get请求参数 https://www.163.com/?page=2
+         conn.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36");
+         Document document = conn.timeout(4000).userAgent("Mozilla").get();
+
+
+
+        System.err.println(document.toString());
+        // 文字新闻
+        Elements textsElement = document.getElementsByClass("cm_ul_round");
+        for (Element e : textsElement) {
+            Elements tags = e.getElementsByTag("a");
+            for (Element tag : tags) {
+                // 标题
+                String title = tag.getElementsByAttribute("href").text();
+                // 链接地址,可以根据需求继续解析网址,获取新闻详细信息
+                String href = tag.attributes().get("href");
+                // 所属分类
+                String classification = null;
+                if (href.contains("?") && href.contains("clickfrom=w_")) {
+                    classification = href.substring(href.lastIndexOf("?") + 1).replace("clickfrom=w_", "");
+                }
+                System.out.println(title);
+                System.out.println(href);
+                System.out.println(classification);
+            }
+        }
+        // 图片新闻
+        Elements imgs = document.getElementsByClass("cm_bigimg");
+        for (Element img : imgs) {
+            Elements photos = img.getElementsByClass("photo");
+            for (Element photo : photos) {
+                // 标题
+                String title = photo.attributes().get("title");
+                // 链接地址,可以根据需求继续解析网址,获取新闻详细信息
+                String href = photo.attributes().get("href");
+                // 封面图
+                String imgSrc = null;
+                List<Node> child = photo.childNodes();
+                for(Node node : child) {
+                    if (node.hasAttr("data-original")) {
+                        imgSrc = node.attributes().get("data-original");
+                        break;
+                    }
+                }
+                // 所属分类
+                String classification = null;
+                if (href.contains("?") && href.contains("clickfrom=w_")) {
+                    classification = href.substring(href.lastIndexOf("?") + 1).replace("clickfrom=w_", "");
+                }
+                System.out.println(title);
+                System.out.println(href);
+                System.out.println(imgSrc);
+                System.out.println(classification);
+            }
+        }
+
+    }
+
+
+}
+

+ 83 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/controller/StudyController.java

@@ -0,0 +1,83 @@
+package com.ruoyi.zzb.study.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.zzb.common.RspResult;
+import com.ruoyi.zzb.study.domain.StudyDocInfo;
+import com.ruoyi.zzb.study.service.StudyService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/zhzg/api/study")
+public class StudyController {
+
+	@Autowired
+	private StudyService studyService;
+
+	@PostMapping("/findAllInfo")
+	public JSONObject findAllInfo(HttpServletResponse response, HttpServletRequest request,@RequestBody JSONObject params) {
+
+		try {
+			//JSONObject obj = JSONObject.parseObject(jsonString);
+			JSONObject result = studyService.findAllInfo();
+			log.error(result.toJSONString());
+
+			System.err.println("改改改");
+
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+
+	}
+
+	@PostMapping("/findByWrapper")
+	public JSONObject findByWrapper(HttpServletResponse response, HttpServletRequest request,@RequestBody JSONObject params) {
+
+		try {
+			//JSONObject obj = JSONObject.parseObject(jsonString);
+			JSONObject result = studyService.findByWrapper(params.getString("docId"));
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+	}
+
+	@PostMapping("/saveDoc")
+	public JSONObject saveDoc(HttpServletResponse response, HttpServletRequest request,@Validated @RequestBody StudyDocInfo studyDocInfo) {
+
+		try {
+			boolean result = studyService.saveInfo(studyDocInfo);
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+
+	}
+
+
+	@PostMapping("/deleteById")
+	public JSONObject deleteById(HttpServletResponse response, HttpServletRequest request,@RequestBody JSONObject params) {
+		try {
+			String docId = params.getString("docId");
+			boolean result = studyService.deleteById(docId);
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+	}
+}

+ 56 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/StudyDocInfo.java

@@ -0,0 +1,56 @@
+package com.ruoyi.zzb.study.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+@TableName("STUDY_DOC_INFO")
+public class StudyDocInfo {
+
+    @TableId(type = IdType.ASSIGN_ID)
+    private String  docId;
+    private String  datasourceCode;
+    private String  datasourceName;
+
+    @NotBlank
+    private String  title;
+    @NotBlank
+    private String  content;
+    private String  url;
+    private Integer  urlType;
+
+    @NotNull
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date docSrcTime;
+    private Integer  deleteStatus;
+    private Integer  pageViewNum;
+
+    @NotBlank
+    private String  createUserId;
+    @NotBlank
+    private String  createUserName;
+    @NotBlank
+    private String  createPoliceNo;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date  createTime;
+    private Integer  isTop;
+    private Integer  orderNum;
+
+}

+ 9 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/mapper/StudyDocInfoMapper.java

@@ -0,0 +1,9 @@
+package com.ruoyi.zzb.study.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.zzb.study.domain.StudyDocInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface StudyDocInfoMapper extends BaseMapper<StudyDocInfo> {
+}

+ 60 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/service/StudyService.java

@@ -0,0 +1,60 @@
+package com.ruoyi.zzb.study.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.zzb.study.common.Constant;
+import com.ruoyi.zzb.study.domain.StudyDocInfo;
+import com.ruoyi.zzb.study.mapper.StudyDocInfoMapper;
+import lombok.extern.slf4j.Slf4j;
+import lombok.extern.slf4j.XSlf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@Slf4j
+@DataSource(value = DataSourceType.SLAVE)
+public class StudyService {
+
+    @Autowired
+    private StudyDocInfoMapper studyDocInfoMapper;
+    public JSONObject findAllInfo() {
+
+        JSONObject resultData = new JSONObject();
+        List<StudyDocInfo> StudyDocInfoList= studyDocInfoMapper.selectList(new QueryWrapper<>());
+        resultData.put("data",StudyDocInfoList);
+        System.err.println(JSONObject.toJSONString(StudyDocInfoList));
+        return resultData;
+    }
+
+    public JSONObject findByWrapper(String id) {
+        JSONObject resultData = new JSONObject();
+        QueryWrapper<StudyDocInfo>  queryWrapper = new QueryWrapper();
+//        queryWrapper.like(false,"username","aaa");
+        queryWrapper.eq(StringUtils.isNotEmpty(id),"DOC_ID",id);
+
+        StudyDocInfo studyDocInfo= studyDocInfoMapper.selectOne(queryWrapper);
+        System.out.println(JSONObject.toJSONString(studyDocInfo));
+
+        resultData.put("data",studyDocInfo);
+
+        return resultData;
+    }
+
+    public boolean saveInfo(StudyDocInfo studyDocInfo) {
+        int i = studyDocInfoMapper.insert(studyDocInfo);
+        return i == 1;
+    }
+
+    public boolean deleteById(String id) {
+        int i = studyDocInfoMapper.deleteById(id);
+        return i == 1;
+    }
+
+
+
+}

+ 8 - 3
ruoyi-zzb/src/main/java/com/ruoyi/zzb/zdcx/controller/ZdcxController.java

@@ -1,11 +1,16 @@
 package com.ruoyi.zzb.zdcx.controller;
 
-import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.zzb.zdcx.common.RspResult;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.zzb.common.RspResult;
 import com.ruoyi.zzb.zdcx.domain.Zdcx;
 import com.ruoyi.zzb.zdcx.service.ZdcxService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 
 import java.util.List;