|
|
|
@ -65,7 +65,9 @@ public class OrderApiService {
|
|
|
|
|
UserAccountStateService userAccountStateService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**【充电流程】启动充电*/
|
|
|
|
|
/**
|
|
|
|
|
* 【充电流程】启动充电
|
|
|
|
|
*/
|
|
|
|
|
public CommonResponse queryStartCharge(HttpServletRequest request, StartChargeBO startChargeBO) {
|
|
|
|
|
if (StringUtils.isBlank(request.getHeader("userId"))) {
|
|
|
|
|
return I100cResponse.exception("凭证过期请重新登录", Constant.RESCODE_NOLOGIN);
|
|
|
|
@ -100,7 +102,10 @@ public class OrderApiService {
|
|
|
|
|
//new Thread(()->orderTrackService.setStartChargeOrderTrack(startResult,startChargeBO,orderNo)).start();/**订单轨迹*/
|
|
|
|
|
return startResult;
|
|
|
|
|
}
|
|
|
|
|
/**创建订单*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 创建订单
|
|
|
|
|
*/
|
|
|
|
|
private String creatOrder(StartChargeBO startChargeBO) {
|
|
|
|
|
UserTypeVO userTypeInfo = userDOMapper.queryUserType(startChargeBO.getUserId());
|
|
|
|
|
Integer chargeSettleType = Optional.ofNullable(equipmentDOMapper.getEquipmentChargeSettleType(startChargeBO.getEquipmentId())).orElse(2);
|
|
|
|
@ -138,27 +143,56 @@ public class OrderApiService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**【充电流程】停止充电*/
|
|
|
|
|
/**
|
|
|
|
|
* 【充电流程】停止充电
|
|
|
|
|
*/
|
|
|
|
|
public CommonResponse queryStopCharge(HttpServletRequest request, StopChargeBO stopChargeBO) {
|
|
|
|
|
if (StringUtils.isBlank(request.getHeader("userId"))) {
|
|
|
|
|
return I100cResponse.exception("凭证过期请重新登录", Constant.RESCODE_NOLOGIN);
|
|
|
|
|
}
|
|
|
|
|
//1、用户ID
|
|
|
|
|
stopChargeBO.setUserId(Integer.parseInt(request.getHeader("userId")));
|
|
|
|
|
log.info("停止充电请求参数:{}", JSON.toJSONString(stopChargeBO));
|
|
|
|
|
|
|
|
|
|
//2、根据定单号获取定单信息
|
|
|
|
|
//stopChargeBO.getOrderNo()
|
|
|
|
|
//SELECT eco.* FROM t_equipment_charge_order eco WHERE eco.order_no = #{orderNo}
|
|
|
|
|
EquipmentChargeOrderDO orderInfo = equipmentChargeOrderDOMapper.queryChargeOrderByOrderNo(stopChargeBO.getOrderNo());
|
|
|
|
|
//如果订单存在
|
|
|
|
|
// 【黄海理解:小程序送上来的数据应该是有订单号的,如果没有的话,那么一定是携带了桩号和枪号,也可以查询出订单号,为什么小程序有时不携带订单号呢?不明白原因】
|
|
|
|
|
if (orderInfo != null) {
|
|
|
|
|
orderInfo.setOperateState((byte) 2);
|
|
|
|
|
orderInfo.setUpdateTime(ToolDateTime.getDate());
|
|
|
|
|
equipmentChargeOrderDOMapper.updateByPrimaryKeySelective(orderInfo);/**更新订单状态为结束中*/
|
|
|
|
|
CommonResponse stopResult = distributeApi.stopCharge(stopChargeBO.getEquipmentSn(),stopChargeBO.getConnectorNo(),orderInfo.getOrderNo());/**调取分发服务停止充电*/
|
|
|
|
|
CommonResponse stopResult = distributeApi.stopCharge(stopChargeBO.getEquipmentSn(), stopChargeBO.getConnectorNo(), orderInfo.getOrderNo());
|
|
|
|
|
/**调取分发服务停止充电*/
|
|
|
|
|
orderTrackService.setStopChargeOrderTrack(stopResult, orderInfo);/**订单轨迹*/
|
|
|
|
|
}else {
|
|
|
|
|
} else {//如果订单不存在
|
|
|
|
|
//上下两者不同之处在这里,只有这一句不同
|
|
|
|
|
//equipmentChargeOrderDOMapper.queryChargeOrderByOrderNo: 通过订单号查询订单
|
|
|
|
|
//equipmentChargeOrderDOMapper.queryChargeOrderByPileIdAndPlugNo: 通过桩号和枪号查询订单
|
|
|
|
|
/**
|
|
|
|
|
t_connector: 充电枪表
|
|
|
|
|
t_equipment_charge_order: 订单表
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
eco.*
|
|
|
|
|
FROM
|
|
|
|
|
t_equipment_charge_order eco
|
|
|
|
|
LEFT JOIN t_connector c ON c.id = eco.connector_id
|
|
|
|
|
WHERE
|
|
|
|
|
eco.state = 2
|
|
|
|
|
AND eco.user_id = #{userId}
|
|
|
|
|
AND eco.equipment_id = #{equipmentId}
|
|
|
|
|
AND c.connector_no = #{connectorNo}
|
|
|
|
|
*/
|
|
|
|
|
EquipmentChargeOrderDO orderInfos = equipmentChargeOrderDOMapper.queryChargeOrderByPileIdAndPlugNo(stopChargeBO);
|
|
|
|
|
if (orderInfos != null) {
|
|
|
|
|
orderInfos.setOperateState((byte) 2);
|
|
|
|
|
orderInfos.setUpdateTime(ToolDateTime.getDate());
|
|
|
|
|
equipmentChargeOrderDOMapper.updateByPrimaryKeySelective(orderInfos);/**更新订单状态为结束中*/
|
|
|
|
|
CommonResponse stopResult = distributeApi.stopCharge(stopChargeBO.getEquipmentSn(),stopChargeBO.getConnectorNo(),orderInfos.getOrderNo());/**调取分发服务停止充电*/
|
|
|
|
|
CommonResponse stopResult = distributeApi.stopCharge(stopChargeBO.getEquipmentSn(), stopChargeBO.getConnectorNo(), orderInfos.getOrderNo());
|
|
|
|
|
/**调取分发服务停止充电*/
|
|
|
|
|
orderTrackService.setStopChargeOrderTrack(stopResult, orderInfos);/**订单轨迹*/
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -167,7 +201,9 @@ public class OrderApiService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**【结束充电】查询账单*/
|
|
|
|
|
/**
|
|
|
|
|
* 【结束充电】查询账单
|
|
|
|
|
*/
|
|
|
|
|
public CommonResponse queryChargeBill(UserChargeBillBO userChargeBillBO) {
|
|
|
|
|
UserChargeBillVO userChargeBillVO = equipmentChargeOrderDOMapper.queryChargeBill(userChargeBillBO.getOrderNo());
|
|
|
|
|
if (userChargeBillVO == null) {
|
|
|
|
@ -181,7 +217,9 @@ public class OrderApiService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**【我的】用户充电充电订单 state -> 2 充电中 3 已完成 5挂起 待支付*/
|
|
|
|
|
/**
|
|
|
|
|
* 【我的】用户充电充电订单 state -> 2 充电中 3 已完成 5挂起 待支付
|
|
|
|
|
*/
|
|
|
|
|
public CommonResponse queryUserChargeOrder(HttpServletRequest request, UserChargeOrderBO userChargeOrderBO) {
|
|
|
|
|
if (StringUtils.isBlank(request.getHeader("userId"))) {
|
|
|
|
|
return I100cResponse.exception("凭证过期请重新登录", Constant.RESCODE_NOLOGIN);
|
|
|
|
@ -195,7 +233,9 @@ public class OrderApiService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**【我的】用户碳减量信息*/
|
|
|
|
|
/**
|
|
|
|
|
* 【我的】用户碳减量信息
|
|
|
|
|
*/
|
|
|
|
|
public UserCarbonReduceVO queryUserCarbonReduce(HttpServletRequest request) {
|
|
|
|
|
Integer userId = Integer.parseInt(request.getHeader("userId"));
|
|
|
|
|
UserCarbonReduceVO userCarbonReduceVO = equipmentChargeOrderDOMapper.queryUserCarbonReduce(userId);
|
|
|
|
@ -208,7 +248,9 @@ public class OrderApiService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**根据订单号查询充电中订单*/
|
|
|
|
|
/**
|
|
|
|
|
* 根据订单号查询充电中订单
|
|
|
|
|
*/
|
|
|
|
|
public CommonResponse queryChargingOrder(ChargingOrderBO chargingOrderBO) {
|
|
|
|
|
ChargingOrderVO chargingOrder = equipmentChargeOrderDOMapper.queryChargingOrderByOrderNo(chargingOrderBO.getOrderNo());
|
|
|
|
|
if (chargingOrder == null) {
|
|
|
|
@ -217,7 +259,9 @@ public class OrderApiService {
|
|
|
|
|
return I100cResponse.success(chargingOrder);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**创建订单*/
|
|
|
|
|
/**
|
|
|
|
|
* 创建订单
|
|
|
|
|
*/
|
|
|
|
|
public void creatOrderByCard(StartChargeBO startChargeBO) {
|
|
|
|
|
log.info("桩上报充电创建订单,订单编号:{}", startChargeBO.getOrderNo());
|
|
|
|
|
UserTypeVO userTypeInfo = userDOMapper.queryUserTypeByCardNo(startChargeBO.getUserCardNo());
|
|
|
|
@ -250,7 +294,9 @@ public class OrderApiService {
|
|
|
|
|
orderService.handlePreCompanyInfo(equipmentChargeOrderDO);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**创建订单*/
|
|
|
|
|
/**
|
|
|
|
|
* 创建订单
|
|
|
|
|
*/
|
|
|
|
|
public void createOrderByCardV2(StartChargeBO startChargeBO) {
|
|
|
|
|
log.info("桩上报充电创建订单,订单编号:{}", startChargeBO.getOrderNo());
|
|
|
|
|
UserTypeVO userTypeInfo = userDOMapper.queryUserTypeByCardNo(startChargeBO.getUserCardNo());
|
|
|
|
@ -282,7 +328,9 @@ public class OrderApiService {
|
|
|
|
|
orderService.handlePreCompanyInfo(equipmentChargeOrderDO);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**星星充电刷卡创建订单*/
|
|
|
|
|
/**
|
|
|
|
|
* 星星充电刷卡创建订单
|
|
|
|
|
*/
|
|
|
|
|
public void creatOrderByCardToXx(StartChargeBO startChargeBO) {
|
|
|
|
|
log.info("刷卡充电创建订单,订单编号:{}", startChargeBO.getOrderNo());
|
|
|
|
|
UserTypeVO userTypeInfo = userDOMapper.queryUserTypeByCardNo(startChargeBO.getUserCardNo());
|
|
|
|
|