From 7ff3db1141c8a8ab174336971dd201a82268aca6 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 22 May 2023 13:50:19 +0800 Subject: [PATCH] =?UTF-8?q?add=20=20=E8=81=94=E8=81=94=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=20=E6=8E=A8=E9=80=81=E8=AE=A2=E5=8D=95=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E3=80=81=E6=9F=A5=E8=AF=A2=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E4=BF=A1=E6=81=AF=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/SpringBootTestController.java | 8 ++- .../pile/dto/PushOrderSettlementDTO.java | 51 +++++++++++++++ .../pile/mapper/OrderBasicInfoMapper.java | 2 +- .../pile/service/IOrderBasicInfoService.java | 7 +++ .../impl/OrderBasicInfoServiceImpl.java | 12 +++- .../thirdparty/service/LianLianService.java | 14 +++++ .../service/impl/LianLianServiceImpl.java | 62 ++++++++++++++++--- 7 files changed, 144 insertions(+), 12 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/PushOrderSettlementDTO.java diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 7662fc13e..58ab76ba4 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -195,7 +195,13 @@ public class SpringBootTestController { // lianLianService.pushStopChargeResult("C27680791529"); // 推送充电订单信息 - lianLianService.pushChargeOrderInfo("C27680791529"); + // lianLianService.pushChargeOrderInfo("C27680791529"); + + // 推送订单结算信息 + // lianLianService.pushOrderSettlementInfo("C27680791529"); + + // 查询订单结算信息 + lianLianService.queryOrderSettlementInfo("C27680791529"); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PushOrderSettlementDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PushOrderSettlementDTO.java new file mode 100644 index 000000000..f077ca0f5 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PushOrderSettlementDTO.java @@ -0,0 +1,51 @@ +package com.jsowell.pile.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 推送订单结算信息DTO + * + * @author JS-ZZA + * @date 2023/5/22 11:02 + */ +@Data +public class PushOrderSettlementDTO { + /** + * 充电订单号 + */ + @JSONField(name = "StartChargeSeq") + private String startChargeSeq; + + /** + * 充电设备接口编码 + */ + @JSONField(name = "ConnectorID") + private String connectorID; + + /** + * 累计充电量 + */ + @JSONField(name = "TotalPower") + private BigDecimal totalPower; + + /** + * 累计总金额 + */ + @JSONField(name = "TotalMoney") + private BigDecimal totalMoney; + + /** + * 是否出租车订单 + */ + @JSONField(name = "TaxiOrder") + private BigDecimal taxiOrder; + + /** + * 结算金额 + */ + @JSONField(name = "SettlementMoney") + private BigDecimal settlementMoney; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java index ae5f75683..88f74bbc2 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java @@ -102,7 +102,7 @@ public interface OrderBasicInfoMapper { * 修改订单详情 * @param orderDetail 订单详情 */ - void updateOrderDetail(OrderDetail orderDetail); + int updateOrderDetail(OrderDetail orderDetail); /** * 通过订单号查询订单基本信息 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 011885f1d..7d8b3dcbd 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -63,6 +63,13 @@ public interface IOrderBasicInfoService { */ int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo); + /** + * 修改订单详情 + * @param orderDetail + * @return + */ + int updateOrderDetail(OrderDetail orderDetail); + // 清订单缓存 void cleanCacheByOrderCode(String orderCode, String transactionCode); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 3bea7d5d2..a076d356a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -406,7 +406,17 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { return i; } - @Override + /** + * 修改订单详情 + * @param orderDetail + * @return + */ + @Override + public int updateOrderDetail(OrderDetail orderDetail) { + return orderBasicInfoMapper.updateOrderDetail(orderDetail); + } + + @Override public void cleanCacheByOrderCode(String orderCode, String transactionCode) { logger.debug("清除订单缓存 orderCode:{}, transactionCode:{}", orderCode, transactionCode); List keys = Lists.newArrayList(); 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 a8c6ae18a..1bc9be7c5 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 @@ -121,4 +121,18 @@ public interface LianLianService { * @return */ String pushChargeOrderInfo(String orderCode); + + /** + * 推送订单结算信息 + * @param dto + * @return + */ + String pushOrderSettlementInfo(PushOrderSettlementDTO dto); + + /** + * 查询订单结算信息 + * @param orderCode + * @return + */ + String queryOrderSettlementInfo(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 b7136d377..de6538a04 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 @@ -910,6 +910,59 @@ public class LianLianServiceImpl implements LianLianService { return result; } + /** + * 推送订单结算信息 + * @param dto + * @return + */ + @Override + public String pushOrderSettlementInfo(PushOrderSettlementDTO dto) { + String orderCode = dto.getStartChargeSeq(); + JSONObject json = new JSONObject(); + json.put("StartChargeSeq", orderCode); + json.put("ConnectorID", dto.getConnectorID()); + int confirmResult = Constants.one; + // 根据订单号查询订单信息 + OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); + OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); + if (orderInfo == null || orderDetail == null) { + return null; + } + // 都不为空,根据传过来的数据进行修改数据库信息 + confirmResult = Constants.zero; + orderDetail.setTotalUsedElectricity(dto.getTotalPower()); // 累计充电量 + orderDetail.setTotalOrderAmount(dto.getTotalMoney()); // 累计总金额 + + orderBasicInfoService.updateOrderDetail(orderDetail); + + json.put("ConfirmResult", confirmResult); + String jsonString = JSONObject.toJSONString(json); + + return jsonString; + } + + /** + * 查询订单结算信息 + * @param orderCode + * @return + */ + @Override + public String queryOrderSettlementInfo(String orderCode) { + String url = TEST_URL + "query_order_settlement_info"; + JSONObject json = new JSONObject(); + json.put("StartChargeSeq", orderCode); + String jsonString = JSONObject.toJSONString(json); + // 获取令牌 + String token = getToken(OPERATOR_ID, OPERATOR_SECRET); + if (StringUtils.isBlank(token)){ + return null; + } + // 发送请求 + String result = HttpRequestUtil.sendPost(token, jsonString, url, DATA_SECRET, DATA_SECRETIV, OPERATOR_ID, SIG_SECRET); + + return result; + } + // private ChargeDetail setChargeDetail(OrderBasicInfo orderBasicInfo, OrderDetail orderDetail) { // ChargeDetail detail = new ChargeDetail(); // @@ -922,8 +975,6 @@ public class LianLianServiceImpl implements LianLianService { // detail.setDetailSeviceMoney(); // } - // TODO 推送充电订单信息 notification_charge_order_info - // TODO 推送订单对账结果信息 check_charge_orders @@ -934,13 +985,6 @@ public class LianLianServiceImpl implements LianLianService { } - - // TODO 推送订单结算信息 notification_order_settlement_info - - // TODO 查询订单结算信息 query_order_settlement_info - - - /** * 获取桩列表信息 * @param pileStationInfo