孙超林 1 săptămână în urmă
comite
057e5fa5db
51 a modificat fișierele cu 850 adăugiri și 0 ștergeri
  1. 90 0
      chao/pom.xml
  2. 13 0
      chao/src/main/java/com/zt/ChaoApplication.java
  3. 48 0
      chao/src/main/java/com/zt/controller/Diff.java
  4. 37 0
      chao/src/main/java/com/zt/util/OrderId.java
  5. 8 0
      chao/src/main/resources/application.yml
  6. 6 0
      chao/src/main/resources/static/index.html
  7. 8 0
      chao/target/classes/application.yml
  8. BIN
      chao/target/classes/com/zt/ChaoApplication.class
  9. BIN
      chao/target/classes/com/zt/controller/Diff.class
  10. BIN
      chao/target/classes/com/zt/util/OrderId.class
  11. 6 0
      chao/target/classes/static/index.html
  12. 85 0
      consumer/pom.xml
  13. 13 0
      consumer/src/main/java/com/zt/ConsumerApplication.java
  14. 18 0
      consumer/src/main/java/com/zt/commons/KafkaMessage.java
  15. 14 0
      consumer/src/main/java/com/zt/config/KafkaConsumerConfig.java
  16. 13 0
      consumer/src/main/java/com/zt/task/KafkaMessageConsumer.java
  17. 28 0
      consumer/src/main/resources/application.yml
  18. 6 0
      consumer/src/main/resources/static/index.html
  19. 28 0
      consumer/target/classes/application.yml
  20. BIN
      consumer/target/classes/com/zt/ConsumerApplication.class
  21. BIN
      consumer/target/classes/com/zt/commons/KafkaMessage.class
  22. BIN
      consumer/target/classes/com/zt/config/KafkaConsumerConfig.class
  23. BIN
      consumer/target/classes/com/zt/task/KafkaMessageConsumer.class
  24. 6 0
      consumer/target/classes/static/index.html
  25. 20 0
      goods/pom.xml
  26. 13 0
      goods/src/main/java/com/zt/GoodsApplication.java
  27. 21 0
      goods/src/main/java/com/zt/controller/GoodsController.java
  28. 18 0
      goods/src/main/java/com/zt/mapper/GoodsMapper.java
  29. 101 0
      goods/src/main/java/com/zt/pojo/GoodsDto.java
  30. 13 0
      goods/src/main/java/com/zt/service/GoodsService.java
  31. 22 0
      goods/src/main/java/com/zt/service/impl/GoodsServiceImpl.java
  32. 12 0
      goods/src/main/resources/application.yml
  33. 20 0
      goods/src/main/resources/mapper/GoodsMapper.xml
  34. 12 0
      goods/target/classes/application.yml
  35. BIN
      goods/target/classes/com/zt/GoodsApplication.class
  36. BIN
      goods/target/classes/com/zt/controller/GoodsController.class
  37. BIN
      goods/target/classes/com/zt/mapper/GoodsMapper.class
  38. BIN
      goods/target/classes/com/zt/pojo/Goods.class
  39. BIN
      goods/target/classes/com/zt/service/GoodsService.class
  40. BIN
      goods/target/classes/com/zt/service/impl/GoodsServiceImpl.class
  41. 20 0
      goods/target/classes/mapper/GoodsMapper.xml
  42. 123 0
      pom.xml
  43. 8 0
      target/classes/application.yml
  44. BIN
      target/classes/com/zt/GoodsApp.class
  45. BIN
      target/classes/com/zt/controller/GoodsController.class
  46. BIN
      target/classes/com/zt/dto/GoodsDto.class
  47. BIN
      target/classes/com/zt/mapper/GoodsMapper.class
  48. BIN
      target/classes/com/zt/pojo/Goods.class
  49. BIN
      target/classes/com/zt/service/GoodsService.class
  50. BIN
      target/classes/com/zt/service/impl/GoodsServiceImpl.class
  51. 20 0
      target/classes/mapper/GoodsMapper.xml

+ 90 - 0
chao/pom.xml

@@ -0,0 +1,90 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>scl_sale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>chao</artifactId>
+
+    <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.6.13</spring-boot.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.7.15</version>
+        </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.yang.YangApplication</mainClass>
+                    <skip>true</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+
+</project>

+ 13 - 0
chao/src/main/java/com/zt/ChaoApplication.java

@@ -0,0 +1,13 @@
+package com.zt;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class ChaoApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(ChaoApplication.class, args);
+    }
+
+}

+ 48 - 0
chao/src/main/java/com/zt/controller/Diff.java

@@ -0,0 +1,48 @@
+package com.zt.controller;
+
+
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import org.springframework.util.DigestUtils;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+public class Diff {
+    private static final String APP_ID = "test_app";
+    private static final String APP_SECRET = "123";
+    private static final String API_URL = "http://localhost:9002/api/hello";
+    public static void main(String[] args) {
+        Long goodsId = 123L;
+        String reqId = "req_123";
+        Long reqTime = System.currentTimeMillis();
+        Map<String, String> params = new TreeMap<>(); // TreeMap自动按key排序
+        params.put("goodsId", goodsId.toString());
+        params.put("reqId", reqId);
+        params.put("reqTime", reqTime.toString());
+        params.put("appId", APP_ID);
+        StringBuilder sb = new StringBuilder();
+        for (Map.Entry<String,String> entry:params.entrySet()) {
+            sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
+        }
+        sb.append(APP_SECRET);
+        String sign = DigestUtils.md5DigestAsHex(sb.toString().getBytes());
+        HttpResponse response = HttpRequest.get(API_URL + "?goodsId=" + goodsId)
+                .header("reqId", reqId)
+                .header("reqTime", reqTime.toString())
+                .header("appId", APP_ID)
+                .header("sign", sign)
+                .execute();
+            JSONObject json = JSONUtil.parseObj(response.body());
+        String status = json.getStr("status");
+        if ("200".equals(status)) {
+            System.out.println("响应结果: " + json);
+            System.out.println("商品名称: " + json.getStr("data"));
+        }else {
+            System.err.println("响应结果: " + json);
+            System.err.println("请求失败,状态码: " + status);
+        }
+    }
+}

+ 37 - 0
chao/src/main/java/com/zt/util/OrderId.java

@@ -0,0 +1,37 @@
+package com.zt.util;
+
+
+import redis.clients.jedis.Jedis;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+
+public class OrderId {
+    private static final String REDIS_HOST = "localhost";
+    private static final int REDIS_PORT = 6379;
+    private static final String ORDER_KEY_PREFIX = "order:counter:";
+    private static final int ORDER_SEQ_LENGTH = 5;
+
+    public static void main(String[] args) {
+        String orderNumber = generateOrderNumber("ORD");
+        String orderNumber2 = generateOrderNumber("ORD");
+        System.out.println("生成的订单号: " + orderNumber);
+        System.out.println("生成的订单号: " + orderNumber2);
+    }
+
+    public static String generateOrderNumber(String prefix) {
+            Jedis jedis = new Jedis(REDIS_HOST, REDIS_PORT);
+            // 获取当前日期,格式化为yyMMdd
+            String datePart = LocalDateTime.now()
+                    .format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
+            // Redis键名,按日期分隔计数器
+            String redisKey = ORDER_KEY_PREFIX + datePart;
+            // 原子递增并获取序列号
+            long seq = jedis.incr(redisKey);
+            // 格式化序列号,不足长度时前补零
+            String seqPart = String.format("%0" + ORDER_SEQ_LENGTH + "d", seq);
+            // 组合完整订单号: 前缀+日期+序列号
+            return prefix + datePart + seqPart;
+    }
+}

+ 8 - 0
chao/src/main/resources/application.yml

@@ -0,0 +1,8 @@
+server:
+  port: 9003
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root

+ 6 - 0
chao/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>

+ 8 - 0
chao/target/classes/application.yml

@@ -0,0 +1,8 @@
+server:
+  port: 9003
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root

BIN
chao/target/classes/com/zt/ChaoApplication.class


BIN
chao/target/classes/com/zt/controller/Diff.class


BIN
chao/target/classes/com/zt/util/OrderId.class


+ 6 - 0
chao/target/classes/static/index.html

@@ -0,0 +1,6 @@
+<html>
+<body>
+<h1>hello word!!!</h1>
+<p>this is a html page</p>
+</body>
+</html>

+ 85 - 0
consumer/pom.xml

@@ -0,0 +1,85 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>scl_sale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>consumer</artifactId>
+
+    <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.6.13</spring-boot.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.kafka</groupId>
+            <artifactId>spring-kafka</artifactId>
+            <version>2.8.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+        </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.zt.ConsumerApplication</mainClass>
+                    <skip>true</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 13 - 0
consumer/src/main/java/com/zt/ConsumerApplication.java

@@ -0,0 +1,13 @@
+package com.zt;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class  ConsumerApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(ConsumerApplication.class, args);
+    }
+
+}

+ 18 - 0
consumer/src/main/java/com/zt/commons/KafkaMessage.java

@@ -0,0 +1,18 @@
+package com.zt.commons;
+
+import lombok.Data;
+
+@Data
+public class KafkaMessage {
+    private String msgId;
+    private String msgType;
+    private String content;
+    public KafkaMessage() {
+
+    }
+    public KafkaMessage(String msgId, String msgType, String content) {
+        this.msgId = msgId;
+        this.msgType = msgType;
+        this.content = content;
+    }
+}

+ 14 - 0
consumer/src/main/java/com/zt/config/KafkaConsumerConfig.java

@@ -0,0 +1,14 @@
+package com.zt.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.kafka.support.converter.JsonMessageConverter;
+import org.springframework.kafka.support.converter.RecordMessageConverter;
+
+@Configuration
+public class KafkaConsumerConfig {
+    @Bean
+    public RecordMessageConverter converter() {
+        return new JsonMessageConverter();
+    }
+}

+ 13 - 0
consumer/src/main/java/com/zt/task/KafkaMessageConsumer.java

@@ -0,0 +1,13 @@
+package com.zt.task;
+
+import com.zt.commons.KafkaMessage;
+import org.springframework.kafka.annotation.KafkaListener;
+import org.springframework.stereotype.Component;
+
+@Component
+public class KafkaMessageConsumer {
+    @KafkaListener(topics = "test-topic",groupId = "test-group")
+    public void consume(KafkaMessage message){
+        System.out.println("收到消息: " + message);
+    }
+}

+ 28 - 0
consumer/src/main/resources/application.yml

@@ -0,0 +1,28 @@
+server:
+  port: 9005
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root
+  kafka:
+    # 通用配置
+    bootstrap-servers: localhost:9092
+
+    # 生产者配置
+#    producer:
+#      key-serializer: org.apache.kafka.common.serialization.StringSerializer
+#      value-serializer: org.apache.kafka.common.serialization.StringSerializer
+#      acks: all
+#      retries: 3
+#      batch-size: 16384
+#      buffer-memory: 33554432
+
+    # 消费者配置
+    consumer:
+      group-id: my-group
+      auto-offset-reset: earliest
+      enable-auto-commit: false
+      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer

+ 6 - 0
consumer/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>

+ 28 - 0
consumer/target/classes/application.yml

@@ -0,0 +1,28 @@
+server:
+  port: 9005
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root
+  kafka:
+    # 通用配置
+    bootstrap-servers: localhost:9092
+
+    # 生产者配置
+#    producer:
+#      key-serializer: org.apache.kafka.common.serialization.StringSerializer
+#      value-serializer: org.apache.kafka.common.serialization.StringSerializer
+#      acks: all
+#      retries: 3
+#      batch-size: 16384
+#      buffer-memory: 33554432
+
+    # 消费者配置
+    consumer:
+      group-id: my-group
+      auto-offset-reset: earliest
+      enable-auto-commit: false
+      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer

BIN
consumer/target/classes/com/zt/ConsumerApplication.class


BIN
consumer/target/classes/com/zt/commons/KafkaMessage.class


BIN
consumer/target/classes/com/zt/config/KafkaConsumerConfig.class


BIN
consumer/target/classes/com/zt/task/KafkaMessageConsumer.class


+ 6 - 0
consumer/target/classes/static/index.html

@@ -0,0 +1,6 @@
+<html>
+<body>
+<h1>hello word!!!</h1>
+<p>this is a html page</p>
+</body>
+</html>

+ 20 - 0
goods/pom.xml

@@ -0,0 +1,20 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zt</groupId>
+        <artifactId>scl_sale</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>goods</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>

+ 13 - 0
goods/src/main/java/com/zt/GoodsApplication.java

@@ -0,0 +1,13 @@
+package com.zt;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@MapperScan("com.zt.mapper")
+public class GoodsApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(GoodsApplication.class, args);
+    }
+}

+ 21 - 0
goods/src/main/java/com/zt/controller/GoodsController.java

@@ -0,0 +1,21 @@
+package com.zt.controller;
+
+import com.zt.pojo.GoodsDto;
+import com.zt.service.GoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+@RestController
+@RequestMapping("/goods")
+public class GoodsController {
+    @Autowired
+    private GoodsService goodsService;
+    @PostMapping("/add")
+    public String add(@RequestBody GoodsDto goods){
+        goodsService.save(goods);
+        return "添加成功";
+    }
+}

+ 18 - 0
goods/src/main/java/com/zt/mapper/GoodsMapper.java

@@ -0,0 +1,18 @@
+package com.zt.mapper;
+
+import com.zt.pojo.GoodsDto;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 孙超林
+* @description 针对表【goods】的数据库操作Mapper
+* @createDate 2025-05-16 10:26:45
+* @Entity com.zt.pojo.Goods
+*/
+public interface GoodsMapper extends BaseMapper<GoodsDto> {
+
+}
+
+
+
+

+ 101 - 0
goods/src/main/java/com/zt/pojo/GoodsDto.java

@@ -0,0 +1,101 @@
+package com.zt.pojo;
+
+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 goods
+ */
+@TableName(value ="goods")
+@Data
+public class GoodsDto implements Serializable {
+    /**
+     * 
+     */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 
+     */
+    private String goodsName;
+
+    /**
+     * 
+     */
+    private String descriptions;
+
+    /**
+     * 
+     */
+    private String goodsImg;
+
+    /**
+     * 
+     */
+    private String content;
+
+    /**
+     * 
+     */
+    private Date createdTime;
+
+    @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;
+        }
+        GoodsDto other = (GoodsDto) that;
+        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+            && (this.getGoodsName() == null ? other.getGoodsName() == null : this.getGoodsName().equals(other.getGoodsName()))
+            && (this.getDescriptions() == null ? other.getDescriptions() == null : this.getDescriptions().equals(other.getDescriptions()))
+            && (this.getGoodsImg() == null ? other.getGoodsImg() == null : this.getGoodsImg().equals(other.getGoodsImg()))
+            && (this.getContent() == null ? other.getContent() == null : this.getContent().equals(other.getContent()))
+            && (this.getCreatedTime() == null ? other.getCreatedTime() == null : this.getCreatedTime().equals(other.getCreatedTime()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+        result = prime * result + ((getGoodsName() == null) ? 0 : getGoodsName().hashCode());
+        result = prime * result + ((getDescriptions() == null) ? 0 : getDescriptions().hashCode());
+        result = prime * result + ((getGoodsImg() == null) ? 0 : getGoodsImg().hashCode());
+        result = prime * result + ((getContent() == null) ? 0 : getContent().hashCode());
+        result = prime * result + ((getCreatedTime() == null) ? 0 : getCreatedTime().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", goodsName=").append(goodsName);
+        sb.append(", descriptions=").append(descriptions);
+        sb.append(", goodsImg=").append(goodsImg);
+        sb.append(", content=").append(content);
+        sb.append(", createdTime=").append(createdTime);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 13 - 0
goods/src/main/java/com/zt/service/GoodsService.java

@@ -0,0 +1,13 @@
+package com.zt.service;
+
+import com.zt.pojo.GoodsDto;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author 孙超林
+* @description 针对表【goods】的数据库操作Service
+* @createDate 2025-05-16 10:26:45
+*/
+public interface GoodsService extends IService<GoodsDto> {
+
+}

+ 22 - 0
goods/src/main/java/com/zt/service/impl/GoodsServiceImpl.java

@@ -0,0 +1,22 @@
+package com.zt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zt.pojo.GoodsDto;
+import com.zt.service.GoodsService;
+import com.zt.mapper.GoodsMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author 孙超林
+* @description 针对表【goods】的数据库操作Service实现
+* @createDate 2025-05-16 10:26:45
+*/
+@Service
+public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsDto>
+    implements GoodsService{
+
+}
+
+
+
+

+ 12 - 0
goods/src/main/resources/application.yml

@@ -0,0 +1,12 @@
+server:
+  port: 9999
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root
+
+# 日志输出
+mybatis-plus:
+  mapper-locations: classpath:/mapper/*.xml

+ 20 - 0
goods/src/main/resources/mapper/GoodsMapper.xml

@@ -0,0 +1,20 @@
+<?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.zt.mapper.GoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.GoodsDto">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="goodsName" column="goods_name" jdbcType="VARCHAR"/>
+            <result property="descriptions" column="descriptions" jdbcType="VARCHAR"/>
+            <result property="goodsImg" column="goods_img" jdbcType="VARCHAR"/>
+            <result property="content" column="content" jdbcType="VARCHAR"/>
+            <result property="createdTime" column="created_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,goods_name,descriptions,
+        goods_img,content,created_time
+    </sql>
+</mapper>

+ 12 - 0
goods/target/classes/application.yml

@@ -0,0 +1,12 @@
+server:
+  port: 9999
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root
+
+# 日志输出
+mybatis-plus:
+  mapper-locations: classpath:/mapper/*.xml

BIN
goods/target/classes/com/zt/GoodsApplication.class


BIN
goods/target/classes/com/zt/controller/GoodsController.class


BIN
goods/target/classes/com/zt/mapper/GoodsMapper.class


BIN
goods/target/classes/com/zt/pojo/Goods.class


BIN
goods/target/classes/com/zt/service/GoodsService.class


BIN
goods/target/classes/com/zt/service/impl/GoodsServiceImpl.class


+ 20 - 0
goods/target/classes/mapper/GoodsMapper.xml

@@ -0,0 +1,20 @@
+<?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.zt.mapper.GoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.Goods">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="goodsName" column="goods_name" jdbcType="VARCHAR"/>
+            <result property="descriptions" column="descriptions" jdbcType="VARCHAR"/>
+            <result property="goodsImg" column="goods_img" jdbcType="VARCHAR"/>
+            <result property="content" column="content" jdbcType="VARCHAR"/>
+            <result property="createdTime" column="created_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,goods_name,descriptions,
+        goods_img,content,created_time
+    </sql>
+</mapper>

+ 123 - 0
pom.xml

@@ -0,0 +1,123 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.zt</groupId>
+    <artifactId>scl_sale</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <modules>
+        <module>goods</module>
+        <module>chao</module>
+        <module>consumer</module>
+    </modules>
+
+
+    <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.6.13</spring-boot.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.5.4</version>
+        </dependency>
+        <!-- JJWT 依赖 -->
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+            <version>0.9.1</version>
+        </dependency>
+        <!-- Redisson 依赖 -->
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson</artifactId>
+            <version>3.16.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+            <version>3.1.5</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.kafka</groupId>
+            <artifactId>spring-kafka</artifactId>
+        </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.zhentao.Demo1Application</mainClass>
+                    <skip>true</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+
+</project>
+
+
+

+ 8 - 0
target/classes/application.yml

@@ -0,0 +1,8 @@
+server:
+  port: 9000
+spring:
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/week?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+    username: root
+    password: root

BIN
target/classes/com/zt/GoodsApp.class


BIN
target/classes/com/zt/controller/GoodsController.class


BIN
target/classes/com/zt/dto/GoodsDto.class


BIN
target/classes/com/zt/mapper/GoodsMapper.class


BIN
target/classes/com/zt/pojo/Goods.class


BIN
target/classes/com/zt/service/GoodsService.class


BIN
target/classes/com/zt/service/impl/GoodsServiceImpl.class


+ 20 - 0
target/classes/mapper/GoodsMapper.xml

@@ -0,0 +1,20 @@
+<?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.zt.mapper.GoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.zt.pojo.GoodsDto">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="goodsName" column="goods_name" jdbcType="VARCHAR"/>
+            <result property="descriptions" column="descriptions" jdbcType="VARCHAR"/>
+            <result property="goodsImg" column="goods_img" jdbcType="VARCHAR"/>
+            <result property="content" column="content" jdbcType="VARCHAR"/>
+            <result property="createdTime" column="created_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,goods_name,descriptions,
+        goods_img,content,created_time
+    </sql>
+</mapper>