zhentao hace 1 mes
commit
72836d49b7

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 13 - 0
.idea/compiler.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="demo0330" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>

+ 7 - 0
.idea/encodings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+  </component>
+</project>

+ 20 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 14 - 0
.idea/misc.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 94 - 0
pom.xml

@@ -0,0 +1,94 @@
+<?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.zhentao</groupId>
+    <artifactId>demo0330</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>demo0330</name>
+    <description>demo0330</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.6.13</spring-boot.version>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <version>3.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.16</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.zhentao.Demo0330Application</mainClass>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 13 - 0
src/main/java/com/zhentao/Demo0330Application.java

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

+ 25 - 0
src/main/java/com/zhentao/controller/AppIdController.java

@@ -0,0 +1,25 @@
+package com.zhentao.controller;
+
+import com.zhentao.pojo.AppRequest;
+import com.zhentao.service.AppIdService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/app")
+public class AppIdController {
+    @Autowired
+    private AppIdService service;
+    @PostMapping("/test01")
+    public ResponseEntity<String> test(@Validated @RequestBody AppRequest appRequest, @RequestHeader("reqId")String reqId){
+
+       return service.process(appRequest,reqId);
+    }
+    @GetMapping("/test02")
+    public ResponseEntity<String> test02(AppRequest appRequest,@RequestHeader("reqId") String reqId){
+
+        return service.process(appRequest,reqId);
+    }
+}

+ 19 - 0
src/main/java/com/zhentao/controller/InterfaceCaller.java

@@ -0,0 +1,19 @@
+package com.zhentao.controller;
+
+import cn.hutool.crypto.digest.DigestUtil;
+
+public class InterfaceCaller {
+    //模拟接口一
+    public static boolean verifySignature1(String appId,String goodsId,String reqId,String reqTime,String appKey,String signature) {
+        String dataToSign=appId+goodsId+reqId+reqTime+appKey;
+        String generatedSignature= DigestUtil.md5Hex(dataToSign);
+        return generatedSignature.equals(signature);
+    }
+    //模拟接口二
+    public static boolean verifySignature2(String appId,String goodsId,String reqId,String reqTime,String appKey,String signature) {
+        String dataToSign=appId+goodsId+reqId+reqTime+appKey;
+        String generatedSignature=  DigestUtil.md5Hex(dataToSign);
+        return generatedSignature.equals(signature);
+    }
+
+}

+ 36 - 0
src/main/java/com/zhentao/pojo/AppRequest.java

@@ -0,0 +1,36 @@
+package com.zhentao.pojo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+import javax.validation.constraints.*;
+import java.util.Date;
+
+@Data
+public class AppRequest {
+    @NotEmpty(message = "id不能为空")
+    private String appId;
+    @NotEmpty(message = "签名不能为空")
+    private String sign;
+    @NotNull(message = "reqTime不能为空")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long reqTime;
+    @NotEmpty(message = "goodsId不能为空")
+    @JsonFormat(shape =JsonFormat.Shape.STRING)
+    private String goodsID;
+    @NotNull(message = "amount不能为空")
+    @DecimalMin(value = "1",message = "最小值1")
+    private Integer amount;
+    @NotNull(message = "price不能为空")
+    @DecimalMin(value = "0",message = "最小值0")
+    @DecimalMax(value = "9999",message = "最大值9999")
+    private Double price;
+    @NotEmpty(message = "手机号不能为空")
+    @Pattern(regexp="^((13[0-9)|(14[0-9])|(15(10-9])|(166)|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$",message ="手机号码格式错误")
+    private String mobile;
+    @NotNull(message = "日期不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8",shape = JsonFormat.Shape.STRING)
+    private Date nowDate;
+}

+ 8 - 0
src/main/java/com/zhentao/service/AppIdService.java

@@ -0,0 +1,8 @@
+package com.zhentao.service;
+
+import com.zhentao.pojo.AppRequest;
+import org.springframework.http.ResponseEntity;
+
+public interface AppIdService {
+    ResponseEntity<String> process(AppRequest appRequest, String reqId);
+}

+ 14 - 0
src/main/java/com/zhentao/service/impl/AppIdSerciceImpl.java

@@ -0,0 +1,14 @@
+package com.zhentao.service.impl;
+
+import com.zhentao.pojo.AppRequest;
+import com.zhentao.service.AppIdService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AppIdSerciceImpl implements AppIdService {
+    @Override
+    public ResponseEntity<String> process(AppRequest appRequest, String reqId) {
+        return ResponseEntity.ok(appRequest.getAppId()+",goodsId:"+ appRequest.getGoodsID());
+    }
+}

BIN
target/classes/com/zhentao/Demo0330Application.class


BIN
target/classes/com/zhentao/controller/AppIdController.class


BIN
target/classes/com/zhentao/pojo/AppRequest.class


BIN
target/classes/com/zhentao/service/AppIdService.class


BIN
target/classes/com/zhentao/service/impl/AppIdSerciceImpl.class


BIN
target/demo0330-0.0.1-SNAPSHOT.jar


BIN
target/demo0330-0.0.1-SNAPSHOT.jar.original


+ 3 - 0
target/maven-archiver/pom.properties

@@ -0,0 +1,3 @@
+artifactId=demo0330
+groupId=com.zhentao
+version=0.0.1-SNAPSHOT

+ 5 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -0,0 +1,5 @@
+com\zhentao\controller\AppIdController.class
+com\zhentao\Demo0330Application.class
+com\zhentao\service\AppIdService.class
+com\zhentao\service\impl\AppIdSerciceImpl.class
+com\zhentao\pojo\AppRequest.class

+ 5 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,5 @@
+D:\java file\2407_4\demo0330\src\main\java\com\zhentao\service\impl\AppIdSerciceImpl.java
+D:\java file\2407_4\demo0330\src\main\java\com\zhentao\pojo\AppRequest.java
+D:\java file\2407_4\demo0330\src\main\java\com\zhentao\service\AppIdService.java
+D:\java file\2407_4\demo0330\src\main\java\com\zhentao\Demo0330Application.java
+D:\java file\2407_4\demo0330\src\main\java\com\zhentao\controller\AppIdController.java