|
@@ -12,14 +12,13 @@ import com.kym.common.utils.OrderUtils;
|
|
|
import com.kym.entity.admin.EquipmentInfo;
|
|
import com.kym.entity.admin.EquipmentInfo;
|
|
|
import com.kym.entity.enplus.response.EnBusinessPolicy;
|
|
import com.kym.entity.enplus.response.EnBusinessPolicy;
|
|
|
import com.kym.entity.miniapp.ChargeOrder;
|
|
import com.kym.entity.miniapp.ChargeOrder;
|
|
|
|
|
+import com.kym.entity.miniapp.OrderRechargeRights;
|
|
|
|
|
+import com.kym.entity.miniapp.UserRechargeRights;
|
|
|
import com.kym.entity.miniapp.delay.DelayChargeOrder;
|
|
import com.kym.entity.miniapp.delay.DelayChargeOrder;
|
|
|
import com.kym.service.admin.EquipmentInfoService;
|
|
import com.kym.service.admin.EquipmentInfoService;
|
|
|
import com.kym.service.admin.EquipmentRelationService;
|
|
import com.kym.service.admin.EquipmentRelationService;
|
|
|
import com.kym.service.enplus.EnPlusService;
|
|
import com.kym.service.enplus.EnPlusService;
|
|
|
-import com.kym.service.miniapp.AccountService;
|
|
|
|
|
-import com.kym.service.miniapp.ChargeOrderService;
|
|
|
|
|
-import com.kym.service.miniapp.ChargeService;
|
|
|
|
|
-import com.kym.service.miniapp.DelayService;
|
|
|
|
|
|
|
+import com.kym.service.miniapp.*;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -49,6 +48,9 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
|
|
|
|
|
private final ChargeOrderService chargeOrderService;
|
|
private final ChargeOrderService chargeOrderService;
|
|
|
|
|
|
|
|
|
|
+ private final OrderRechargeRightsService orderRechargeRightsService;
|
|
|
|
|
+ private final UserRechargeRightsService userRechargeRightsService;
|
|
|
|
|
+
|
|
|
private final AccountService accountService;
|
|
private final AccountService accountService;
|
|
|
|
|
|
|
|
private final EnPlusService enPlusService;
|
|
private final EnPlusService enPlusService;
|
|
@@ -59,13 +61,15 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
private final DelayService<DelayChargeOrder> stopDelayService;
|
|
private final DelayService<DelayChargeOrder> stopDelayService;
|
|
|
|
|
|
|
|
public ChargeServiceImpl(EquipmentRelationService equipmentRelationService, EquipmentInfoService equipmentInfoService,
|
|
public ChargeServiceImpl(EquipmentRelationService equipmentRelationService, EquipmentInfoService equipmentInfoService,
|
|
|
- ChargeOrderService chargeOrderService, AccountService accountService,
|
|
|
|
|
|
|
+ ChargeOrderService chargeOrderService, OrderRechargeRightsService orderRechargeRightsService, UserRechargeRightsService userRechargeRightsService, AccountService accountService,
|
|
|
EnPlusService enPlusService, EnPlusConfig enPlusConfig,
|
|
EnPlusService enPlusService, EnPlusConfig enPlusConfig,
|
|
|
@Qualifier("startDelayServiceImpl") @Lazy DelayService<DelayChargeOrder> startDelayService,
|
|
@Qualifier("startDelayServiceImpl") @Lazy DelayService<DelayChargeOrder> startDelayService,
|
|
|
@Qualifier("stopDelayServiceImpl") @Lazy DelayService<DelayChargeOrder> stopDelayService) {
|
|
@Qualifier("stopDelayServiceImpl") @Lazy DelayService<DelayChargeOrder> stopDelayService) {
|
|
|
this.equipmentRelationService = equipmentRelationService;
|
|
this.equipmentRelationService = equipmentRelationService;
|
|
|
this.equipmentInfoService = equipmentInfoService;
|
|
this.equipmentInfoService = equipmentInfoService;
|
|
|
this.chargeOrderService = chargeOrderService;
|
|
this.chargeOrderService = chargeOrderService;
|
|
|
|
|
+ this.orderRechargeRightsService = orderRechargeRightsService;
|
|
|
|
|
+ this.userRechargeRightsService = userRechargeRightsService;
|
|
|
this.accountService = accountService;
|
|
this.accountService = accountService;
|
|
|
this.enPlusService = enPlusService;
|
|
this.enPlusService = enPlusService;
|
|
|
this.enPlusConfig = enPlusConfig;
|
|
this.enPlusConfig = enPlusConfig;
|
|
@@ -101,7 +105,7 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
.eq(ChargeOrder::getConnectorId, connectorId)
|
|
.eq(ChargeOrder::getConnectorId, connectorId)
|
|
|
.eq(ChargeOrder::getChargeStatus, ChargeOrder.CHARGE_STATUS_预约中)
|
|
.eq(ChargeOrder::getChargeStatus, ChargeOrder.CHARGE_STATUS_预约中)
|
|
|
.update();
|
|
.update();
|
|
|
- return queryStartCharge(userId, connectorId, false, null, null);
|
|
|
|
|
|
|
+ return queryStartCharge(userId, connectorId, null, false, null, null);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -146,7 +150,7 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
stopDelayService.removeFromOrderDelayQueue(chargeOrder.getStartChargeSeq());
|
|
stopDelayService.removeFromOrderDelayQueue(chargeOrder.getStartChargeSeq());
|
|
|
// 修改订单状态为取消
|
|
// 修改订单状态为取消
|
|
|
chargeOrderService.lambdaUpdate().set(ChargeOrder::getOrderStatus, ChargeOrder.ORDER_STATUS_取消)
|
|
chargeOrderService.lambdaUpdate().set(ChargeOrder::getOrderStatus, ChargeOrder.ORDER_STATUS_取消)
|
|
|
- .set(ChargeOrder::getChargeStatus,ChargeOrder.CHARGE_STATUS_已结束)
|
|
|
|
|
|
|
+ .set(ChargeOrder::getChargeStatus, ChargeOrder.CHARGE_STATUS_已结束)
|
|
|
.set(ChargeOrder::getStopReason, ChargeOrder.STOP_REASON_用户手动停止)
|
|
.set(ChargeOrder::getStopReason, ChargeOrder.STOP_REASON_用户手动停止)
|
|
|
.eq(ChargeOrder::getUserId, userId).eq(ChargeOrder::getIsBooking, ChargeOrder.IS_BOOKING_是).update();
|
|
.eq(ChargeOrder::getUserId, userId).eq(ChargeOrder::getIsBooking, ChargeOrder.IS_BOOKING_是).update();
|
|
|
} else {
|
|
} else {
|
|
@@ -159,6 +163,7 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
* 启动充电
|
|
* 启动充电
|
|
|
*
|
|
*
|
|
|
* @param connectorId
|
|
* @param connectorId
|
|
|
|
|
+ * @param rechargeRightsId
|
|
|
* @param isBooking
|
|
* @param isBooking
|
|
|
* @param startTime
|
|
* @param startTime
|
|
|
* @param endTime
|
|
* @param endTime
|
|
@@ -166,7 +171,7 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
@DSTransactional(rollbackFor = Exception.class)
|
|
@DSTransactional(rollbackFor = Exception.class)
|
|
|
- public Map<String, String> queryStartCharge(Long userId, String connectorId, Boolean isBooking, LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
|
|
|
|
+ public Map<String, String> queryStartCharge(Long userId, String connectorId, Long rechargeRightsId, Boolean isBooking, LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
if (isBooking) {
|
|
if (isBooking) {
|
|
|
// 预约时间不能超过未来24H
|
|
// 预约时间不能超过未来24H
|
|
|
if (TimeUnit.SECONDS.convert(Duration.between(LocalDateTime.now(), startTime)) > 3600 * 24) {
|
|
if (TimeUnit.SECONDS.convert(Duration.between(LocalDateTime.now(), startTime)) > 3600 * 24) {
|
|
@@ -221,6 +226,22 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
order.setConnectorId(connectorId);
|
|
order.setConnectorId(connectorId);
|
|
|
order.setOrderStatus(ChargeOrder.ORDER_STATUS_未知);
|
|
order.setOrderStatus(ChargeOrder.ORDER_STATUS_未知);
|
|
|
chargeOrderService.save(order);
|
|
chargeOrderService.save(order);
|
|
|
|
|
+
|
|
|
|
|
+ // 订单充值权益
|
|
|
|
|
+ if (!CommUtil.isEmptyOrNull(rechargeRightsId)) {
|
|
|
|
|
+ var userRechargeRights = userRechargeRightsService.lambdaQuery().eq(UserRechargeRights::getUserId, userId).eq(UserRechargeRights::getRightsId, rechargeRightsId).one();
|
|
|
|
|
+ if (userRechargeRights != null) {
|
|
|
|
|
+ var orderRechargeRights = new OrderRechargeRights()
|
|
|
|
|
+ .setUserId(userId)
|
|
|
|
|
+ .setStartChargeSeq(startChargeSeq)
|
|
|
|
|
+ .setActivityId(userRechargeRights.getActivityId())
|
|
|
|
|
+ .setRightsId(rechargeRightsId)
|
|
|
|
|
+ .setDiscount(userRechargeRights.getDiscount());
|
|
|
|
|
+ orderRechargeRightsService.save(orderRechargeRights);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 请求设备认证
|
|
// 请求设备认证
|