From 0a99c3a898976f64b53ca05751514bac8500ad60 Mon Sep 17 00:00:00 2001
From: guyue <1721849008@qq.com>
Date: 星期三, 02 七月 2025 17:50:19 +0800
Subject: [PATCH] 初始化

---
 src/main/resources/mapper/OrderMapper.xml                      |   23 
 src/main/java/com/linghu/model/entity/Callword.java            |   84 +++
 src/main/java/com/linghu/mapper/ResultMapper.java              |   18 
 .gitignore                                                     |   33 +
 src/main/resources/mapper/ResultMapper.xml                     |   23 
 src/main/resources/mapper/TypeMapper.xml                       |   16 
 src/main/java/com/linghu/mapper/PlatfromMapper.java            |   18 
 src/main/java/com/linghu/service/impl/KeywordServiceImpl.java  |   22 
 src/main/resources/mapper/KeywordMapper.xml                    |   18 
 pom.xml                                                        |   87 +++
 src/main/java/com/linghu/service/impl/ResultServiceImpl.java   |   22 
 src/main/resources/mapper/CallwordMapper.xml                   |   18 
 src/test/java/com/linghu/LingHuApplicationTests.java           |   13 
 src/main/java/com/linghu/service/ResultService.java            |   13 
 src/main/java/com/linghu/mapper/TypeMapper.java                |   18 
 src/main/java/com/linghu/service/PlatfromService.java          |   13 
 src/main/resources/mapper/PlatfromMapper.xml                   |   24 +
 src/main/java/com/linghu/service/OrderService.java             |   13 
 src/main/java/com/linghu/model/common/ResponseResult.java      |   36 +
 src/main/java/com/linghu/service/TypeService.java              |   44 +
 src/main/java/com/linghu/mapper/KeywordMapper.java             |   18 
 src/main/java/com/linghu/service/impl/TypeServiceImpl.java     |   49 ++
 src/main/java/com/linghu/service/KeywordService.java           |   13 
 src/main/java/com/linghu/service/impl/PlatfromServiceImpl.java |   22 
 src/main/java/com/linghu/model/entity/Order.java               |  117 ++++
 src/main/java/com/linghu/model/entity/Platfrom.java            |  125 +++++
 src/main/java/com/linghu/model/entity/Result.java              |  117 ++++
 src/main/java/com/linghu/controller/baseController.java        |   13 
 src/main/resources/static/index.html                           |    6 
 src/main/java/com/linghu/model/entity/Type.java                |   76 +++
 src/main/java/com/linghu/service/impl/CallwordServiceImpl.java |   22 
 src/main/java/com/linghu/mapper/CallwordMapper.java            |   18 
 src/main/java/com/linghu/model/entity/Keyword.java             |   84 +++
 src/main/java/com/linghu/mapper/OrderMapper.java               |   18 
 src/main/java/com/linghu/service/CallwordService.java          |   13 
 src/main/java/com/linghu/service/impl/OrderServiceImpl.java    |   22 
 src/main/java/com/linghu/LingHuApplication.java                |   15 
 src/main/java/com/linghu/controller/TypeController.java        |  106 ++++
 src/main/resources/application.yml                             |   11 
 39 files changed, 1,421 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..549e00a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..5982760
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>com.lingHu</groupId>
+    <artifactId>lingHu</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>lingHu</name>
+    <description>lingHu</description>
+    <properties>
+        <java.version>1.8</java.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <spring-boot.version>2.7.6</spring-boot.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+<!--            <version>1.18.26</version>-->
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+        <groupId>com.baomidou</groupId>
+        <artifactId>mybatis-plus-boot-starter</artifactId>
+        <version>3.4.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring-boot.version}</version>
+                <configuration>
+                    <mainClass>com.linghu.LingHuApplication</mainClass>
+                    <skip>true</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/src/main/java/com/linghu/LingHuApplication.java b/src/main/java/com/linghu/LingHuApplication.java
new file mode 100644
index 0000000..d1117ce
--- /dev/null
+++ b/src/main/java/com/linghu/LingHuApplication.java
@@ -0,0 +1,15 @@
+package com.linghu;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan("com.linghu.mapper")
+public class LingHuApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(LingHuApplication.class, args);
+    }
+
+}
diff --git a/src/main/java/com/linghu/controller/TypeController.java b/src/main/java/com/linghu/controller/TypeController.java
new file mode 100644
index 0000000..64c3203
--- /dev/null
+++ b/src/main/java/com/linghu/controller/TypeController.java
@@ -0,0 +1,106 @@
+package com.linghu.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.linghu.model.common.ResponseResult;
+import com.linghu.model.entity.Type;
+import com.linghu.service.TypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/type")
+public class TypeController {
+
+    @Autowired
+    private TypeService typeService;
+
+    @PostMapping
+    public ResponseResult<Type> add(@RequestBody Type type) {
+        type.setDelFlag(0);
+        boolean success = typeService.save(type);
+        if (success) {
+            return ResponseResult.success(type);
+        }
+        return ResponseResult.error("添加类型失败");
+    }
+
+    @PostMapping("/batch")
+    public ResponseResult<Void> batchAdd(@RequestBody List<Type> types) {
+        boolean success = typeService.saveBatch(types);
+        if (success) {
+            return ResponseResult.success();
+        }
+        return ResponseResult.error("批量添加类型失败");
+    }
+
+    @DeleteMapping("/{typeId}")
+    public ResponseResult<Void> delete(@PathVariable Integer typeId) {
+        Type type = new Type();
+        type.setTypeId(typeId);
+        type.setDelFlag(1);
+        boolean success = typeService.updateById(type);
+        if (success) {
+            return ResponseResult.success();
+        }
+        return ResponseResult.error("删除类型失败");
+    }
+
+    @DeleteMapping("/batch")
+    public ResponseResult<Void> batchDelete(@RequestBody List<Integer> typeIds) {
+        boolean success = typeService.removeBatchByIds(typeIds);
+        if (success) {
+            return ResponseResult.success();
+        }
+        return ResponseResult.error("批量删除类型失败");
+    }
+
+    @PutMapping
+    public ResponseResult<Void> update(@RequestBody Type type) {
+        boolean success = typeService.updateById(type);
+        if (success) {
+            return ResponseResult.success();
+        }
+        return ResponseResult.error("更新类型失败");
+    }
+
+    @PutMapping("/batch")
+    public ResponseResult<Void> batchUpdate(@RequestBody List<Type> types) {
+        boolean success = typeService.updateBatchById(types);
+        if (success) {
+            return ResponseResult.success();
+        }
+        return ResponseResult.error("批量更新类型失败");
+    }
+
+    @GetMapping("/{typeId}")
+    public ResponseResult<Type> getById(@PathVariable Integer typeId) {
+        Type type = typeService.getById(typeId);
+        if (type != null && type.getDelFlag() != 1) {
+            return ResponseResult.success(type);
+        }
+        return ResponseResult.error("类型不存在");
+    }
+
+    @GetMapping("/list")
+    public ResponseResult<?> list(
+            @RequestParam(required = false) Integer pageNum,
+            @RequestParam(required = false) Integer pageSize,
+            @RequestParam(required = false) String typeName) {
+
+        // 不传分页参数则返回全部数据
+        if (pageNum == null || pageSize == null) {
+            List<Type> types = typeService.listAllAvailable();
+            return ResponseResult.success(types);
+        }
+
+        LambdaQueryWrapper<Type> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Type::getDelFlag, 0)
+                .like(typeName != null, Type::getTypeName, typeName);
+
+        Page<Type> page = typeService.page(new Page<>(pageNum, pageSize), queryWrapper);
+        return ResponseResult.success(page);
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/controller/baseController.java b/src/main/java/com/linghu/controller/baseController.java
new file mode 100644
index 0000000..8ba620f
--- /dev/null
+++ b/src/main/java/com/linghu/controller/baseController.java
@@ -0,0 +1,13 @@
+package com.linghu.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class baseController {
+    @RequestMapping("/ceshi")
+    public String index(){
+        return "index";
+    }
+}
diff --git a/src/main/java/com/linghu/mapper/CallwordMapper.java b/src/main/java/com/linghu/mapper/CallwordMapper.java
new file mode 100644
index 0000000..2347b8d
--- /dev/null
+++ b/src/main/java/com/linghu/mapper/CallwordMapper.java
@@ -0,0 +1,18 @@
+package com.linghu.mapper;
+
+import com.linghu.model.entity.Callword;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author xy
+* @description 针对表【callword】的数据库操作Mapper
+* @createDate 2025-07-02 16:32:19
+* @Entity generator.entity.Callword
+*/
+public interface CallwordMapper extends BaseMapper<Callword> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/mapper/KeywordMapper.java b/src/main/java/com/linghu/mapper/KeywordMapper.java
new file mode 100644
index 0000000..a5f6071
--- /dev/null
+++ b/src/main/java/com/linghu/mapper/KeywordMapper.java
@@ -0,0 +1,18 @@
+package com.linghu.mapper;
+
+import com.linghu.model.entity.Keyword;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author xy
+* @description 针对表【keyword】的数据库操作Mapper
+* @createDate 2025-07-02 16:32:19
+* @Entity generator.entity.Keyword
+*/
+public interface KeywordMapper extends BaseMapper<Keyword> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/mapper/OrderMapper.java b/src/main/java/com/linghu/mapper/OrderMapper.java
new file mode 100644
index 0000000..6b1678b
--- /dev/null
+++ b/src/main/java/com/linghu/mapper/OrderMapper.java
@@ -0,0 +1,18 @@
+package com.linghu.mapper;
+
+import com.linghu.model.entity.Order;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author xy
+* @description 针对表【order】的数据库操作Mapper
+* @createDate 2025-07-02 16:32:19
+* @Entity generator.entity.Order
+*/
+public interface OrderMapper extends BaseMapper<Order> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/mapper/PlatfromMapper.java b/src/main/java/com/linghu/mapper/PlatfromMapper.java
new file mode 100644
index 0000000..9e3dbe0
--- /dev/null
+++ b/src/main/java/com/linghu/mapper/PlatfromMapper.java
@@ -0,0 +1,18 @@
+package com.linghu.mapper;
+
+import com.linghu.model.entity.Platfrom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author xy
+* @description 针对表【platfrom】的数据库操作Mapper
+* @createDate 2025-07-02 16:32:19
+* @Entity generator.entity.Platfrom
+*/
+public interface PlatfromMapper extends BaseMapper<Platfrom> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/mapper/ResultMapper.java b/src/main/java/com/linghu/mapper/ResultMapper.java
new file mode 100644
index 0000000..a3b4de6
--- /dev/null
+++ b/src/main/java/com/linghu/mapper/ResultMapper.java
@@ -0,0 +1,18 @@
+package com.linghu.mapper;
+
+import com.linghu.model.entity.Result;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author xy
+* @description 针对表【result】的数据库操作Mapper
+* @createDate 2025-07-02 16:32:19
+* @Entity generator.entity.Result
+*/
+public interface ResultMapper extends BaseMapper<Result> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/mapper/TypeMapper.java b/src/main/java/com/linghu/mapper/TypeMapper.java
new file mode 100644
index 0000000..950d2fe
--- /dev/null
+++ b/src/main/java/com/linghu/mapper/TypeMapper.java
@@ -0,0 +1,18 @@
+package com.linghu.mapper;
+
+import com.linghu.model.entity.Type;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author xy
+* @description 针对表【type】的数据库操作Mapper
+* @createDate 2025-07-02 16:32:19
+* @Entity generator.entity.Type
+*/
+public interface TypeMapper extends BaseMapper<Type> {
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/model/common/ResponseResult.java b/src/main/java/com/linghu/model/common/ResponseResult.java
new file mode 100644
index 0000000..6f52740
--- /dev/null
+++ b/src/main/java/com/linghu/model/common/ResponseResult.java
@@ -0,0 +1,36 @@
+package com.linghu.model.common;
+
+import lombok.Data;
+
+@Data
+public class ResponseResult<T> {
+    private Integer code;
+    private String message;
+    private T data;
+
+    public static <T> ResponseResult<T> success(T data) {
+        ResponseResult<T> result = new ResponseResult<>();
+        result.setCode(200);
+        result.setMessage("操作成功");
+        result.setData(data);
+        return result;
+    }
+
+    public static <T> ResponseResult<T> success() {
+        return success(null);
+    }
+
+    public static <T> ResponseResult<T> error(String message) {
+        ResponseResult<T> result = new ResponseResult<>();
+        result.setCode(500);
+        result.setMessage(message);
+        return result;
+    }
+
+    public static <T> ResponseResult<T> error(Integer code, String message) {
+        ResponseResult<T> result = new ResponseResult<>();
+        result.setCode(code);
+        result.setMessage(message);
+        return result;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/model/entity/Callword.java b/src/main/java/com/linghu/model/entity/Callword.java
new file mode 100644
index 0000000..89b63ad
--- /dev/null
+++ b/src/main/java/com/linghu/model/entity/Callword.java
@@ -0,0 +1,84 @@
+package com.linghu.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName callword
+ */
+@TableName(value ="callword")
+@Data
+public class Callword implements Serializable {
+    /**
+     * 提示词id
+     */
+    @TableId
+    private String callwordId;
+
+    /**
+     * 关键词id
+     */
+    private Integer keywordId;
+
+    /**
+     * 提示词名称
+     */
+    private String callwordName;
+
+    /**
+     * 提示词状态,1-未采集,2-采集完成,3-采集报错
+     */
+    private String status;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        Callword other = (Callword) that;
+        return (this.getCallwordId() == null ? other.getCallwordId() == null : this.getCallwordId().equals(other.getCallwordId()))
+            && (this.getKeywordId() == null ? other.getKeywordId() == null : this.getKeywordId().equals(other.getKeywordId()))
+            && (this.getCallwordName() == null ? other.getCallwordName() == null : this.getCallwordName().equals(other.getCallwordName()))
+            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCallwordId() == null) ? 0 : getCallwordId().hashCode());
+        result = prime * result + ((getKeywordId() == null) ? 0 : getKeywordId().hashCode());
+        result = prime * result + ((getCallwordName() == null) ? 0 : getCallwordName().hashCode());
+        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", callwordId=").append(callwordId);
+        sb.append(", keywordId=").append(keywordId);
+        sb.append(", callwordName=").append(callwordName);
+        sb.append(", status=").append(status);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/model/entity/Keyword.java b/src/main/java/com/linghu/model/entity/Keyword.java
new file mode 100644
index 0000000..0b7163c
--- /dev/null
+++ b/src/main/java/com/linghu/model/entity/Keyword.java
@@ -0,0 +1,84 @@
+package com.linghu.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName keyword
+ */
+@TableName(value ="keyword")
+@Data
+public class Keyword implements Serializable {
+    /**
+     * 关键词
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer keywordId;
+
+    /**
+     * 关联订单id
+     */
+    private String orderId;
+
+    /**
+     * 关键词名称
+     */
+    private String keywordName;
+
+    /**
+     * 采集轮数
+     */
+    private Integer num;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        Keyword other = (Keyword) that;
+        return (this.getKeywordId() == null ? other.getKeywordId() == null : this.getKeywordId().equals(other.getKeywordId()))
+            && (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId()))
+            && (this.getKeywordName() == null ? other.getKeywordName() == null : this.getKeywordName().equals(other.getKeywordName()))
+            && (this.getNum() == null ? other.getNum() == null : this.getNum().equals(other.getNum()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getKeywordId() == null) ? 0 : getKeywordId().hashCode());
+        result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode());
+        result = prime * result + ((getKeywordName() == null) ? 0 : getKeywordName().hashCode());
+        result = prime * result + ((getNum() == null) ? 0 : getNum().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", keywordId=").append(keywordId);
+        sb.append(", orderId=").append(orderId);
+        sb.append(", keywordName=").append(keywordName);
+        sb.append(", num=").append(num);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/model/entity/Order.java b/src/main/java/com/linghu/model/entity/Order.java
new file mode 100644
index 0000000..f75e0eb
--- /dev/null
+++ b/src/main/java/com/linghu/model/entity/Order.java
@@ -0,0 +1,117 @@
+package com.linghu.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName order
+ */
+@TableName(value ="order")
+@Data
+public class Order implements Serializable {
+    /**
+     * 订单id,格式:日期-数量
+     */
+    @TableId
+    private String orderId;
+
+    /**
+     * 客户名称
+     */
+    private String clientName;
+
+    /**
+     * 状态 1-待处理,2-执行中,3-已完成
+     */
+    private Integer status;
+
+    /**
+     * 0-未删除 1-已删除
+     */
+    private Integer delFlag;
+
+    /**
+     * 提交人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private String updateBy;
+
+    /**
+     * 
+     */
+    private Date updateTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        Order other = (Order) that;
+        return (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId()))
+            && (this.getClientName() == null ? other.getClientName() == null : this.getClientName().equals(other.getClientName()))
+            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
+            && (this.getDelFlag() == null ? other.getDelFlag() == null : this.getDelFlag().equals(other.getDelFlag()))
+            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
+            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode());
+        result = prime * result + ((getClientName() == null) ? 0 : getClientName().hashCode());
+        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
+        result = prime * result + ((getDelFlag() == null) ? 0 : getDelFlag().hashCode());
+        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
+        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", orderId=").append(orderId);
+        sb.append(", clientName=").append(clientName);
+        sb.append(", status=").append(status);
+        sb.append(", delFlag=").append(delFlag);
+        sb.append(", createBy=").append(createBy);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateBy=").append(updateBy);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/model/entity/Platfrom.java b/src/main/java/com/linghu/model/entity/Platfrom.java
new file mode 100644
index 0000000..0c0ce9e
--- /dev/null
+++ b/src/main/java/com/linghu/model/entity/Platfrom.java
@@ -0,0 +1,125 @@
+package com.linghu.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName platfrom
+ */
+@TableName(value ="platfrom")
+@Data
+public class Platfrom implements Serializable {
+    /**
+     * 平台id
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer platformId;
+
+    /**
+     * 类型id
+     */
+    private Integer typeId;
+
+    /**
+     * 平台名称
+     */
+    private String platformName;
+
+    /**
+     * 网址
+     */
+    private String platformUrl;
+
+    /**
+     * 
+     */
+    private Date createTime;
+
+    /**
+     * 
+     */
+    private String createBy;
+
+    /**
+     * 
+     */
+    private Date updateTime;
+
+    /**
+     * 
+     */
+    private String updateBy;
+
+    /**
+     * 0-未删除,1-已删除
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        Platfrom other = (Platfrom) that;
+        return (this.getPlatformId() == null ? other.getPlatformId() == null : this.getPlatformId().equals(other.getPlatformId()))
+            && (this.getTypeId() == null ? other.getTypeId() == null : this.getTypeId().equals(other.getTypeId()))
+            && (this.getPlatformName() == null ? other.getPlatformName() == null : this.getPlatformName().equals(other.getPlatformName()))
+            && (this.getPlatformUrl() == null ? other.getPlatformUrl() == null : this.getPlatformUrl().equals(other.getPlatformUrl()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
+            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
+            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
+            && (this.getDelFlag() == null ? other.getDelFlag() == null : this.getDelFlag().equals(other.getDelFlag()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getPlatformId() == null) ? 0 : getPlatformId().hashCode());
+        result = prime * result + ((getTypeId() == null) ? 0 : getTypeId().hashCode());
+        result = prime * result + ((getPlatformName() == null) ? 0 : getPlatformName().hashCode());
+        result = prime * result + ((getPlatformUrl() == null) ? 0 : getPlatformUrl().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
+        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
+        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
+        result = prime * result + ((getDelFlag() == null) ? 0 : getDelFlag().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", platformId=").append(platformId);
+        sb.append(", typeId=").append(typeId);
+        sb.append(", platformName=").append(platformName);
+        sb.append(", platformUrl=").append(platformUrl);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", createBy=").append(createBy);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", updateBy=").append(updateBy);
+        sb.append(", delFlag=").append(delFlag);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/model/entity/Result.java b/src/main/java/com/linghu/model/entity/Result.java
new file mode 100644
index 0000000..dad5a1b
--- /dev/null
+++ b/src/main/java/com/linghu/model/entity/Result.java
@@ -0,0 +1,117 @@
+package com.linghu.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName result
+ */
+@TableName(value ="result")
+@Data
+public class Result implements Serializable {
+    /**
+     * 结果id
+     */
+    @TableId
+    private Integer resultId;
+
+    /**
+     * 类型id
+     */
+    private Integer typeId;
+
+    /**
+     * 平台id
+     */
+    private Integer platformId;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 重复次数
+     */
+    private Integer repetitionNum;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 采集轮数
+     */
+    private Integer num;
+
+    /**
+     * 来源url
+     */
+    private String url;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        Result other = (Result) that;
+        return (this.getResultId() == null ? other.getResultId() == null : this.getResultId().equals(other.getResultId()))
+            && (this.getTypeId() == null ? other.getTypeId() == null : this.getTypeId().equals(other.getTypeId()))
+            && (this.getPlatformId() == null ? other.getPlatformId() == null : this.getPlatformId().equals(other.getPlatformId()))
+            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
+            && (this.getRepetitionNum() == null ? other.getRepetitionNum() == null : this.getRepetitionNum().equals(other.getRepetitionNum()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getNum() == null ? other.getNum() == null : this.getNum().equals(other.getNum()))
+            && (this.getUrl() == null ? other.getUrl() == null : this.getUrl().equals(other.getUrl()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getResultId() == null) ? 0 : getResultId().hashCode());
+        result = prime * result + ((getTypeId() == null) ? 0 : getTypeId().hashCode());
+        result = prime * result + ((getPlatformId() == null) ? 0 : getPlatformId().hashCode());
+        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
+        result = prime * result + ((getRepetitionNum() == null) ? 0 : getRepetitionNum().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getNum() == null) ? 0 : getNum().hashCode());
+        result = prime * result + ((getUrl() == null) ? 0 : getUrl().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", resultId=").append(resultId);
+        sb.append(", typeId=").append(typeId);
+        sb.append(", platformId=").append(platformId);
+        sb.append(", title=").append(title);
+        sb.append(", repetitionNum=").append(repetitionNum);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", num=").append(num);
+        sb.append(", url=").append(url);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/model/entity/Type.java b/src/main/java/com/linghu/model/entity/Type.java
new file mode 100644
index 0000000..17b3c23
--- /dev/null
+++ b/src/main/java/com/linghu/model/entity/Type.java
@@ -0,0 +1,76 @@
+package com.linghu.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName type
+ */
+@TableName(value ="type")
+@Data
+public class Type implements Serializable {
+    /**
+     * 类型
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer typeId;
+
+    /**
+     * 名字
+     */
+    private String typeName;
+
+    /**
+     * 0-未删除 1-删除
+     */
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        Type other = (Type) that;
+        return (this.getTypeId() == null ? other.getTypeId() == null : this.getTypeId().equals(other.getTypeId()))
+            && (this.getTypeName() == null ? other.getTypeName() == null : this.getTypeName().equals(other.getTypeName()))
+            && (this.getDelFlag() == null ? other.getDelFlag() == null : this.getDelFlag().equals(other.getDelFlag()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getTypeId() == null) ? 0 : getTypeId().hashCode());
+        result = prime * result + ((getTypeName() == null) ? 0 : getTypeName().hashCode());
+        result = prime * result + ((getDelFlag() == null) ? 0 : getDelFlag().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", typeId=").append(typeId);
+        sb.append(", typeName=").append(typeName);
+        sb.append(", delFlag=").append(delFlag);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/linghu/service/CallwordService.java b/src/main/java/com/linghu/service/CallwordService.java
new file mode 100644
index 0000000..f8d82fc
--- /dev/null
+++ b/src/main/java/com/linghu/service/CallwordService.java
@@ -0,0 +1,13 @@
+package com.linghu.service;
+
+import com.linghu.model.entity.Callword;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author xy
+* @description 针对表【callword】的数据库操作Service
+* @createDate 2025-07-02 16:32:19
+*/
+public interface CallwordService extends IService<Callword> {
+
+}
diff --git a/src/main/java/com/linghu/service/KeywordService.java b/src/main/java/com/linghu/service/KeywordService.java
new file mode 100644
index 0000000..649d208
--- /dev/null
+++ b/src/main/java/com/linghu/service/KeywordService.java
@@ -0,0 +1,13 @@
+package com.linghu.service;
+
+import com.linghu.model.entity.Keyword;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author xy
+* @description 针对表【keyword】的数据库操作Service
+* @createDate 2025-07-02 16:32:19
+*/
+public interface KeywordService extends IService<Keyword> {
+
+}
diff --git a/src/main/java/com/linghu/service/OrderService.java b/src/main/java/com/linghu/service/OrderService.java
new file mode 100644
index 0000000..fe5079b
--- /dev/null
+++ b/src/main/java/com/linghu/service/OrderService.java
@@ -0,0 +1,13 @@
+package com.linghu.service;
+
+import com.linghu.model.entity.Order;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author xy
+* @description 针对表【order】的数据库操作Service
+* @createDate 2025-07-02 16:32:19
+*/
+public interface OrderService extends IService<Order> {
+
+}
diff --git a/src/main/java/com/linghu/service/PlatfromService.java b/src/main/java/com/linghu/service/PlatfromService.java
new file mode 100644
index 0000000..ff5ca71
--- /dev/null
+++ b/src/main/java/com/linghu/service/PlatfromService.java
@@ -0,0 +1,13 @@
+package com.linghu.service;
+
+import com.linghu.model.entity.Platfrom;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author xy
+* @description 针对表【platfrom】的数据库操作Service
+* @createDate 2025-07-02 16:32:19
+*/
+public interface PlatfromService extends IService<Platfrom> {
+
+}
diff --git a/src/main/java/com/linghu/service/ResultService.java b/src/main/java/com/linghu/service/ResultService.java
new file mode 100644
index 0000000..6603dea
--- /dev/null
+++ b/src/main/java/com/linghu/service/ResultService.java
@@ -0,0 +1,13 @@
+package com.linghu.service;
+
+import com.linghu.model.entity.Result;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author xy
+* @description 针对表【result】的数据库操作Service
+* @createDate 2025-07-02 16:32:19
+*/
+public interface ResultService extends IService<Result> {
+
+}
diff --git a/src/main/java/com/linghu/service/TypeService.java b/src/main/java/com/linghu/service/TypeService.java
new file mode 100644
index 0000000..273f5dc
--- /dev/null
+++ b/src/main/java/com/linghu/service/TypeService.java
@@ -0,0 +1,44 @@
+package com.linghu.service;
+
+import com.linghu.model.entity.Type;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * @author xy
+ * @description 针对表【type】的数据库操作Service
+ * @createDate 2025-07-02 16:32:19
+ */
+public interface TypeService extends IService<Type> {
+    /**
+     * 批量添加类型
+     * 
+     * @param types 类型列表
+     * @return 是否成功
+     */
+    boolean saveBatch(List<Type> types);
+
+    /**
+     * 批量更新类型
+     * 
+     * @param types 类型列表
+     * @return 是否成功
+     */
+    boolean updateBatchById(List<Type> types);
+
+    /**
+     * 批量删除类型
+     * 
+     * @param typeIds 类型ID列表
+     * @return 是否成功
+     */
+    boolean removeBatchByIds(List<Integer> typeIds);
+
+    /**
+     * 获取所有未删除的类型
+     * 
+     * @return 类型列表
+     */
+    List<Type> listAllAvailable();
+}
diff --git a/src/main/java/com/linghu/service/impl/CallwordServiceImpl.java b/src/main/java/com/linghu/service/impl/CallwordServiceImpl.java
new file mode 100644
index 0000000..25485cb
--- /dev/null
+++ b/src/main/java/com/linghu/service/impl/CallwordServiceImpl.java
@@ -0,0 +1,22 @@
+package com.linghu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.entity.Callword;
+import com.linghu.service.CallwordService;
+import com.linghu.mapper.CallwordMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author xy
+* @description 针对表【callword】的数据库操作Service实现
+* @createDate 2025-07-02 16:32:19
+*/
+@Service
+public class CallwordServiceImpl extends ServiceImpl<CallwordMapper, Callword>
+    implements CallwordService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java b/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java
new file mode 100644
index 0000000..dbd234b
--- /dev/null
+++ b/src/main/java/com/linghu/service/impl/KeywordServiceImpl.java
@@ -0,0 +1,22 @@
+package com.linghu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.entity.Keyword;
+import com.linghu.service.KeywordService;
+import com.linghu.mapper.KeywordMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author xy
+* @description 针对表【keyword】的数据库操作Service实现
+* @createDate 2025-07-02 16:32:19
+*/
+@Service
+public class KeywordServiceImpl extends ServiceImpl<KeywordMapper, Keyword>
+    implements KeywordService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/service/impl/OrderServiceImpl.java b/src/main/java/com/linghu/service/impl/OrderServiceImpl.java
new file mode 100644
index 0000000..bcc381f
--- /dev/null
+++ b/src/main/java/com/linghu/service/impl/OrderServiceImpl.java
@@ -0,0 +1,22 @@
+package com.linghu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.entity.Order;
+import com.linghu.service.OrderService;
+import com.linghu.mapper.OrderMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author xy
+* @description 针对表【order】的数据库操作Service实现
+* @createDate 2025-07-02 16:32:19
+*/
+@Service
+public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order>
+    implements OrderService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/service/impl/PlatfromServiceImpl.java b/src/main/java/com/linghu/service/impl/PlatfromServiceImpl.java
new file mode 100644
index 0000000..71fb7a7
--- /dev/null
+++ b/src/main/java/com/linghu/service/impl/PlatfromServiceImpl.java
@@ -0,0 +1,22 @@
+package com.linghu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.entity.Platfrom;
+import com.linghu.service.PlatfromService;
+import com.linghu.mapper.PlatfromMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author xy
+* @description 针对表【platfrom】的数据库操作Service实现
+* @createDate 2025-07-02 16:32:19
+*/
+@Service
+public class PlatfromServiceImpl extends ServiceImpl<PlatfromMapper, Platfrom>
+    implements PlatfromService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/service/impl/ResultServiceImpl.java b/src/main/java/com/linghu/service/impl/ResultServiceImpl.java
new file mode 100644
index 0000000..5604ddd
--- /dev/null
+++ b/src/main/java/com/linghu/service/impl/ResultServiceImpl.java
@@ -0,0 +1,22 @@
+package com.linghu.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.entity.Result;
+import com.linghu.service.ResultService;
+import com.linghu.mapper.ResultMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author xy
+* @description 针对表【result】的数据库操作Service实现
+* @createDate 2025-07-02 16:32:19
+*/
+@Service
+public class ResultServiceImpl extends ServiceImpl<ResultMapper, Result>
+    implements ResultService{
+
+}
+
+
+
+
diff --git a/src/main/java/com/linghu/service/impl/TypeServiceImpl.java b/src/main/java/com/linghu/service/impl/TypeServiceImpl.java
new file mode 100644
index 0000000..d90f3a0
--- /dev/null
+++ b/src/main/java/com/linghu/service/impl/TypeServiceImpl.java
@@ -0,0 +1,49 @@
+package com.linghu.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linghu.model.entity.Type;
+import com.linghu.service.TypeService;
+import com.linghu.mapper.TypeMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * @author xy
+ * @description 针对表【type】的数据库操作Service实现
+ * @createDate 2025-07-02 16:32:19
+ */
+@Service
+public class TypeServiceImpl extends ServiceImpl<TypeMapper, Type>
+        implements TypeService {
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean saveBatch(List<Type> types) {
+        types.forEach(type -> type.setDelFlag(0));
+        return super.saveBatch(types);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateBatchById(List<Type> types) {
+        return super.updateBatchById(types);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean removeBatchByIds(List<Integer> typeIds) {
+        List<Type> types = this.listByIds(typeIds);
+        types.forEach(type -> type.setDelFlag(1));
+        return this.updateBatchById(types);
+    }
+
+    @Override
+    public List<Type> listAllAvailable() {
+        LambdaQueryWrapper<Type> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Type::getDelFlag, 0);
+        return this.list(queryWrapper);
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
new file mode 100644
index 0000000..c7935ae
--- /dev/null
+++ b/src/main/resources/application.yml
@@ -0,0 +1,11 @@
+
+server:
+  port: 8080
+
+
+spring:
+  datasource:
+    url: jdbc:mysql://192.168.110.21:3306/linghu_geo_system?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&characterEncoding=UTF-8
+    username: root
+    password: "123456"
+    driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/src/main/resources/mapper/CallwordMapper.xml b/src/main/resources/mapper/CallwordMapper.xml
new file mode 100644
index 0000000..1e5799f
--- /dev/null
+++ b/src/main/resources/mapper/CallwordMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linghu.mapper.CallwordMapper">
+
+    <resultMap id="BaseResultMap" type="com.linghu.model.entity.Callword">
+            <id property="callwordId" column="callword_id" jdbcType="VARCHAR"/>
+            <result property="keywordId" column="keyword_id" jdbcType="INTEGER"/>
+            <result property="callwordName" column="callword_name" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        callword_id,keyword_id,callword_name,
+        status
+    </sql>
+</mapper>
diff --git a/src/main/resources/mapper/KeywordMapper.xml b/src/main/resources/mapper/KeywordMapper.xml
new file mode 100644
index 0000000..2ff08a9
--- /dev/null
+++ b/src/main/resources/mapper/KeywordMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linghu.mapper.KeywordMapper">
+
+    <resultMap id="BaseResultMap" type="com.linghu.model.entity.Keyword">
+            <id property="keywordId" column="keyword_id" jdbcType="INTEGER"/>
+            <result property="orderId" column="order_id" jdbcType="VARCHAR"/>
+            <result property="keywordName" column="keyword_name" jdbcType="VARCHAR"/>
+            <result property="num" column="num" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        keyword_id,order_id,keyword_name,
+        num
+    </sql>
+</mapper>
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
new file mode 100644
index 0000000..d3c988c
--- /dev/null
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linghu.mapper.OrderMapper">
+
+    <resultMap id="BaseResultMap" type="com.linghu.model.entity.Order">
+            <id property="orderId" column="order_id" jdbcType="VARCHAR"/>
+            <result property="clientName" column="client_name" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="TINYINT"/>
+            <result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
+            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        order_id,client_name,status,
+        del_flag,create_by,create_time,
+        update_by,update_time
+    </sql>
+</mapper>
diff --git a/src/main/resources/mapper/PlatfromMapper.xml b/src/main/resources/mapper/PlatfromMapper.xml
new file mode 100644
index 0000000..bb17dd4
--- /dev/null
+++ b/src/main/resources/mapper/PlatfromMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linghu.mapper.PlatfromMapper">
+
+    <resultMap id="BaseResultMap" type="com.linghu.model.entity.Platfrom">
+            <id property="platformId" column="platform_id" jdbcType="INTEGER"/>
+            <result property="typeId" column="type_id" jdbcType="INTEGER"/>
+            <result property="platformName" column="platform_name" jdbcType="VARCHAR"/>
+            <result property="platformUrl" column="platform_url" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
+            <result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        platform_id,type_id,platform_name,
+        platform_url,create_time,create_by,
+        update_time,update_by,del_flag
+    </sql>
+</mapper>
diff --git a/src/main/resources/mapper/ResultMapper.xml b/src/main/resources/mapper/ResultMapper.xml
new file mode 100644
index 0000000..2ed5caa
--- /dev/null
+++ b/src/main/resources/mapper/ResultMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linghu.mapper.ResultMapper">
+
+    <resultMap id="BaseResultMap" type="com.linghu.model.entity.Result">
+            <id property="resultId" column="result_id" jdbcType="INTEGER"/>
+            <result property="typeId" column="type_id" jdbcType="INTEGER"/>
+            <result property="platformId" column="platform_id" jdbcType="INTEGER"/>
+            <result property="title" column="title" jdbcType="VARCHAR"/>
+            <result property="repetitionNum" column="repetition_num" jdbcType="INTEGER"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="num" column="num" jdbcType="INTEGER"/>
+            <result property="url" column="url" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        result_id,type_id,platform_id,
+        title,repetition_num,create_time,
+        num,url
+    </sql>
+</mapper>
diff --git a/src/main/resources/mapper/TypeMapper.xml b/src/main/resources/mapper/TypeMapper.xml
new file mode 100644
index 0000000..21d8ff1
--- /dev/null
+++ b/src/main/resources/mapper/TypeMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linghu.mapper.TypeMapper">
+
+    <resultMap id="BaseResultMap" type="com.linghu.model.entity.Type">
+            <id property="typeId" column="type_id" jdbcType="INTEGER"/>
+            <result property="typeName" column="type_name" jdbcType="VARCHAR"/>
+            <result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        type_id,type_name,del_flag
+    </sql>
+</mapper>
diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html
new file mode 100644
index 0000000..89bb8ba
--- /dev/null
+++ b/src/main/resources/static/index.html
@@ -0,0 +1,6 @@
+<html>
+<body>
+<h1>hello word!!!</h1>
+<p>this is a html page</p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/test/java/com/linghu/LingHuApplicationTests.java b/src/test/java/com/linghu/LingHuApplicationTests.java
new file mode 100644
index 0000000..97b64b9
--- /dev/null
+++ b/src/test/java/com/linghu/LingHuApplicationTests.java
@@ -0,0 +1,13 @@
+package com.linghu;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class LingHuApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

--
Gitblit v1.7.1