WIP:三方对接逻辑
This commit is contained in:
parent
89540ca832
commit
e2cd9cea69
@ -68,7 +68,6 @@ public class QueryEquipChargeStatusController {
|
||||
equipChargeStatus.setStartChargeSeqStat(startChargeSeqStat);
|
||||
//充电设备接口编码
|
||||
String connectorId = internalOrderNum.substring(0, 16);
|
||||
// CacheOrderData cacheOrderData = (CacheOrderData) order.get("orderData");
|
||||
//充电设备接口状态
|
||||
Map<String, Object> cacheGunData = REDIS.getCacheMap("gun:" + connectorId);
|
||||
String gunStatus = (String) cacheGunData.get("status");
|
||||
@ -104,11 +103,13 @@ public class QueryEquipChargeStatusController {
|
||||
String startTime = (String) order.get("startTime");
|
||||
equipChargeStatus.setStartTime(startTime);
|
||||
//本次采样时间 直接new一个当前时间的Date就可以了
|
||||
equipChargeStatus.setEndTime(DateUtil.getNowDateStr());
|
||||
equipChargeStatus.setEndTime(DateUtil.getYyyyMmDdHhMmSs());
|
||||
final Integer chargeModel = (Integer) order.get("chargeModel");
|
||||
equipChargeStatus.setChargeModel(chargeModel == null ? 0 : chargeModel);
|
||||
//累计充电量
|
||||
CacheRealtimeData orderLord = REDIS.getCacheObject("order:" + internalOrderNum + ".lord");
|
||||
Double chargingDegree = Double.valueOf(orderLord.getChargingDegree());
|
||||
equipChargeStatus.setTotalPower(chargingDegree);
|
||||
equipChargeStatus.setTotalPower(chargingDegree / 10000);
|
||||
|
||||
// ChargeDetails detail = new ChargeDetails();
|
||||
// detail.setDetailStartTime(equipChargeStatus.getStartTime());
|
||||
@ -122,7 +123,7 @@ public class QueryEquipChargeStatusController {
|
||||
CommonResponse response = new CommonResponse();
|
||||
response.setRet(EvcsConst.RET_SUCC);
|
||||
response.setData(JSONUtil.toJSONString(equipChargeStatus));
|
||||
response.setMsg("操作成功");
|
||||
response.setMsg("success");
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
@ -339,7 +339,7 @@ public class QueryStationsInfoController {
|
||||
cachePile.put("connectorType", xhpcChargingPile.getType() == null ? 4 : xhpcChargingPile.getType());
|
||||
cachePile.put("voltageUpperLimits", xhpcChargingPile.getMaxVoltage().intValue());
|
||||
cachePile.put("voltageLowerLimits", xhpcChargingPile.getMinVoltage().intValue());
|
||||
cachePile.put("current", xhpcChargingPile.getCurrent());
|
||||
cachePile.put("currentLimit", xhpcChargingPile.getCurrent());
|
||||
cachePile.put("power", xhpcChargingPile.getPower());
|
||||
cachePile.put("nationalStandard", xhpcChargingPile.getNationalStandard().equals("2011") ? 1 : 2);
|
||||
cachePile.put("equipmentType", xhpcChargingPile.getType());
|
||||
|
||||
@ -53,7 +53,8 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher {
|
||||
if (isInteger(status)) {
|
||||
final String orderkey = cacheGun.get("orderkey").toString();
|
||||
EquipChargeStatus equipChargeStatus = new EquipChargeStatus();
|
||||
// equipChargeStatus.setStartChargeSeq(transferInternetOrderNo(orderkey)); //todo
|
||||
equipChargeStatus.setStartChargeSeq(REDIS.getCacheMapValue(orderkey.replace("order:", "pushOrder:"),
|
||||
"internetSerialNumber"));
|
||||
equipChargeStatus.setStartChargeSeqStat(2);
|
||||
equipChargeStatus.setConnectorID(orderkey.substring(6, 22));
|
||||
String current = REDIS.getCacheMapValue(gunkey, "current");
|
||||
@ -98,7 +99,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher {
|
||||
final String rtf = cacheRateModel.getTfPricesSeq()[tf];
|
||||
BigDecimal timePeriodRatio = BigDecimal.valueOf(60).divide(minutes, 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tpPower = BigDecimal.valueOf(equipChargeStatusCD.getTotalPower()).multiply(timePeriodRatio);
|
||||
calculateCD(equipChargeStatusCD, cacheRateModel, rtf, timePeriodRatio, tpPower, cd);
|
||||
calculateCD(cacheRateModel, rtf, timePeriodRatio, tpPower, cd);
|
||||
if (i == 0) {
|
||||
cd.setDetailStartTime(equipChargeStatusCD.getStartTime());
|
||||
} else {
|
||||
@ -123,7 +124,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher {
|
||||
BigDecimal tpPower = BigDecimal.valueOf(equipChargeStatusCD.getTotalPower())
|
||||
.multiply(timePeriodRatio).divide(BigDecimal.valueOf(100000), 2, RoundingMode.HALF_UP);
|
||||
ChargeDetails cd = new ChargeDetails();
|
||||
calculateCD(equipChargeStatusCD, cacheRateModel, rtf, timePeriodRatio, tpPower, cd);
|
||||
calculateCD(cacheRateModel, rtf, timePeriodRatio, tpPower, cd);
|
||||
firstNElecMoney += cd.getDetailElecMoney();
|
||||
cd.setDetailStartTime(firstNDT.toString(DATE_FORMAT_DATE_TIME));
|
||||
chargeDetails.add(cd);
|
||||
@ -134,7 +135,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher {
|
||||
equipChargeStatusCD.setSeviceMoney(equipChargeStatusCD.getTotalMoney() - firstNElecMoney);
|
||||
}
|
||||
|
||||
private void calculateCD(EquipChargeStatus equipChargeStatusCD, CacheRateModel cacheRateModel, String rtf,
|
||||
private void calculateCD(CacheRateModel cacheRateModel, String rtf,
|
||||
BigDecimal timePeriodRatio, BigDecimal tpPower, ChargeDetails cd) {
|
||||
|
||||
cd.setDetailPower(tpPower.multiply(timePeriodRatio).doubleValue());
|
||||
@ -163,13 +164,13 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher {
|
||||
|
||||
public void notify(EquipChargeStatus equipChargeStatus, AuthSecretToken authSecretTokenOut) throws IOException {
|
||||
|
||||
String operatorIdEvcs = "MA6DFCTD5";
|
||||
String data = JSONUtil.toJSONString(equipChargeStatus);
|
||||
logger.debug(data);
|
||||
CommonRequest<CDChargeOrderInfo4BonusReq> commonRequest = new CommonRequest<>();
|
||||
commonRequest.setOperatorId(operatorIdEvcs);
|
||||
final String operatorId = authSecretTokenOut.getOperatorId3irdpty().equals("765367656") ?
|
||||
authSecretTokenOut.getOperatorId() : "MA6DFCTD5";
|
||||
commonRequest.setOperatorId(operatorId);
|
||||
commonRequest.setData(data);
|
||||
String responseBody = ok(commonRequest, "/notification_equip_charge_status", authSecretTokenOut, operatorIdEvcs);
|
||||
String responseBody = ok(commonRequest, "/notification_equip_charge_status", authSecretTokenOut, operatorId);
|
||||
EquipChargeStatusRes equipChargeStatusRes = DTOJsonHelper.parseResponseData(responseBody,
|
||||
EquipChargeStatusRes.class, authSecretTokenOut);
|
||||
if (equipChargeStatusRes != null && equipChargeStatusRes.getSuccStat() != 0) {
|
||||
|
||||
@ -473,6 +473,11 @@ public class DateUtil {
|
||||
|
||||
}
|
||||
|
||||
public static String getYyyyMmDdHhMmSs() {
|
||||
|
||||
return DateTime.now().toString(DATE_FORMAT_DATE_TIME);
|
||||
}
|
||||
|
||||
public static String getYYYY() {
|
||||
|
||||
return String.valueOf(DateTime.now().getField(DateField.YEAR));
|
||||
|
||||
@ -21,6 +21,9 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -257,6 +260,8 @@ public class ChargingController {
|
||||
cacheOrder.put("gunId", startChargingData.getGunId());
|
||||
cacheOrder.put("tel", startChargingData.getTel());
|
||||
cacheOrder.put("stopSoc", startChargingData.getSoc());
|
||||
cacheOrder.put("startTime",
|
||||
DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss").withZone(ZoneId.systemDefault()).format(Instant.now()));
|
||||
REDIS.setCacheMap(orderkey, cacheOrder);
|
||||
return R.ok("充电指令已下发");
|
||||
} catch (IOException e) {
|
||||
|
||||
@ -57,7 +57,9 @@ public class RemoteStartReplyDataLogic implements ServiceLogic {
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
REDIS.setCacheMap(orderkey, cacheOrder);
|
||||
if (HEX_01.equals(remoteStartReplyData.getStartResult())) {
|
||||
cacheGun.put("orderstarttime", DateUtil.format(Calendar.getInstance().getTime(), NORM_DATETIME_FORMAT));
|
||||
final String orderstarttime = DateUtil.format(Calendar.getInstance().getTime(), NORM_DATETIME_FORMAT);
|
||||
cacheOrder.put("startTime", orderstarttime);
|
||||
cacheGun.put("orderstarttime", orderstarttime);
|
||||
cacheGun.put("orderstoptime", null);
|
||||
cacheGun.put("orderkey", orderkey);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user