桩回调接口

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> </foreach>
</if> </if>
<if test="code !=null and code !=''"> <if test="code !=null and code !=''">
and (cs.area_code in (select and cs.area_code in (select code from xhpc_area where pcode=#{code}) or cs.area_code=#{code}
cscode
from xhpc_area where pcode=#{code}) or area_code=#{code})
</if> </if>
ORDER BY distance asc ORDER BY distance asc
</select> </select>

View File

@ -13,11 +13,10 @@ import com.xhpc.common.data.redis.CacheRealtimeData;
import com.xhpc.common.dto.PileEndOrder; import com.xhpc.common.dto.PileEndOrder;
import com.xhpc.common.redis.service.RedisService; import com.xhpc.common.redis.service.RedisService;
import com.xhpc.common.util.ConnectionRabbitMQUtil; import com.xhpc.common.util.ConnectionRabbitMQUtil;
import com.xhpc.order.domain.HxpcChargeOrder; import com.xhpc.order.domain.*;
import com.xhpc.order.domain.XhpcHistoryOrder;
import com.xhpc.order.domain.XhpcRealTimeOrder;
import com.xhpc.order.service.IHxpcChargeOrderService; import com.xhpc.order.service.IHxpcChargeOrderService;
import com.xhpc.order.service.IXhpcHistoryOrderService; import com.xhpc.order.service.IXhpcHistoryOrderService;
import com.xhpc.order.service.IXhpcRealTimeOrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -40,12 +39,15 @@ public class HxpcPileOrderController extends BaseController {
@Autowired @Autowired
private IXhpcHistoryOrderService xhpcHistoryOrderService; private IXhpcHistoryOrderService xhpcHistoryOrderService;
@Autowired
private IXhpcRealTimeOrderService xhpcRealTimeOrderService;
@Autowired @Autowired
private PileOrderService pileOrderService; private PileOrderService pileOrderService;
/** /**
* 测试 * 测试
*/ */
@ -124,53 +126,104 @@ public class HxpcPileOrderController extends BaseController {
* @return * @return
*/ */
@GetMapping("/chargeOrder/pileRimeOrder") @GetMapping("/chargeOrder/pileRimeOrder")
public R pileRealtime(String orderNo) { public R pileRealtime(@RequestParam(value = "orderNo")String orderNo) {
Date date = new Date(); Date date = new Date();
//获取实时订单 //获取实时订单
Map<String, Object> cacheMap = redisService.getCacheMap("order:"+orderNo); Map<String, Object> cacheMap = redisService.getCacheMap("order:"+orderNo+".lord");
JSONArray st = (JSONArray)cacheMap.get("realtimeDataList"); JSONObject jsonObject = (JSONObject)cacheMap.get("realtimeDataList");
System.out.println(st.toString()); System.out.println(jsonObject.toString());
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo); HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
if(st!=null && st.size()>0){ try{
for (int i = 0; i <st.size() ; i++) { CacheRealtimeData cacheRealtimeData = JSON.toJavaObject(jsonObject, CacheRealtimeData.class);
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电流电压
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.fail(500,"无实时数据");
} }
return R.ok(); 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; this.remainingTime = remainingTime;
} }
public Double getChargingDegree() { public BigDecimal getChargingDegree() {
return chargingDegree; return chargingDegree;
} }
public void setChargingDegree(Double chargingDegree) { public void setChargingDegree(BigDecimal chargingDegree) {
this.chargingDegree = chargingDegree; this.chargingDegree = chargingDegree;
} }
public Double getLossChargingDegree() { public BigDecimal getLossChargingDegree() {
return lossChargingDegree; return lossChargingDegree;
} }
public void setLossChargingDegree(Double lossChargingDegree) { public void setLossChargingDegree(BigDecimal lossChargingDegree) {
this.lossChargingDegree = lossChargingDegree; this.lossChargingDegree = lossChargingDegree;
} }
public Double getAmountCharged() { public BigDecimal getAmountCharged() {
return amountCharged; return amountCharged;
} }
public void setAmountCharged(Double amountCharged) { public void setAmountCharged(BigDecimal amountCharged) {
this.amountCharged = amountCharged; this.amountCharged = amountCharged;
} }

View File

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

View File

@ -1,6 +1,10 @@
package com.xhpc.order.service; package com.xhpc.order.service;
import com.xhpc.common.core.web.domain.AjaxResult; 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.ArrayList;
import java.util.List; import java.util.List;
@ -12,13 +16,6 @@ import java.util.Map;
*/ */
public interface IXhpcRealTimeOrderService { public interface IXhpcRealTimeOrderService {
/**
* 添加实时订单数据
* @param orderNo 交易流水号
* @param status
*/
public void addXhpcRealTimeOrder(String orderNo,Integer status);
/** /**
* 实时订单接口(PC端) * 实时订单接口(PC端)
@ -55,4 +52,38 @@ public interface IXhpcRealTimeOrderService {
* @return * @return
*/ */
AjaxResult timeChartList(Long chargingOrderId); 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); 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.core.web.domain.AjaxResult;
import com.xhpc.common.redis.service.RedisService; 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.mapper.XhpcRealTimeOrderMapper;
import com.xhpc.order.service.IXhpcRealTimeOrderService; import com.xhpc.order.service.IXhpcRealTimeOrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -25,29 +29,6 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper; private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper;
/**
* 添加实时数据
* @param orderNo 交易流水号
* @param status
*/
@Override
public void addXhpcRealTimeOrder(String orderNo, Integer status) {
//获取redis 数据
//记录电流电压soc实时记录
//当状态为status =1 订单结束
//用户是否第一单,享受折扣
//获取运营商 平台抽成运维抽成
//结算订单
//添加历史订单
}
@Override @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) { 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); 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}) from xhpc_operator where operator_id=(select operator_id from xhpc_charging_station where charging_station_id=#{chargingStationId})
</select> </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> </mapper>

View File

@ -509,4 +509,20 @@
from xhpc_charge_order_current from xhpc_charge_order_current
where charge_order_id=#{chargingOrderId} where charge_order_id=#{chargingOrderId}
</select> </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> </mapper>