diff --git a/src/main/java/com/example/demo/service/Temporary/RedService.java b/src/main/java/com/example/demo/service/Temporary/RedService.java index de60f87..da6a150 100644 --- a/src/main/java/com/example/demo/service/Temporary/RedService.java +++ b/src/main/java/com/example/demo/service/Temporary/RedService.java @@ -15,6 +15,7 @@ import java.math.BigDecimal; public interface RedService { BigDecimal selectSum(Integer jwcode, Integer type); - void addAmount(Integer jwcode,BigDecimal sum, Integer type); + void addAmount(Integer jwcode,BigDecimal sum, Integer type); String sendJwcode(Integer jwcode); + String sendConsumeJwcode(Integer jwcode, Integer price); } diff --git a/src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java index ce16de4..5bf1621 100644 --- a/src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java @@ -108,7 +108,27 @@ public class RedServiceImpl implements RedService { return "{\"success\":false,\"msg\":\"网络异常\"}"; } } + @Override + public String sendConsumeJwcode(Integer jwcode, Integer price) { + try { + String body = JSON.toJSONString(java.util.Map.of("jwcode", jwcode,"price",price)); + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(BASE_URLProd + PATH)) //URL记得换 + .header("Content-Type", "application/json") + .POST(HttpRequest.BodyPublishers.ofString(body)) + .build(); + + HttpResponse resp = CLIENT.send(request, HttpResponse.BodyHandlers.ofString()); + if (resp.statusCode() != 200) { + log.warn("红包接口异常,status:{},body:{}", resp.statusCode(), resp.body()); + } + return resp.body(); + } catch (IOException | InterruptedException e) { + log.error("调用红包接口失败,jwcode:{}", jwcode, e); + return "{\"success\":false,\"msg\":\"网络异常\"}"; + } + } // --- 校验方法 --- private void validateParams(Integer jwcode, Integer type, BigDecimal delta) {