This commit is contained in:
BOOL\25024
2025-02-26 15:35:58 +08:00
2 changed files with 67 additions and 0 deletions

View File

@@ -1498,6 +1498,7 @@ public class OrderService {
if (StringUtils.isNotBlank(dto.getStopReason())) {
int i = Integer.parseInt(dto.getStopReason(), 16);
String stopReasonMsg = YKCChargingStopReasonEnum.getMsgByCode(i);
record.setStopReasonCode(dto.getStopReason()); // 故障原因码
record.setReason(stopReasonMsg);
}
record.setTradeDate(DateUtils.parseDate(dto.getTradeTime()));

View File

@@ -9,23 +9,31 @@ import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.thirdparty.BusinessInformationExchangeEnum;
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.enums.ykc.StartModeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.JWTUtils;
import com.jsowell.common.util.PageUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.AreaCodeInfo;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.OrderDetail;
import com.jsowell.pile.dto.PushRealTimeInfoDTO;
import com.jsowell.pile.dto.QueryStationInfoDTO;
import com.jsowell.pile.service.*;
import com.jsowell.pile.thirdparty.CommonParamsDTO;
import com.jsowell.pile.thirdparty.EquipmentInfo;
import com.jsowell.pile.util.MerchantUtils;
import com.jsowell.pile.vo.ThirdPartySecretInfoVO;
import com.jsowell.pile.vo.base.ConnectorInfoVO;
import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
import com.jsowell.pile.vo.uniapp.customer.BillingPriceVO;
import com.jsowell.pile.vo.web.PileMerchantInfoVO;
import com.jsowell.thirdparty.lianlian.domain.*;
import com.jsowell.thirdparty.lianlian.vo.AccessTokenVO;
import com.jsowell.thirdparty.platform.domain.ChargeOrderInfo;
import com.jsowell.thirdparty.platform.domain.SupChargeDetails;
import com.jsowell.thirdparty.platform.domain.SupStationInfo;
import com.jsowell.thirdparty.platform.factory.ThirdPartyPlatformFactory;
import com.jsowell.thirdparty.platform.service.ThirdPartyPlatformService;
@@ -421,6 +429,64 @@ public class HeNanPlatformServiceImpl implements ThirdPartyPlatformService {
return resultMap;
}
/**
* 推送订单 notification_charge_order_info
* @param orderCode
* @param secretInfoVO
* @return
*/
@Override
public String notificationChargeOrderInfo(String orderCode, ThirdPartySecretInfoVO secretInfoVO) {
// 根据订单号查询出信息
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
if (orderBasicInfo == null) {
return null;
}
String operatorId = Constants.OPERATORID_JIANG_SU;
String operatorSecret = secretInfoVO.getTheirOperatorSecret();
String signSecret = secretInfoVO.getTheirSigSecret();
String dataSecret = secretInfoVO.getTheirDataSecret();
String dataSecretIv = secretInfoVO.getTheirDataSecretIv();
String urlAddress = secretInfoVO.getTheirUrlPrefix();
// 推送地址
String url = urlAddress + BusinessInformationExchangeEnum.NOTIFICATION_CHARGE_ORDER_INFO.getValue();
// 根据订单号查询订单详情
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
if (orderDetail == null) {
return null;
}
// 拼装订单编号
String startChargeSeq = Constants.OPERATORID_JIANG_SU + orderCode + DateUtils.dateTimeNow(DateUtils.YYMMDD);
com.jsowell.thirdparty.platform.common.ChargeOrderInfo chargeOrderInfo = com.jsowell.thirdparty.platform.common.ChargeOrderInfo.builder()
.startChargeSeq(startChargeSeq)
// .startChargeType()
.connectorId(orderBasicInfo.getPileConnectorCode())
.startTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderBasicInfo.getChargeStartTime()))
.endTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderBasicInfo.getChargeEndTime()))
.totalPower(orderDetail.getTotalUsedElectricity())
.totalElecMoney(orderDetail.getTotalElectricityAmount())
.totalSeviceMoney(orderDetail.getTotalServiceAmount())
.elecMoney(orderDetail.getTotalElectricityAmount())
.totalMoney(orderDetail.getTotalOrderAmount())
.stopReason(2)
.build();
// 获取令牌
String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret);
if (StringUtils.isBlank(token)) {
return null;
}
// 调用平台接口
String jsonString = JSON.toJSONString(chargeOrderInfo);
String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret, dataSecretIv, operatorId, signSecret);
return result;
}
/**
* 查询河南省平台密钥信息
* @return