update 预约启动

This commit is contained in:
Guoqs
2024-06-27 11:14:41 +08:00
parent 9d7ac5defa
commit 489ac3b6b8
9 changed files with 65 additions and 7 deletions

View File

@@ -11,15 +11,29 @@ public class StartPersonPileDTO extends BaseDTO {
*/
private String pileConnectorCode;
/**
* 充电桩所属运营商id
*/
private String merchantId;
/**
* 启动类型
* @see com.jsowell.common.enums.ykc.StartTypeEnum
*/
private String startType;
/**
* 会员id
*/
private String memberId;
/**
* 启动时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
}

View File

@@ -5,6 +5,7 @@ import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.dto.QueryPileDTO;
import com.jsowell.pile.dto.ReplaceMerchantStationDTO;
import com.jsowell.pile.dto.StartPersonPileDTO;
import com.jsowell.pile.thirdparty.ConnectorInfo;
import com.jsowell.pile.thirdparty.EquipmentInfo;
import com.jsowell.pile.thirdparty.ZDLConnectorInfo;
@@ -219,4 +220,6 @@ public interface PileBasicInfoService {
List<ZDLEquipmentInfo> getPileListForZDL(String stationId);
List<ZDLConnectorInfo> getConnectorListForZDL(String pileSn);
String startPersonalPileCharging(StartPersonPileDTO dto);
}

View File

@@ -24,8 +24,11 @@ import com.jsowell.pile.domain.PileSimInfo;
import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.dto.QueryPileDTO;
import com.jsowell.pile.dto.ReplaceMerchantStationDTO;
import com.jsowell.pile.dto.StartPersonPileDTO;
import com.jsowell.pile.mapper.PileBasicInfoMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
import com.jsowell.pile.thirdparty.ConnectorInfo;
import com.jsowell.pile.thirdparty.EquipmentInfo;
import com.jsowell.pile.thirdparty.ZDLConnectorInfo;
@@ -1207,4 +1210,24 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService {
}
return resultList;
}
/**
* 个人桩启动充电
* @param dto
* @return
*/
@Override
public String startPersonalPileCharging(StartPersonPileDTO dto) {
// 查询充电桩信息
PileConnectorDetailVO pileConnectorDetailVO = queryPileConnectorDetail(dto.getPileConnectorCode());
if (pileConnectorDetailVO == null) {
throw new BusinessException("", "");
}
// 获取处理逻辑
// String mode = pileMerchantInfoService.getDelayModeByAppIdAndRequestSource(dto.getAppId(), dto.getRequestSource());
String mode = pileMerchantInfoService.getDelayModeByMerchantId(pileConnectorDetailVO.getMerchantId());
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
String orderCode = orderLogic.startPersonalPileCharging(dto);
return orderCode;
}
}

View File

@@ -4,8 +4,11 @@ import com.jsowell.common.constant.Constants;
import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.dto.PileReservationDTO;
import com.jsowell.pile.dto.StartPersonPileDTO;
import com.jsowell.pile.service.PileBasicInfoService;
import com.jsowell.pile.service.PileRemoteService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +16,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.sql.Time;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;
import java.util.Objects;
@@ -29,7 +33,7 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
private PileReservationInfoMapper pileReservationInfoMapper;
@Autowired
private PileRemoteService pileRemoteService;
private PileBasicInfoService pileBasicInfoService;
@Override
public int deleteByPrimaryKey(Integer id) {
@@ -174,6 +178,13 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
}
// 生成个人桩订单
StartPersonPileDTO dto = new StartPersonPileDTO();
dto.setPileConnectorCode(pileConnectorCode);
dto.setMemberId(pileReservationInfo.getMemberId());
LocalDateTime[] localDateTimes = DateUtils.convertStartAndEndTime(pileReservationInfo.getStartTime().toString(), pileReservationInfo.getEndTime().toString());
dto.setStartTime(DateUtils.formatDateTime(localDateTimes[0]));
dto.setEndTime(DateUtils.formatDateTime(localDateTimes[1]));
pileBasicInfoService.startPersonalPileCharging(dto);
}
/**

View File

@@ -843,7 +843,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
if (!b) {
throw new BusinessException("00600006", "个人桩启动失败,无启动权限");
}
String orderCode = "";
String orderCode;
// 生成订单
GenerateOrderDTO generateOrderDTO = new GenerateOrderDTO();
generateOrderDTO.setMemberId(dto.getMemberId());

View File

@@ -19,6 +19,11 @@ public class PileConnectorDetailVO {
*/
private String pileSn;
/**
* 运营商id
*/
private String merchantId;
/**
* 站点id
*/