add 推送订单对账结果信息 接口

This commit is contained in:
Lemon
2023-05-22 15:49:45 +08:00
parent cb8ee1276e
commit 14e872d97f
4 changed files with 91 additions and 12 deletions

View File

@@ -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;
}

View File

@@ -135,4 +135,11 @@ public interface LianLianService {
* @return
*/
String queryOrderSettlementInfo(String orderCode);
/**
* 推送订单对账结果信息
* @param orderCode
* @return
*/
String pushOrderReconciliationInfo(String orderCode);
}

View File

@@ -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<ChargeOrder> 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