diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 58ab76ba4..4606620b1 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -201,7 +201,10 @@ public class SpringBootTestController { // lianLianService.pushOrderSettlementInfo("C27680791529"); // 查询订单结算信息 - lianLianService.queryOrderSettlementInfo("C27680791529"); + // lianLianService.queryOrderSettlementInfo("C27680791529"); + + // 推送订单对账结果信息 + lianLianService.pushOrderReconciliationInfo("C27680791529"); } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ChargeOrder.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ChargeOrder.java new file mode 100644 index 000000000..4698395d4 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/domain/ChargeOrder.java @@ -0,0 +1,39 @@ +package com.jsowell.thirdparty.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 单项订单对账信息体 + * + * @author JS-ZZA + * @date 2023/5/22 15:39 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ChargeOrder { + /** + * 充电订单号 + */ + @JSONField(name = "StartChargeSeq") + private String startChargeSeq; + + /** + * 累计充电量 + */ + @JSONField(name = "TotalPower") + private BigDecimal totalPower; + + /** + * 累计总金额 + */ + @JSONField(name = "TotalMoney") + private BigDecimal totalMoney; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java index 1bc9be7c5..b753e3fd7 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/LianLianService.java @@ -135,4 +135,11 @@ public interface LianLianService { * @return */ String queryOrderSettlementInfo(String orderCode); + + /** + * 推送订单对账结果信息 + * @param orderCode + * @return + */ + String pushOrderReconciliationInfo(String orderCode); } diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java index de6538a04..b5aa2b39c 100644 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/service/impl/LianLianServiceImpl.java @@ -963,18 +963,48 @@ public class LianLianServiceImpl implements LianLianService { return result; } - // private ChargeDetail setChargeDetail(OrderBasicInfo orderBasicInfo, OrderDetail orderDetail) { - // ChargeDetail detail = new ChargeDetail(); - // - // detail.setDetailStartTime(); - // detail.setDetailEndTime(); - // detail.setElecPrice(); - // detail.setSevicePrice(); - // detail.setDetailPower(); - // detail.setDetailElecMoney(); - // detail.setDetailSeviceMoney(); - // } + /** + * 推送订单对账结果信息 + * @param orderCode + * @return + */ + @Override + public String pushOrderReconciliationInfo(String orderCode) { + String url = TEST_URL + "check_charge_orders"; + List list = new ArrayList<>(); + // 根据订单号查询订单信息 + OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); + OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); + if (orderInfo == null || orderDetail == null) { + return null; + } + JSONObject json = new JSONObject(); + json.put("CheckOrderSeq", orderCode); + json.put("StartTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderInfo.getChargeStartTime())); + json.put("EndTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderInfo.getChargeEndTime())); + json.put("OrderCount", 1); + json.put("TotalOrderPower", orderDetail.getTotalUsedElectricity()); + json.put("TotalOrderMoney", orderDetail.getTotalOrderAmount()); + ChargeOrder chargeOrder = ChargeOrder.builder() + .startChargeSeq(orderCode) + .totalPower(orderDetail.getTotalUsedElectricity()) + .totalMoney(orderDetail.getTotalOrderAmount()) + .build(); + list.add(chargeOrder); + json.put("ChargeOrders", list); + + // 获取令牌 + String token = getToken(OPERATOR_ID, OPERATOR_SECRET); + if (StringUtils.isBlank(token)){ + return null; + } + String jsonString = JSONObject.toJSONString(json); + // 发送请求 + String result = HttpRequestUtil.sendPost(token, jsonString, url, DATA_SECRET, DATA_SECRETIV, OPERATOR_ID, SIG_SECRET); + + return result; + } // TODO 推送订单对账结果信息 check_charge_orders