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