开始充电增加soc

This commit is contained in:
yuyang 2021-08-26 19:35:19 +08:00
parent 9fbf1bea1f
commit e20d918bd6
17 changed files with 256 additions and 34 deletions

View File

@ -109,9 +109,10 @@ public class HxpcPileOrderController extends BaseController {
Integer code = 500; Integer code = 500;
Long userId = update(0, remark, orderNo, 1); Long userId = update(0, remark, orderNo, 1);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
map.put("userId", userId); map.put("userId", userId);
if (status == 1) { if (status == 1) {
hxpcChargeOrder.setStatus(0);
map.put("message", "停止充电成功"); map.put("message", "停止充电成功");
} else if(status==2){ } else if(status==2){
//停止充电失败 //停止充电失败
@ -119,10 +120,23 @@ public class HxpcPileOrderController extends BaseController {
map.put("message", remark); map.put("message", remark);
}else if(status==3 || status==4){ }else if(status==3 || status==4){
//订单定位异常,修改充电订单状态 //订单定位异常,修改充电订单状态
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
if(status==3){ if(status==3){
hxpcChargeOrder.setStatus(2); hxpcChargeOrder.setStatus(2);
hxpcChargeOrder.setUpdateTime(new Date()); hxpcChargeOrder.setUpdateTime(new Date());
//获取实时订单
Map<String, Object> cacheMap = redisService.getCacheMap("order:"+orderNo);
List<CacheRealtimeData> list = (List<CacheRealtimeData>)cacheMap.get("realtimeDataList");
if(list !=null && list.size()>0){
int number =0;
if(list.size()!=1){
number=list.size()-1;
}
BigDecimal decimal = new BigDecimal(10000);
CacheRealtimeData cacheRealtimeData =list.get(number);
hxpcChargeOrder.setChargingDegree(new BigDecimal(cacheRealtimeData.getChargingDegree()).divide(decimal));
hxpcChargeOrder.setChargingTimeNumber(cacheRealtimeData.getChargingTime());
hxpcChargeOrder.setAmountCharged(new BigDecimal(cacheRealtimeData.getAmountCharged()).divide(decimal));
}
}else{ }else{
if(hxpcChargeOrder.getStatus()==1 || hxpcChargeOrder.getStatus()==3){ if(hxpcChargeOrder.getStatus()==1 || hxpcChargeOrder.getStatus()==3){
//不修改订单 //不修改订单
@ -228,8 +242,8 @@ public class HxpcPileOrderController extends BaseController {
} }
hxpcChargeOrder.setChargingTimeNumber(tiem.intValue()); hxpcChargeOrder.setChargingTimeNumber(tiem.intValue());
BigDecimal divide = new BigDecimal(cacheOrderData.getTotalPowerQuantity()).divide(bigDecimal); BigDecimal divide = new BigDecimal(cacheOrderData.getTotalPowerQuantity()).divide(bigDecimal);
hxpcChargeOrder.setChargingDegree(divide.toString()); hxpcChargeOrder.setChargingDegree(divide.divide(bigDecimal));
hxpcChargeOrder.setAmountCharged(money.toString()); hxpcChargeOrder.setAmountCharged(money.divide(bigDecimal));
String stopReason = cacheOrderData.getStopReason(); String stopReason = cacheOrderData.getStopReason();
hxpcChargeOrder.setErroRemark(stopReason); hxpcChargeOrder.setErroRemark(stopReason);
hxpcChargeOrder.setUpdateTime(date); hxpcChargeOrder.setUpdateTime(date);

View File

@ -84,9 +84,12 @@ public class XhpcRealTimeOrderController extends BaseController {
} }
/** /**
* *异常订单审核
*/ */
@GetMapping("/getExamine")
public AjaxResult getExamine(@RequestParam Long chargingOrderId){
return xhpcRealTimeOrderService.getExamine(chargingOrderId);
}
} }

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.xhpc.common.core.web.domain.BaseEntity; import com.xhpc.common.core.web.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
@ -86,7 +87,7 @@ public class HxpcChargeOrder extends BaseEntity {
private Integer chargingTimeNumber; private Integer chargingTimeNumber;
/** 充电度数 */ /** 充电度数 */
private String chargingDegree; private BigDecimal chargingDegree;
/** 0桩停止充电 1 远程停止充电 */ /** 0桩停止充电 1 远程停止充电 */
private Integer type; private Integer type;
@ -95,7 +96,7 @@ public class HxpcChargeOrder extends BaseEntity {
private String erroRemark; private String erroRemark;
/** 总金额 */ /** 总金额 */
private String amountCharged; private BigDecimal amountCharged;
/** 功率 */ /** 功率 */
private String power; private String power;
@ -250,12 +251,12 @@ public class HxpcChargeOrder extends BaseEntity {
this.chargingTime = chargingTime; this.chargingTime = chargingTime;
} }
public String getChargingDegree() { public BigDecimal getChargingDegree() {
return chargingDegree; return chargingDegree;
} }
public void setChargingDegree(String chargingDegree) { public void setChargingDegree(BigDecimal chargingDegree) {
this.chargingDegree = chargingDegree; this.chargingDegree = chargingDegree;
} }
@ -290,12 +291,12 @@ public class HxpcChargeOrder extends BaseEntity {
this.erroRemark = erroRemark; this.erroRemark = erroRemark;
} }
public String getAmountCharged() { public BigDecimal getAmountCharged() {
return amountCharged; return amountCharged;
} }
public void setAmountCharged(String amountCharged) { public void setAmountCharged(BigDecimal amountCharged) {
this.amountCharged = amountCharged; this.amountCharged = amountCharged;
} }

View File

@ -63,9 +63,15 @@ public class XhpcRealTimeOrder extends BaseEntity {
*/ */
private Integer maxTemperature; private Integer maxTemperature;
/** /**
* 累计充电时间 * 累计充电时间(时间)
*/ */
private String chargingTime; private String chargingTime;
/**
* 累计充电时间整数
*/
private Integer chargingTimeNumber;
/** /**
* 剩余时间 * 剩余时间
*/ */
@ -336,4 +342,14 @@ public class XhpcRealTimeOrder extends BaseEntity {
this.gunNumber = gunNumber; this.gunNumber = gunNumber;
} }
public Integer getChargingTimeNumber() {
return chargingTimeNumber;
}
public void setChargingTimeNumber(Integer chargingTimeNumber) {
this.chargingTimeNumber = chargingTimeNumber;
}
} }

View File

@ -107,4 +107,11 @@ public interface XhpcRealTimeOrderMapper {
void deleteChargeOrderSoc(@Param("chargingOrderId")Long chargingOrderId); void deleteChargeOrderSoc(@Param("chargingOrderId")Long chargingOrderId);
void deleteChargeOrderCurrent(@Param("chargingOrderId")Long chargingOrderId); void deleteChargeOrderCurrent(@Param("chargingOrderId")Long chargingOrderId);
/**
* 获取最后一条实时数据
*/
XhpcRealTimeOrder getChargingOrderId(@Param("chargingOrderId")Long chargingOrderId);
} }

View File

@ -116,4 +116,7 @@ public interface IHxpcChargeOrderService {
* @return * @return
*/ */
int addUserAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Long chargeOrderId, Integer type, Date date); int addUserAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Long chargeOrderId, Integer type, Date date);
HxpcChargeOrder getChargingOrderId(Long chargingOrderId);
} }

View File

@ -50,4 +50,13 @@ public interface IXhpcHistoryOrderService {
*/ */
AjaxResult getById(Long historyOrderId); AjaxResult getById(Long historyOrderId);
/**
* 获取费率时段
* @param startTime 开始时间
* @param endTime 结束时间
* @param rateModelId 计费模型
* @return
*/
List<Map<String,Object>> getReatTimeList(String startTime,String endTime,Long rateModelId);
} }

View File

@ -88,4 +88,13 @@ public interface IXhpcRealTimeOrderService {
* @return * @return
*/ */
int addVoltage(XhpcChargeOrderVoltage xhpcChargeOrderVoltage); int addVoltage(XhpcChargeOrderVoltage xhpcChargeOrderVoltage);
/**
* 审核详情
* @param chargingOrderId
* @return
*/
AjaxResult getExamine(Long chargingOrderId);
} }

View File

@ -144,6 +144,28 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14)); startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14));
startChargingData.setBalance(Double.valueOf(balance).intValue()); startChargingData.setBalance(Double.valueOf(balance).intValue());
startChargingData.setVersion("0A"); startChargingData.setVersion("0A");
//用户平台最小的
int number =0;
if(!"".equals(userMessage.get("soc")) && userMessage.get("soc") !=null && !"".equals(userMessage.get("soc"))){
number =Integer.parseInt(userMessage.get("soc").toString());
}
//平台
String soc = redisService.getCacheObject("global:SOC");
if(!"".equals(soc) && soc!=null){
if(Integer.parseInt(soc)-number<0){
number=Integer.parseInt(soc);
}
}
Map<String, Object> operatorMessage = hxpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){
if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){
number=Integer.parseInt(operatorMessage.get("soc").toString());
}
}
if(number !=0){
startChargingData.setSoc(number);
}
R r1 = powerPileService.startCharging(startChargingData); R r1 = powerPileService.startCharging(startChargingData);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>"); logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+r1.getCode()+">>>>>>>>>>>>>>>>>"); logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+r1.getCode()+">>>>>>>>>>>>>>>>>");
@ -249,5 +271,10 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
return hxpcChargeOrderMapper.addUserAccountStatement(userId, amount, remainingSum, chargeOrderId, type, date); return hxpcChargeOrderMapper.addUserAccountStatement(userId, amount, remainingSum, chargeOrderId, type, date);
} }
@Override
public HxpcChargeOrder getChargingOrderId(Long chargingOrderId) {
return hxpcChargeOrderMapper.getChargingOrderId(chargingOrderId);
}
} }

View File

@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
/** /**
@ -64,6 +65,11 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
return AjaxResult.success(byId); return AjaxResult.success(byId);
} }
@Override
public List<Map<String, Object>> getReatTimeList(String startTime, String endTime, Long rateModelId) {
return xhpcHistoryOrderMapper.getReatTimeList(startTime, endTime, rateModelId);
}
/** /**
* 历史信息费率时段 * 历史信息费率时段
*/ */
@ -80,8 +86,8 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
String endTime = DateUtil.formatTime(chargeOrder.getEndTime()); String endTime = DateUtil.formatTime(chargeOrder.getEndTime());
//每分钟充电度数=累计时间/60 //每分钟充电度数=累计时间/60
Integer chargingTimeNumber = chargeOrder.getChargingTimeNumber(); BigDecimal chargingTimeNumber = chargeOrder.getChargingDegree();
double s = (double) (chargingTimeNumber / 60); BigDecimal s = chargingTimeNumber.divide(new BigDecimal(60));
List<Map<String, Object>> list =new ArrayList<>(); List<Map<String, Object>> list =new ArrayList<>();
//获取费率时段集合 //获取费率时段集合
List<Map<String, Object>> reatTimeList = xhpcHistoryOrderMapper.getReatTimeList(startTime, endTime, rateModelId); List<Map<String, Object>> reatTimeList = xhpcHistoryOrderMapper.getReatTimeList(startTime, endTime, rateModelId);
@ -91,7 +97,7 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
if(size==1){ if(size==1){
BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString()); BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString());
powerPriceTotal.add(powerFee); powerPriceTotal.add(powerFee);
BigDecimal servicePrice = new BigDecimal(reatTimeList.get(0).get("servicePrice").toString()); BigDecimal servicePrice = new BigDecimal(reatTimeList.get(0).get("serviceFee").toString());
servicePriceTotal.add(servicePrice); servicePriceTotal.add(servicePrice);
map1.put("time",startTime+"-"+endTime); map1.put("time",startTime+"-"+endTime);
map1.put("powerPrice",powerFee); map1.put("powerPrice",powerFee);
@ -103,7 +109,7 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
for (int i = 0; i <reatTimeList.size() ; i++) { for (int i = 0; i <reatTimeList.size() ; i++) {
Map<String, Object> objectMap = reatTimeList.get(i); Map<String, Object> objectMap = reatTimeList.get(i);
BigDecimal powerPrice =new BigDecimal(objectMap.get("powerFee").toString()); BigDecimal powerPrice =new BigDecimal(objectMap.get("powerFee").toString());
BigDecimal servicePrice =new BigDecimal(objectMap.get("servicePrice").toString()); BigDecimal servicePrice =new BigDecimal(objectMap.get("serviceFee").toString());
String startTime1 = objectMap.get("startTime").toString(); String startTime1 = objectMap.get("startTime").toString();
String endTime1 = objectMap.get("endTime").toString(); String endTime1 = objectMap.get("endTime").toString();
powerPriceTotal.add(powerPrice); powerPriceTotal.add(powerPrice);
@ -134,10 +140,10 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
return map; return map;
} }
private Map<String, Object> getRateTimeList(String startTime,String endTime,double s,BigDecimal powerPrice,BigDecimal servicePrice){ private Map<String, Object> getRateTimeList(String startTime,String endTime,BigDecimal s,BigDecimal powerPrice,BigDecimal servicePrice){
Map<String, Object> map =new HashMap<>(); Map<String, Object> map =new HashMap<>();
double v = (DateUtil.parse(endTime).getTime() - DateUtil.parse(startTime).getTime()) * s; BigDecimal v = new BigDecimal((DateUtil.parse(endTime).getTime() - DateUtil.parse(startTime).getTime())%60000).multiply(s);
BigDecimal multiply = powerPrice.add(servicePrice).multiply(new BigDecimal(v)); BigDecimal multiply = powerPrice.add(servicePrice).multiply(v).setScale(2, RoundingMode.HALF_UP);
map.put("time",startTime+"-"+endTime); map.put("time",startTime+"-"+endTime);
map.put("powerPrice",powerPrice); map.put("powerPrice",powerPrice);
map.put("servicePrice",servicePrice); map.put("servicePrice",servicePrice);

View File

@ -1,19 +1,20 @@
package com.xhpc.order.service.impl; package com.xhpc.order.service.impl;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
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.*;
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.IHxpcChargeOrderService;
import com.xhpc.order.service.IXhpcHistoryOrderService;
import com.xhpc.order.service.IXhpcRealTimeOrderService; import com.xhpc.order.service.IXhpcRealTimeOrderService;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.math.BigDecimal;
import java.util.HashMap; import java.math.RoundingMode;
import java.util.List; import java.util.*;
import java.util.Map;
/** /**
* @author yuyang * @author yuyang
@ -25,6 +26,11 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
@Autowired @Autowired
private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper; private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper;
@Autowired
private IHxpcChargeOrderService hxpcChargeOrderService;
@Autowired
private IXhpcHistoryOrderService xhpcHistoryOrderService;
@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,Long userId,Integer type) { public List<Map<String, Object>> list(String phone, String transactionNumber, Integer source, String chargingStationName, String terminalName, Long operatorId, String startTime, String endTime,Integer status,Long userId,Integer type) {
@ -82,6 +88,72 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
return xhpcRealTimeOrderMapper.addVoltage(xhpcChargeOrderVoltage); return xhpcRealTimeOrderMapper.addVoltage(xhpcChargeOrderVoltage);
} }
@Override
public AjaxResult getExamine(Long chargingOrderId) {
//获取开始充电时间结束时间计费模型充电度数已充金额
HxpcChargeOrder chargeOrder = hxpcChargeOrderService.getChargingOrderId(chargingOrderId);
String startTime = DateUtil.formatTime(chargeOrder.getStartTime());
String endTime = DateUtil.formatTime(chargeOrder.getEndTime());
Long rateModelId = chargeOrder.getRateModelId();
BigDecimal chargingDegree =chargeOrder.getChargingDegree();
BigDecimal amountCharged = chargeOrder.getAmountCharged();
//每分钟充电度数=累计时间/60
BigDecimal s = chargingDegree.divide(new BigDecimal(60), 4, BigDecimal.ROUND_HALF_UP);
BigDecimal powerPriceTotal =new BigDecimal(0);
//1时间没有跨天
long betweenDay = DateUtil.between(chargeOrder.getStartTime(), chargeOrder.getEndTime(), DateUnit.DAY);
if(betweenDay==0){
}else{
//跨天
}
//获取费率时段集合
List<Map<String, Object>> reatTimeList = xhpcHistoryOrderService.getReatTimeList(startTime, endTime, rateModelId);
if(reatTimeList !=null && reatTimeList.size()>0){
int size = reatTimeList.size();
if(size==1){
BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString());
powerPriceTotal = powerFee.multiply(s);
}else{
for (int i = 0; i <reatTimeList.size() ; i++) {
Map<String, Object> objectMap = reatTimeList.get(i);
BigDecimal powerFee =new BigDecimal(objectMap.get("powerFee").toString());
String startTime1 = objectMap.get("startTime").toString();
String endTime1 = objectMap.get("endTime").toString();
if(i==0){
powerPriceTotal=getRateTimeList(startTime1,endTime,s,powerFee,powerPriceTotal);
}else{
if(size==2){
powerPriceTotal=getRateTimeList(startTime1,endTime,s,powerFee,powerPriceTotal);
}else{
//三个时段以上
if(i<size-1){
powerPriceTotal=getRateTimeList(startTime1,endTime1,s,powerFee,powerPriceTotal);
}else{
powerPriceTotal=getRateTimeList(startTime1,endTime,s,powerFee,powerPriceTotal);
}
}
}
}
}
}
//算服务费和电费
BigDecimal servicePriceTotal =amountCharged.subtract(powerPriceTotal);
Map<String, Object> message = new HashMap<>();
message.put("powerPriceTotal",powerPriceTotal);
message.put("servicePriceTotal",servicePriceTotal);
return AjaxResult.success(message);
}
private BigDecimal getRateTimeList(String startTime,String endTime,BigDecimal s,BigDecimal powerFee,BigDecimal powerPriceTotal){
BigDecimal decimal = new BigDecimal((DateUtil.parse(endTime).getTime() - DateUtil.parse(startTime).getTime())/60000).setScale(2, RoundingMode.HALF_UP);
powerPriceTotal = powerPriceTotal.add(decimal.multiply(powerFee).multiply(s));
return powerPriceTotal.setScale(2, RoundingMode.HALF_UP);
}
@Override @Override
public void deleteRealTimeOrder(Long chargingOrderId) { public void deleteRealTimeOrder(Long chargingOrderId) {
xhpcRealTimeOrderMapper.deleteRealTimeOrder(chargingOrderId); xhpcRealTimeOrderMapper.deleteRealTimeOrder(chargingOrderId);
@ -89,4 +161,5 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
xhpcRealTimeOrderMapper.deleteChargeOrderSoc(chargingOrderId); xhpcRealTimeOrderMapper.deleteChargeOrderSoc(chargingOrderId);
xhpcRealTimeOrderMapper.deleteChargeVoltage(chargingOrderId); xhpcRealTimeOrderMapper.deleteChargeVoltage(chargingOrderId);
} }
} }

View File

@ -87,6 +87,7 @@
app_user_id as appUserId, app_user_id as appUserId,
balance as balance, balance as balance,
phone as phone, phone as phone,
soc as soc,
is_refund_application as isRefundApplication is_refund_application as isRefundApplication
from xhpc_app_user from xhpc_app_user
where del_flag=0 and app_user_id=#{userId} where del_flag=0 and app_user_id=#{userId}
@ -296,6 +297,7 @@
select select
operator_id as operatorId, operator_id as operatorId,
commission_type as commissionType, commission_type as commissionType,
soc as soc,
platform_commission_rate as platformCommissionRate, platform_commission_rate as platformCommissionRate,
maintenance_commission_rate as maintenanceCommissionRate maintenance_commission_rate as maintenanceCommissionRate
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})

View File

@ -456,7 +456,7 @@
left join xhpc_rate ra on rt.rate_id =ra.rate_id left join xhpc_rate ra on rt.rate_id =ra.rate_id
where rt.rate_model_id=#{rateModelId} where rt.rate_model_id=#{rateModelId}
and rt.end_time &gt;= #{startTime} and rt.end_time &gt;= #{startTime}
and rt.start_time &lt;= #{startTime} and rt.start_time &lt;= #{endTime}
</select> </select>
<select id="getById" resultType="map"> <select id="getById" resultType="map">

View File

@ -19,6 +19,7 @@
<result column="soc" property="soc"/> <result column="soc" property="soc"/>
<result column="max_temperature" property="maxTemperature"/> <result column="max_temperature" property="maxTemperature"/>
<result column="charging_time" property="chargingTime"/> <result column="charging_time" property="chargingTime"/>
<result column="charging_time_number" property="chargingTimeNumber"/>
<result column="remaining_time" property="remainingTime"/> <result column="remaining_time" property="remainingTime"/>
<result column="charging_degree" property="chargingDegree"/> <result column="charging_degree" property="chargingDegree"/>
<result column="loss_charging_degree" property="lossChargingDegree"/> <result column="loss_charging_degree" property="lossChargingDegree"/>
@ -114,7 +115,10 @@
user_id, user_id,
</if> </if>
<if test="null != chargingStationId "> <if test="null != chargingStationId ">
charging_station_id charging_station_id,
</if>
<if test="null != chargingTimeNumber ">
charging_time_number
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
@ -194,7 +198,10 @@
#{userId}, #{userId},
</if> </if>
<if test="null != chargingStationId "> <if test="null != chargingStationId ">
#{chargingStationId} #{chargingStationId},
</if>
<if test="null != chargingTimeNumber ">
#{chargingTimeNumber}
</if> </if>
</trim> </trim>
</insert> </insert>
@ -457,6 +464,7 @@
ter.name as terminalName, ter.name as terminalName,
op.operator_id as operatorId, op.operator_id as operatorId,
op.name as operatorName, op.name as operatorName,
cp.serial_number as pileSerialNumber,
cp.power as power, cp.power as power,
cp.type as type, cp.type as type,
ro.soc as soc, ro.soc as soc,
@ -466,13 +474,15 @@
ro.charging_time as chargingTime, ro.charging_time as chargingTime,
co.source as source, co.source as source,
co.internet_serial_number as internetSerialNumber, co.internet_serial_number as internetSerialNumber,
co.erro_remark as erroRemark,
ro.amount_charged as amountCharged,
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone, (SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone (SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone
from xhpc_real_time_order ro from xhpc_real_time_order ro
Left join xhpc_charge_order co on co.serial_number = ro.transaction_number Left join xhpc_charge_order co on co.serial_number = ro.transaction_number
Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id
left join xhpc_operator as op on op.operator_id = ct.operator_id left join xhpc_operator as op on op.operator_id = ct.operator_id
left join xhpc_terminal as ter on ter.serial_number = ro.gun_number left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
where ro.real_time_order_id=#{realTimeOrderId} where ro.real_time_order_id=#{realTimeOrderId}
</select> </select>
@ -534,4 +544,9 @@
<delete id="deleteChargeOrderCurrent"> <delete id="deleteChargeOrderCurrent">
delete from xhpc_charge_order_voltage where charge_order_id=#{chargingOrderId} delete from xhpc_charge_order_voltage where charge_order_id=#{chargingOrderId}
</delete> </delete>
<select id="getChargingOrderId" resultMap="XhpcRealTimeOrderMap">
select * from xhpc_real_time_order where charging_order_id=#{chargingOrderId} order by create_time desc limit 1
</select>
</mapper> </mapper>

View File

@ -77,6 +77,12 @@ public class XhpcAppUser extends BaseEntity {
*/ */
private String delFlag; private String delFlag;
/**
* 用户设置的SOC
*/
private Integer soc;
public Long getAppUserId() { public Long getAppUserId() {
return appUserId; return appUserId;
} }
@ -172,4 +178,15 @@ public class XhpcAppUser extends BaseEntity {
public void setDelFlag(String delFlag) { public void setDelFlag(String delFlag) {
this.delFlag = delFlag; this.delFlag = delFlag;
} }
public Integer getSoc() {
return soc;
}
public void setSoc(Integer soc) {
this.soc = soc;
}
} }

View File

@ -77,6 +77,8 @@ public class XhpcAppUser extends BaseEntity {
*/ */
private String delFlag; private String delFlag;
private Integer soc;
public Long getAppUserId() { public Long getAppUserId() {
return appUserId; return appUserId;
} }
@ -172,4 +174,15 @@ public class XhpcAppUser extends BaseEntity {
public void setDelFlag(String delFlag) { public void setDelFlag(String delFlag) {
this.delFlag = delFlag; this.delFlag = delFlag;
} }
public Integer getSoc() {
return soc;
}
public void setSoc(Integer soc) {
this.soc = soc;
}
} }

View File

@ -22,6 +22,7 @@
<result column="update_by" property="updateBy"/> <result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
<result column="remark" property="remark"/> <result column="remark" property="remark"/>
<result column="soc" property="soc"/>
</resultMap> </resultMap>
<insert id="insert" parameterType="com.xhpc.user.domain.XhpcAppUser" useGeneratedKeys="true" <insert id="insert" parameterType="com.xhpc.user.domain.XhpcAppUser" useGeneratedKeys="true"
@ -77,7 +78,10 @@
update_time, update_time,
</if> </if>
<if test="null != remark and '' != remark"> <if test="null != remark and '' != remark">
remark remark,
</if>
<if test="null != soc and '' != soc">
soc
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
@ -130,7 +134,10 @@
#{updateTime}, #{updateTime},
</if> </if>
<if test="null != remark and '' != remark"> <if test="null != remark and '' != remark">
#{remark} #{remark},
</if>
<if test="null != soc and '' != soc">
#{soc}
</if> </if>
</trim> </trim>
</insert> </insert>