完成query_equip_charge_status接口开发(未测试)
This commit is contained in:
parent
3b5314db40
commit
771a4c8baf
@ -2,7 +2,9 @@ package com.xhpc.evcs.encryption;
|
|||||||
|
|
||||||
public class EvcsConst {
|
public class EvcsConst {
|
||||||
|
|
||||||
public static final String RET_SUCC = "0";//请求成功
|
//请求成功
|
||||||
public static final String RET_FAIl = "1";//请求成功
|
public static final String RET_SUCC = "0";
|
||||||
|
//请求失败
|
||||||
|
public static final String RET_FAIL = "1";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
package com.xhpc.evcs.api;
|
package com.xhpc.evcs.api;
|
||||||
|
|
||||||
import com.xhpc.evcs.dto.*;
|
import com.xhpc.common.data.redis.CacheOrderData;
|
||||||
|
import com.xhpc.evcs.dto.ChargeInfoRequest;
|
||||||
|
import com.xhpc.evcs.dto.CommonRequest;
|
||||||
|
import com.xhpc.evcs.dto.CommonResponse;
|
||||||
|
import com.xhpc.evcs.dto.EquipChargeStatus;
|
||||||
import com.xhpc.evcs.encryption.EvcsConst;
|
import com.xhpc.evcs.encryption.EvcsConst;
|
||||||
import com.xhpc.evcs.http.ServerInternalException;
|
import com.xhpc.evcs.http.ServerInternalException;
|
||||||
import com.xhpc.evcs.jpa.XhpcHistoryOrderRepository;
|
import com.xhpc.evcs.jpa.XhpcHistoryOrderRepository;
|
||||||
@ -13,7 +17,9 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Date;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
|
||||||
|
|
||||||
@RestController()
|
@RestController()
|
||||||
public class QueryEquipChargeStatusController {
|
public class QueryEquipChargeStatusController {
|
||||||
@ -23,46 +29,98 @@ public class QueryEquipChargeStatusController {
|
|||||||
|
|
||||||
@PostMapping("/v1/query_equip_charge_status")
|
@PostMapping("/v1/query_equip_charge_status")
|
||||||
public CommonResponse QueryEquipChargeStatus(@RequestBody CommonRequest<ChargeInfoRequest> commonRequest) throws IOException {
|
public CommonResponse QueryEquipChargeStatus(@RequestBody CommonRequest<ChargeInfoRequest> commonRequest) throws IOException {
|
||||||
|
//创建数据实体类
|
||||||
EquipChargeStatus equipChargeStatus = new EquipChargeStatus();
|
EquipChargeStatus equipChargeStatus = new EquipChargeStatus();
|
||||||
|
//充电订单号 三方传进来都是27位
|
||||||
String data = commonRequest.getData();
|
String data = commonRequest.getData();
|
||||||
ChargeInfoRequest chargeInfoRequest = JSONUtil.readParams(data, ChargeInfoRequest.class);
|
ChargeInfoRequest chargeInfoRequest = JSONUtil.readParams(data, ChargeInfoRequest.class);
|
||||||
String responseBody = "";
|
|
||||||
String startChargeSeq = chargeInfoRequest.getStartChargeSeq();
|
String startChargeSeq = chargeInfoRequest.getStartChargeSeq();
|
||||||
// todo 三方对接 到et_order_mapping表查找xh_order_no
|
equipChargeStatus.setStartChargeSeq(startChargeSeq);
|
||||||
XhpcHistoryOrder xhpcHistoryOrder =
|
//充电订单状态
|
||||||
xhpcHistoryOrderRepository.findByInternetSerialNumber(startChargeSeq).orElse(null);
|
XhpcHistoryOrder xhpcHistoryOrder = xhpcHistoryOrderRepository.findByInternetSerialNumber(startChargeSeq).orElse(null);
|
||||||
ChargeOrderInfo chargeOrderInfo = new ChargeOrderInfo(xhpcHistoryOrder);
|
if (xhpcHistoryOrder == null) {
|
||||||
if (chargeOrderInfo == null) {
|
|
||||||
throw new ServerInternalException("未查询到该订单编号数据");
|
throw new ServerInternalException("未查询到该订单编号数据");
|
||||||
}
|
}
|
||||||
equipChargeStatus.setStartChargeSeq(chargeOrderInfo.getStartChargeSeq());
|
String internalOrderNum = xhpcHistoryOrder.getSerialNumber();
|
||||||
equipChargeStatus.setStartChargeSeqStat(chargeOrderInfo.getStartChargeSeqStat());
|
Map<String, Object> order = REDIS.getCacheMap("order" + internalOrderNum);
|
||||||
equipChargeStatus.setConnectorID(chargeOrderInfo.getConnectorID());
|
String orderStatus = (String) order.get("status");
|
||||||
equipChargeStatus.setStartTime(chargeOrderInfo.getStartTime());
|
int startChargeSeqStat = 0;
|
||||||
String endTime;
|
switch (orderStatus) {
|
||||||
if (chargeOrderInfo.getEndTime() != null) {
|
case "启动中":
|
||||||
endTime = chargeOrderInfo.getEndTime();
|
startChargeSeqStat = 1;
|
||||||
} else {
|
break;
|
||||||
endTime = DateUtil.date2String(new Date(), "yyyy-MM-dd HH:mm:ss");
|
case "充电中":
|
||||||
|
startChargeSeqStat = 2;
|
||||||
|
break;
|
||||||
|
case "停止中":
|
||||||
|
startChargeSeqStat = 3;
|
||||||
|
break;
|
||||||
|
case "结束中":
|
||||||
|
startChargeSeqStat = 4;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
startChargeSeqStat = 5;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
equipChargeStatus.setEndTime(endTime);
|
equipChargeStatus.setStartChargeSeqStat(startChargeSeqStat);
|
||||||
equipChargeStatus.setTotalPower(chargeOrderInfo.getTotalPower());
|
//充电设备接口编码
|
||||||
equipChargeStatus.setElecMoney(chargeOrderInfo.getTotalElecMoney());
|
CacheOrderData cacheOrderData = (CacheOrderData) order.get("orderData");
|
||||||
equipChargeStatus.setSeviceMoney(chargeOrderInfo.getTotalSeviceMoney());
|
String pileNo = cacheOrderData.getPileNo();
|
||||||
equipChargeStatus.setTotalMoney(chargeOrderInfo.getTotalMoney());
|
String gunId = cacheOrderData.getGunId();
|
||||||
ChargeDetails detail = new ChargeDetails();
|
String connectorId = pileNo + gunId;
|
||||||
detail.setDetailStartTime(equipChargeStatus.getStartTime());
|
//充电设备接口状态
|
||||||
detail.setDetailEndTime(endTime);
|
Map<String, Object> cacheGunData = REDIS.getCacheMap("gun:" + connectorId);
|
||||||
detail.setDetailSeviceMoney(equipChargeStatus.getSeviceMoney());
|
String gunStatus = (String) cacheGunData.get("status");
|
||||||
detail.setDetailElecMoney(equipChargeStatus.getElecMoney());
|
int connectorStatus = 0;
|
||||||
detail.setDetailPower(equipChargeStatus.getTotalPower());
|
switch (gunStatus) {
|
||||||
ChargeDetails[] details = {detail};
|
case "空闲":
|
||||||
equipChargeStatus.setChargeDetails(details);
|
connectorStatus = 1;
|
||||||
|
break;
|
||||||
|
case "离线":
|
||||||
|
connectorStatus = 2;
|
||||||
|
break;
|
||||||
|
case "故障":
|
||||||
|
connectorStatus = 255;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
connectorStatus = 3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
equipChargeStatus.setConnectorStatus(connectorStatus);
|
||||||
|
//A相电流
|
||||||
|
String current = (String) cacheGunData.get("current");
|
||||||
|
Double currentA = Double.valueOf(current);
|
||||||
|
equipChargeStatus.setCurrentA(currentA);
|
||||||
|
//A相电压
|
||||||
|
String voltage = (String) cacheGunData.get("voltage");
|
||||||
|
Double voltageA = Double.valueOf(voltage);
|
||||||
|
equipChargeStatus.setVoltageA(voltageA);
|
||||||
|
//电池剩余电量
|
||||||
|
Integer endSoc = cacheOrderData.getEndSoc();
|
||||||
|
Double soc = Double.valueOf(endSoc);
|
||||||
|
equipChargeStatus.setVoltageA(soc);
|
||||||
|
//开始充电时间
|
||||||
|
String startTime = cacheOrderData.getStartTime();
|
||||||
|
equipChargeStatus.setStartTime(startTime);
|
||||||
|
//本次采样时间 直接new一个当前时间的Date就可以了
|
||||||
|
equipChargeStatus.setEndTime(DateUtil.getNowDateStr());
|
||||||
|
//累计充电量
|
||||||
|
double totalPowerQuantity = (double) cacheOrderData.getTotalPowerQuantity();
|
||||||
|
double totalPower = totalPowerQuantity / 10000;
|
||||||
|
equipChargeStatus.setTotalPower(totalPower);
|
||||||
|
|
||||||
|
// ChargeDetails detail = new ChargeDetails();
|
||||||
|
// detail.setDetailStartTime(equipChargeStatus.getStartTime());
|
||||||
|
// detail.setDetailEndTime(endTime);
|
||||||
|
// detail.setDetailSeviceMoney(equipChargeStatus.getSeviceMoney());
|
||||||
|
// detail.setDetailElecMoney(equipChargeStatus.getElecMoney());
|
||||||
|
// detail.setDetailPower(equipChargeStatus.getTotalPower());
|
||||||
|
// ChargeDetails[] details = {detail};
|
||||||
|
// equipChargeStatus.setChargeDetails(details);
|
||||||
|
|
||||||
CommonResponse response = new CommonResponse();
|
CommonResponse response = new CommonResponse();
|
||||||
response.setRet(EvcsConst.RET_SUCC);
|
response.setRet(EvcsConst.RET_SUCC);
|
||||||
response.setData(JSONUtil.toJSONString(equipChargeStatus));
|
response.setData(JSONUtil.toJSONString(equipChargeStatus));
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user