changsl 1 mesiac pred
rodič
commit
121035883c

+ 7 - 0
pom.xml

@@ -47,6 +47,12 @@
             <artifactId>lombok</artifactId>
             <optional>true</optional>
         </dependency>
+        <!---->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.16</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
@@ -62,6 +68,7 @@
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+
         </dependencies>
     </dependencyManagement>
 

+ 11 - 3
src/main/java/com/example/test0330/demos/web/controller/RequwatEntityController.java

@@ -6,6 +6,9 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
 
 @RestController
 @RequestMapping("api")
@@ -13,9 +16,14 @@ import javax.validation.Valid;
 public class RequwatEntityController {
 
     @PostMapping("/post")
-    public String post(@RequestHeader("reqId") String reqId, @Valid @RequestBody RequestEntity request){
-        System.err.println(request);
-        return "reqId= "+reqId+" request="+request;
+    public Map<String, Object> post(@RequestHeader("reqId") String reqId, @Valid @RequestBody RequestEntity request){
+        /*System.err.println(request);
+        return "reqId= "+reqId+" request="+request;*/
+        Map<String,Object> map = new HashMap<>();
+        map.put("reqId", reqId);
+        map.put("message", "POST 请求成功");
+        map.put("data", request);
+        return map;
     }
 
     @GetMapping("get")

+ 5 - 5
src/main/java/com/example/test0330/demos/web/pojo/RequestEntity.java

@@ -6,31 +6,31 @@ import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.*;
 import java.io.Serializable;
-import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
 public class RequestEntity implements Serializable {
     @NotBlank(message = "应用id不能为空")
     private String appId;
- //   private String sign;
+    @NotBlank(message = "签名不能为空")
+   private String sign;
 
 
     @NotNull(message = "时间戳不能为空")
     private Long reqTime;
     @NotNull(message = "商品id不能为空")
-    private Long goodsId;
+    private String goodsId;
     @NotNull(message = "数量不能为空")
     private Integer amount;
     @NotNull(message = "价格不能为空")
     @DecimalMax(value = "9999",message = "最大值9999")
     @DecimalMin(value = "0",message = "最小值0")
-    private BigDecimal price; //价格
+    private Double price; //价格
     @NotBlank(message = "手机号不能为空")
     @Pattern(regexp = "^((13[0-9])|(14[0-9])|(15[0-9])|(166)|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$",message = "手机号格式不正确")
     private String mobile;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8",shape = JsonFormat.Shape.STRING)
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @NotNull(message = "日期不能为空")
     private Date nowDate;
 }

+ 0 - 3
src/main/resources/application.properties

@@ -1,3 +0,0 @@
-## 应用服务 WEB 访问端口
-#server.port=8080
-#

+ 1 - 1
src/main/resources/application.yml

@@ -1,5 +1,5 @@
 server:
-  port: 7070
+  port: 7071
 spring:
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver

+ 79 - 0
src/test/java/com/example/test0330/MainTest.java

@@ -0,0 +1,79 @@
+package com.example.test0330;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.crypto.digest.DigestUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.json.JSONObject;
+import com.example.test0330.demos.web.pojo.RequestEntity;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+public class MainTest {
+
+    private static final String APP_KEY = "your_app_key";
+    private static final String BASE_URL = "http://localhost:7071/api";
+
+    public static void main(String[] args) {
+        // 模拟请求参数
+        RequestEntity request = new RequestEntity();
+        request.setAppId("123");
+        request.setGoodsId("456");
+        request.setReqTime(System.currentTimeMillis());
+        request.setAmount(1);
+        request.setPrice(100.0);
+        request.setMobile("13080440021");
+
+        // 将日期字符串转换为 Date 对象
+        String dateStr = "2023-04-27 12:55:22";
+        Date nowDate = DateUtil.parse(dateStr);
+        request.setNowDate(nowDate);
+
+        String reqId = "5555";
+
+        // 生成签名
+        String sign = generateSign(request.getAppId(), request.getGoodsId(), reqId, request.getReqTime(), APP_KEY);
+
+        request.setSign(sign);
+
+        // 调用 POST 接口
+        callPostApi(request, reqId);
+
+        // 调用 GET 接口
+        callGetApi(request, reqId);
+    }
+
+    private static String generateSign(String appId, String goodsId, String reqId, Long reqTime, String appKey) {
+        String signStr = appId + goodsId + reqId + reqTime + appKey;
+        return DigestUtil.md5Hex(signStr);
+    }
+
+    private static void callPostApi(RequestEntity request, String reqId) {
+        JSONObject json = new JSONObject(request);
+        HttpResponse response = HttpRequest.post(BASE_URL + "/post")
+                .header("reqId", reqId)
+                .body(json.toString())
+                .execute();
+        System.out.println("POST 请求响应:" + response.body());
+    }
+
+    private static void callGetApi(RequestEntity request, String reqId) {
+        Map<String, Object> paramMap = new HashMap<>();
+        paramMap.put("appId", request.getAppId());
+        paramMap.put("sign", request.getSign());
+        paramMap.put("reqTime", request.getReqTime());
+        paramMap.put("goodsId", request.getGoodsId());
+        paramMap.put("amount", request.getAmount());
+        paramMap.put("price", request.getPrice());
+        paramMap.put("mobile", request.getMobile());
+        paramMap.put("nowDate", request.getNowDate());
+
+        HttpResponse response = HttpRequest.get(BASE_URL + "/get")
+                .header("reqId", reqId)
+                .form(paramMap)
+                .execute();
+        System.out.println("GET 请求响应:" + response.body());
+    }
+}