桩回调接口

This commit is contained in:
yuyang 2021-08-18 15:35:11 +08:00
parent 682c4a8c35
commit 261173783d
11 changed files with 201 additions and 120 deletions

View File

@ -286,9 +286,7 @@
</foreach>
</if>
<if test="code !=null and code !=''">
and (cs.area_code in (select
cscode
from xhpc_area where pcode=#{code}) or area_code=#{code})
and cs.area_code in (select code from xhpc_area where pcode=#{code}) or cs.area_code=#{code}
</if>
ORDER BY distance asc
</select>

View File

@ -13,11 +13,10 @@ import com.xhpc.common.data.redis.CacheRealtimeData;
import com.xhpc.common.dto.PileEndOrder;
import com.xhpc.common.redis.service.RedisService;
import com.xhpc.common.util.ConnectionRabbitMQUtil;
import com.xhpc.order.domain.HxpcChargeOrder;
import com.xhpc.order.domain.XhpcHistoryOrder;
import com.xhpc.order.domain.XhpcRealTimeOrder;
import com.xhpc.order.domain.*;
import com.xhpc.order.service.IHxpcChargeOrderService;
import com.xhpc.order.service.IXhpcHistoryOrderService;
import com.xhpc.order.service.IXhpcRealTimeOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -40,12 +39,15 @@ public class HxpcPileOrderController extends BaseController {
@Autowired
private IXhpcHistoryOrderService xhpcHistoryOrderService;
@Autowired
private IXhpcRealTimeOrderService xhpcRealTimeOrderService;
@Autowired
private PileOrderService pileOrderService;
/**
* 测试
*/
@ -124,53 +126,104 @@ public class HxpcPileOrderController extends BaseController {
* @return
*/
@GetMapping("/chargeOrder/pileRimeOrder")
public R pileRealtime(String orderNo) {
public R pileRealtime(@RequestParam(value = "orderNo")String orderNo) {
Date date = new Date();
//获取实时订单
Map<String, Object> cacheMap = redisService.getCacheMap("order:"+orderNo);
JSONArray st = (JSONArray)cacheMap.get("realtimeDataList");
System.out.println(st.toString());
Map<String, Object> cacheMap = redisService.getCacheMap("order:"+orderNo+".lord");
JSONObject jsonObject = (JSONObject)cacheMap.get("realtimeDataList");
System.out.println(jsonObject.toString());
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
if(st!=null && st.size()>0){
for (int i = 0; i <st.size() ; i++) {
CacheRealtimeData cacheRealtimeData = JSON.toJavaObject(st.getJSONObject(0), CacheRealtimeData.class);
XhpcRealTimeOrder xhpcRealTimeOrder =new XhpcRealTimeOrder();
xhpcRealTimeOrder.setChargingOrderId(hxpcChargeOrder.getChargeOrderId());
xhpcRealTimeOrder.setTransactionNumber(orderNo);
xhpcRealTimeOrder.setPileNumber(cacheRealtimeData.getPileNo());
xhpcRealTimeOrder.setGunNumber(cacheRealtimeData.getGunId());
if("00".equals(cacheRealtimeData.getPileGunStatus())){
xhpcRealTimeOrder.setPileGunStatus(0);
}else if("01".equals(cacheRealtimeData.getPileGunStatus())){
xhpcRealTimeOrder.setPileGunStatus(1);
}else{
xhpcRealTimeOrder.setPileGunStatus(2);
}
if("00".equals(cacheRealtimeData.getVehicleGunStatus())){
xhpcRealTimeOrder.setVehicleGunStatus(0);
}else{
xhpcRealTimeOrder.setVehicleGunStatus(1);
}
BigDecimal v = new BigDecimal(cacheRealtimeData.getWorkingVoltage()).divide(new BigDecimal(10));
BigDecimal c = new BigDecimal(cacheRealtimeData.getWorkingCurrent()).divide(new BigDecimal(10));
xhpcRealTimeOrder.setVoltage(v);
xhpcRealTimeOrder.setElectricCurrent(c);
xhpcRealTimeOrder.setGunLineTemperature(cacheRealtimeData.getGunLineTemperature());
xhpcRealTimeOrder.setGunLineNumber(cacheRealtimeData.getGunLineNumber());
xhpcRealTimeOrder.setSoc(cacheRealtimeData.getSoc().toString());
xhpcRealTimeOrder.setMaxTemperature(cacheRealtimeData.getMaxTemperature());
cacheRealtimeData.getChargingTime();
xhpcRealTimeOrder.setChargingTime(cacheRealtimeData.getChargingTime().toString());
//实时数据存入MYsqlsoc电流电压
try{
CacheRealtimeData cacheRealtimeData = JSON.toJavaObject(jsonObject, CacheRealtimeData.class);
XhpcRealTimeOrder xhpcRealTimeOrder =new XhpcRealTimeOrder();
xhpcRealTimeOrder.setChargingOrderId(hxpcChargeOrder.getChargeOrderId());
xhpcRealTimeOrder.setTransactionNumber(orderNo);
xhpcRealTimeOrder.setPileNumber(cacheRealtimeData.getPileNo());
xhpcRealTimeOrder.setGunNumber(cacheRealtimeData.getGunId());
if("00".equals(cacheRealtimeData.getPileGunStatus())){
xhpcRealTimeOrder.setPileGunStatus(0);
}else if("01".equals(cacheRealtimeData.getPileGunStatus())){
xhpcRealTimeOrder.setPileGunStatus(1);
}else{
xhpcRealTimeOrder.setPileGunStatus(2);
}
}else{
if("00".equals(cacheRealtimeData.getVehicleGunStatus())){
xhpcRealTimeOrder.setVehicleGunStatus(0);
}else{
xhpcRealTimeOrder.setVehicleGunStatus(1);
}
BigDecimal v = new BigDecimal(cacheRealtimeData.getWorkingVoltage()).divide(new BigDecimal(10));
BigDecimal c = new BigDecimal(cacheRealtimeData.getWorkingCurrent()).divide(new BigDecimal(10));
xhpcRealTimeOrder.setVoltage(v);
xhpcRealTimeOrder.setElectricCurrent(c);
xhpcRealTimeOrder.setGunLineTemperature(cacheRealtimeData.getGunLineTemperature());
xhpcRealTimeOrder.setGunLineNumber(cacheRealtimeData.getGunLineNumber());
Integer soc = cacheRealtimeData.getSoc();
xhpcRealTimeOrder.setSoc(soc.toString());
xhpcRealTimeOrder.setMaxTemperature(cacheRealtimeData.getMaxTemperature());
xhpcRealTimeOrder.setChargingTime(cacheRealtimeData.getChargingTime().toString());
if(cacheRealtimeData.getChargingTime()>60){
int mins = cacheRealtimeData.getChargingTime() % 60;
int hours = cacheRealtimeData.getChargingTime() / 60;
xhpcRealTimeOrder.setChargingTime(mins+""+hours+"");
}else{
xhpcRealTimeOrder.setChargingTime(cacheRealtimeData.getChargingTime()+"");
}
if(cacheRealtimeData.getRemainingTime()>60){
int mins = cacheRealtimeData.getChargingTime() % 60;
int hours = cacheRealtimeData.getChargingTime() / 60;
xhpcRealTimeOrder.setRemainingTime(mins+""+hours+"");
}else{
xhpcRealTimeOrder.setRemainingTime(cacheRealtimeData.getChargingTime()+"");
}
BigDecimal decimal = new BigDecimal(100);
xhpcRealTimeOrder.setChargingDegree(new BigDecimal(cacheRealtimeData.getChargingDegree()).divide(decimal));
xhpcRealTimeOrder.setLossChargingDegree(new BigDecimal(cacheRealtimeData.getLossChargingDegree()).divide(decimal));
xhpcRealTimeOrder.setAmountCharged(new BigDecimal(cacheRealtimeData.getLossChargingDegree()).divide(decimal));
xhpcRealTimeOrder.setHardwareFault(cacheRealtimeData.getHardwareFault());
if("00".equals(cacheRealtimeData.getStatus())){
xhpcRealTimeOrder.setStatus(0);
}else if("01".equals(cacheRealtimeData.getStatus())){
xhpcRealTimeOrder.setStatus(1);
}else if("02".equals(cacheRealtimeData.getStatus())){
xhpcRealTimeOrder.setStatus(2);
}else{
xhpcRealTimeOrder.setStatus(3);
}
xhpcRealTimeOrder.setCreateTime(date);
xhpcRealTimeOrder.setUserId(hxpcChargeOrder.getUserId());
Long chargingStationId = hxpcChargeOrder.getChargingStationId();
Long chargeOrderId = hxpcChargeOrder.getChargeOrderId();
xhpcRealTimeOrder.setChargingStationId(chargingStationId);
xhpcRealTimeOrderService.addXhpcRealTimeOrder(xhpcRealTimeOrder);
//实时数据存入MYsqlsoc电流电压
XhpcChargeOrderSoc xhpcChargeOrderSoc =new XhpcChargeOrderSoc();
xhpcChargeOrderSoc.setChargeOrderId(chargeOrderId);
xhpcChargeOrderSoc.setSoc(soc.toString());
xhpcChargeOrderSoc.setCreateTime(date);
xhpcRealTimeOrderService.addSOC(xhpcChargeOrderSoc);
XhpcChargeOrderCurrent xhpcChargeOrderCurrent =new XhpcChargeOrderCurrent();
xhpcChargeOrderCurrent.setChargeOrderId(chargeOrderId);
xhpcChargeOrderCurrent.setCurrent(c.toString());
xhpcChargeOrderCurrent.setCreateTime(date);
xhpcRealTimeOrderService.addCurrent(xhpcChargeOrderCurrent);
XhpcChargeOrderVoltage xhpcChargeOrderVoltage =new XhpcChargeOrderVoltage();
xhpcChargeOrderVoltage.setChargeOrderId(chargeOrderId);
xhpcChargeOrderVoltage.setVoltage(v.toString());
xhpcChargeOrderVoltage.setCreateTime(date);
xhpcRealTimeOrderService.addVoltage(xhpcChargeOrderVoltage);
}catch (Exception e){
return R.fail(500,"无实时数据");
}
return R.ok();
}

View File

@ -73,15 +73,15 @@ public class XhpcRealTimeOrder extends BaseEntity {
/**
* 充电度数
*/
private Double chargingDegree;
private BigDecimal chargingDegree;
/**
* 计损充电度数
*/
private Double lossChargingDegree;
private BigDecimal lossChargingDegree;
/**
* 已充金额
*/
private Double amountCharged;
private BigDecimal amountCharged;
/**
* 硬件故障
*/
@ -234,32 +234,32 @@ public class XhpcRealTimeOrder extends BaseEntity {
this.remainingTime = remainingTime;
}
public Double getChargingDegree() {
public BigDecimal getChargingDegree() {
return chargingDegree;
}
public void setChargingDegree(Double chargingDegree) {
public void setChargingDegree(BigDecimal chargingDegree) {
this.chargingDegree = chargingDegree;
}
public Double getLossChargingDegree() {
public BigDecimal getLossChargingDegree() {
return lossChargingDegree;
}
public void setLossChargingDegree(Double lossChargingDegree) {
public void setLossChargingDegree(BigDecimal lossChargingDegree) {
this.lossChargingDegree = lossChargingDegree;
}
public Double getAmountCharged() {
public BigDecimal getAmountCharged() {
return amountCharged;
}
public void setAmountCharged(Double amountCharged) {
public void setAmountCharged(BigDecimal amountCharged) {
this.amountCharged = amountCharged;
}

View File

@ -101,15 +101,4 @@ public interface HxpcChargeOrderMapper {
*/
Map<String,Object> getOperatorMessage(@Param("chargingStationId") Long chargingStationId);
/**
* 删除之前的实时订单数据
*/
void deleteRealTimeOrder(@Param("chargingStationId")Long chargingOrderId);
void deleteChargeVoltage(@Param("chargingStationId")Long chargingOrderId);
void deleteChargeOrderSoc(@Param("chargingStationId")Long chargingOrderId);
void deleteChargeOrderCurrent(@Param("chargingStationId")Long chargingOrderId);
}

View File

@ -39,7 +39,7 @@ public interface XhpcRealTimeOrderMapper {
int addCurrent(XhpcChargeOrderCurrent XhpcChargeOrderCurrent);
/**
* 添加订单实时电
* 添加订单实时电
* @param xhpcChargeOrderVoltage
* @return
*/
@ -96,4 +96,15 @@ public interface XhpcRealTimeOrderMapper {
* @return
*/
Map<String,Object> timeChartCurrentList(Long chargingOrderId);
/**
* 删除之前的实时订单数据
*/
void deleteRealTimeOrder(@Param("chargingStationId")Long chargingOrderId);
void deleteChargeVoltage(@Param("chargingStationId")Long chargingOrderId);
void deleteChargeOrderSoc(@Param("chargingStationId")Long chargingOrderId);
void deleteChargeOrderCurrent(@Param("chargingStationId")Long chargingOrderId);
}

View File

@ -87,8 +87,4 @@ public interface IHxpcChargeOrderService {
*/
Map<String,Object> getOperatorMessage( Long chargingStationId);
/**
* 删除之前的实时订单数据
*/
void deleteRealTimeOrder(Long chargingOrderId);
}

View File

@ -1,6 +1,10 @@
package com.xhpc.order.service;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.order.domain.XhpcChargeOrderCurrent;
import com.xhpc.order.domain.XhpcChargeOrderSoc;
import com.xhpc.order.domain.XhpcChargeOrderVoltage;
import com.xhpc.order.domain.XhpcRealTimeOrder;
import java.util.ArrayList;
import java.util.List;
@ -12,13 +16,6 @@ import java.util.Map;
*/
public interface IXhpcRealTimeOrderService {
/**
* 添加实时订单数据
* @param orderNo 交易流水号
* @param status
*/
public void addXhpcRealTimeOrder(String orderNo,Integer status);
/**
* 实时订单接口(PC端)
@ -55,4 +52,38 @@ public interface IXhpcRealTimeOrderService {
* @return
*/
AjaxResult timeChartList(Long chargingOrderId);
/**
* 删除之前的实时订单数据
*/
void deleteRealTimeOrder(Long chargingOrderId);
/**
* 添加实时充电订单
* @param xhpcRealTimeOrder
* @return
*/
int addXhpcRealTimeOrder(XhpcRealTimeOrder xhpcRealTimeOrder);
/**
* 添加订单实时SOC
* @param xhpcChargeOrderSoc
* @return
*/
int addSOC(XhpcChargeOrderSoc xhpcChargeOrderSoc);
/**
* 添加订单实时电流
* @param XhpcChargeOrderCurrent
* @return
*/
int addCurrent(XhpcChargeOrderCurrent XhpcChargeOrderCurrent);
/**
* 添加订单实时电流
* @param xhpcChargeOrderVoltage
* @return
*/
int addVoltage(XhpcChargeOrderVoltage xhpcChargeOrderVoltage);
}

View File

@ -212,12 +212,6 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
return hxpcChargeOrderMapper.getOperatorMessage(chargingStationId);
}
@Override
public void deleteRealTimeOrder(Long chargingOrderId) {
hxpcChargeOrderMapper.deleteRealTimeOrder(chargingOrderId);
hxpcChargeOrderMapper.deleteChargeOrderCurrent(chargingOrderId);
hxpcChargeOrderMapper.deleteChargeOrderSoc(chargingOrderId);
hxpcChargeOrderMapper.deleteChargeVoltage(chargingOrderId);
}
}

View File

@ -2,6 +2,10 @@ package com.xhpc.order.service.impl;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.redis.service.RedisService;
import com.xhpc.order.domain.XhpcChargeOrderCurrent;
import com.xhpc.order.domain.XhpcChargeOrderSoc;
import com.xhpc.order.domain.XhpcChargeOrderVoltage;
import com.xhpc.order.domain.XhpcRealTimeOrder;
import com.xhpc.order.mapper.XhpcRealTimeOrderMapper;
import com.xhpc.order.service.IXhpcRealTimeOrderService;
import org.springframework.beans.factory.annotation.Autowired;
@ -25,29 +29,6 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper;
/**
* 添加实时数据
* @param orderNo 交易流水号
* @param status
*/
@Override
public void addXhpcRealTimeOrder(String orderNo, Integer status) {
//获取redis 数据
//记录电流电压soc实时记录
//当状态为status =1 订单结束
//用户是否第一单,享受折扣
//获取运营商 平台抽成运维抽成
//结算订单
//添加历史订单
}
@Override
public List<Map<String, Object>> list(String phone, String transactionNumber, Integer source, String chargingStationName, String terminalName, Long operatorId, String startTime, String endTime,Integer status) {
@ -81,5 +62,31 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
return AjaxResult.success(map);
}
@Override
public int addXhpcRealTimeOrder(XhpcRealTimeOrder xhpcRealTimeOrder) {
return xhpcRealTimeOrderMapper.addXhpcRealTimeOrder(xhpcRealTimeOrder);
}
@Override
public int addSOC(XhpcChargeOrderSoc xhpcChargeOrderSoc) {
return xhpcRealTimeOrderMapper.addSOC(xhpcChargeOrderSoc);
}
@Override
public int addCurrent(XhpcChargeOrderCurrent xhpcChargeOrderCurrent) {
return xhpcRealTimeOrderMapper.addCurrent(xhpcChargeOrderCurrent);
}
@Override
public int addVoltage(XhpcChargeOrderVoltage xhpcChargeOrderVoltage) {
return xhpcRealTimeOrderMapper.addVoltage(xhpcChargeOrderVoltage);
}
@Override
public void deleteRealTimeOrder(Long chargingOrderId) {
xhpcRealTimeOrderMapper.deleteRealTimeOrder(chargingOrderId);
xhpcRealTimeOrderMapper.deleteChargeOrderCurrent(chargingOrderId);
xhpcRealTimeOrderMapper.deleteChargeOrderSoc(chargingOrderId);
xhpcRealTimeOrderMapper.deleteChargeVoltage(chargingOrderId);
}
}

View File

@ -286,19 +286,5 @@
from xhpc_operator where operator_id=(select operator_id from xhpc_charging_station where charging_station_id=#{chargingStationId})
</select>
<delete id="deleteRealTimeOrder">
delete from xhpc_real_time_order where charging_order_id=#{chargingOrderId}
</delete>
<delete id="deleteChargeVoltage">
delete from xhpc_charge_order_current where charging_order_id=#{chargingOrderId}
</delete>
<delete id="deleteChargeOrderSoc">
delete from xhpc_charge_order_soc where charging_order_id=#{chargingOrderId}
</delete>
<delete id="deleteChargeOrderCurrent">
delete from xhpc_charge_order_voltage where charging_order_id=#{chargingOrderId}
</delete>
</mapper>

View File

@ -509,4 +509,20 @@
from xhpc_charge_order_current
where charge_order_id=#{chargingOrderId}
</select>
<delete id="deleteRealTimeOrder">
delete from xhpc_real_time_order where charging_order_id=#{chargingOrderId}
</delete>
<delete id="deleteChargeVoltage">
delete from xhpc_charge_order_current where charging_order_id=#{chargingOrderId}
</delete>
<delete id="deleteChargeOrderSoc">
delete from xhpc_charge_order_soc where charging_order_id=#{chargingOrderId}
</delete>
<delete id="deleteChargeOrderCurrent">
delete from xhpc_charge_order_voltage where charging_order_id=#{chargingOrderId}
</delete>
</mapper>