From 8e40c6cdb65eecb1652f0e1834fe92717df11259 Mon Sep 17 00:00:00 2001 From: lijianlin Date: Thu, 4 Dec 2025 09:59:19 +0800 Subject: [PATCH] =?UTF-8?q?12-04=20=E5=8F=91=E9=80=81=E7=B2=BE=E7=BD=91?= =?UTF-8?q?=E5=8F=B7=E6=96=B9=E6=B3=95=EF=BC=8C=E5=82=A8=E5=80=BC=E5=8F=91?= =?UTF-8?q?=E9=80=81=E7=B2=BE=E7=BD=91=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/service/Temporary/RedService.java | 3 +- .../demo/serviceImpl/Temporary/RedServiceImpl.java | 44 ++++++++++++++++++++++ .../demo/serviceImpl/coin/AuditServiceImpl.java | 9 +++-- 3 files changed, 51 insertions(+), 5 deletions(-) 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 97672bb..c34495e 100644 --- a/src/main/java/com/example/demo/service/Temporary/RedService.java +++ b/src/main/java/com/example/demo/service/Temporary/RedService.java @@ -14,5 +14,6 @@ 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); } 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 d4beee3..91041e7 100644 --- a/src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java @@ -1,19 +1,27 @@ package com.example.demo.serviceImpl.Temporary; +import com.alibaba.fastjson.JSON; import com.example.demo.Util.BusinessException; import com.example.demo.config.RedTimeRuleConfig; import com.example.demo.domain.vo.Red; import com.example.demo.exception.SystemException; import com.example.demo.mapper.Temporary.RedMapper; import com.example.demo.service.Temporary.RedService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.io.IOException; import java.math.BigDecimal; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; + /** * @program: GOLD * @ClassName RedServiceImpl @@ -22,8 +30,15 @@ import java.time.format.DateTimeFormatter; * @create: 2025−12-03 16:37 * @Version 1.0 **/ +@Slf4j @Service public class RedServiceImpl implements RedService { + private static final String BASE_URLProd = "http://39.101.133.168:8828/scms"; + private static final String BASE_URLDev = "http://gf977328.natappfree.cc"; + private static final String PATH = "/api/coupon/IssueRechargeRedPacket"; + + private static final HttpClient CLIENT = HttpClient.newHttpClient(); + @Autowired private RedMapper redMapper; @Autowired @@ -62,6 +77,35 @@ public class RedServiceImpl implements RedService { } } + + /* + 调用充值红包发放接口 + + */ + @Override + public String sendJwcode(Integer jwcode) { + try { + String body = JSON.toJSONString(java.util.Map.of("jwcode", jwcode)); + + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(BASE_URLDev + 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) { if (jwcode == null || jwcode <= 0) { diff --git a/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java index 846706d..4c5772d 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java @@ -120,15 +120,16 @@ public class AuditServiceImpl implements AuditService { //累充 - try { + /* try { BigDecimal sum = BigDecimal.valueOf( - order.getPermanentGold() + order.getFreeJune() + order.getFreeDecember() - ).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); + order.getPermanentGold()) + .divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); redService.addAmount(order.getJwcode(), sum, 1); // ← 直接调你写好的方法! } catch (Exception e) { log.warn("红包累加失败,主流程继续 | jwcode={}", order.getJwcode(), e); - } + }*/ + redService.sendJwcode(order.getJwcode()); //erp增加充值数据