mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-05 10:30:12 +08:00
update 个人桩预约
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||
import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||
import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.service.PileBasicInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -82,8 +83,7 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理个人桩充电记录
|
||||
*
|
||||
* 收到交易记录时, 处理个人桩充电记录
|
||||
* @param data
|
||||
*/
|
||||
@Override
|
||||
@@ -133,4 +133,48 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
|
||||
personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 一键启动时, 处理个人桩充电记录
|
||||
* @param orderBasicInfo
|
||||
*/
|
||||
@Override
|
||||
public void processPersonalChargingRecord(OrderBasicInfo orderBasicInfo) {
|
||||
// 根据交易流水号查询,如果数据库没有就入库
|
||||
PersonalChargingRecord chargingRecord = new PersonalChargingRecord();
|
||||
|
||||
// 处理数据
|
||||
chargingRecord.setTransactionCode(orderBasicInfo.getTransactionCode());
|
||||
chargingRecord.setStatus(Constants.ONE);
|
||||
chargingRecord.setMemberId(orderBasicInfo.getMemberId());
|
||||
chargingRecord.setStationId(orderBasicInfo.getStationId());
|
||||
chargingRecord.setMerchantId(orderBasicInfo.getMerchantId());
|
||||
chargingRecord.setPileSn(orderBasicInfo.getPileSn());
|
||||
chargingRecord.setConnectorCode(orderBasicInfo.getConnectorCode());
|
||||
chargingRecord.setPileConnectorCode(orderBasicInfo.getPileConnectorCode());
|
||||
chargingRecord.setLogicCard(orderBasicInfo.getLogicCard());
|
||||
chargingRecord.setVinCode(orderBasicInfo.getVinCode());
|
||||
chargingRecord.setStartMode(orderBasicInfo.getStartMode());
|
||||
chargingRecord.setPlateNumber(orderBasicInfo.getPlateNumber());
|
||||
chargingRecord.setChargeStartTime(orderBasicInfo.getChargeStartTime());
|
||||
chargingRecord.setChargeEndTime(orderBasicInfo.getChargeEndTime());
|
||||
chargingRecord.setStartType(orderBasicInfo.getStartType());
|
||||
chargingRecord.setReservationStartTime(orderBasicInfo.getReservedStartTime());
|
||||
chargingRecord.setReservationEndTime(orderBasicInfo.getReservedEndTime());
|
||||
chargingRecord.setStartSoc(orderBasicInfo.getStartSoc());
|
||||
chargingRecord.setEndSoc(null);
|
||||
// BigDecimal sharpUsedElectricity = new BigDecimal(data.getSharpUsedElectricity());
|
||||
// chargingRecord.setSharpUsedElectricity(sharpUsedElectricity);
|
||||
// BigDecimal peakUsedElectricity = new BigDecimal(data.getPeakUsedElectricity());
|
||||
// chargingRecord.setPeakUsedElectricity(peakUsedElectricity);
|
||||
// BigDecimal flatUsedElectricity = new BigDecimal(data.getFlatUsedElectricity());
|
||||
// chargingRecord.setFlatUsedElectricity(flatUsedElectricity);
|
||||
// BigDecimal valleyUsedElectricity = new BigDecimal(data.getValleyUsedElectricity());
|
||||
// chargingRecord.setValleyUsedElectricity(valleyUsedElectricity);
|
||||
// BigDecimal totalUsedElectricity = sharpUsedElectricity.add(peakUsedElectricity).add(flatUsedElectricity).add(valleyUsedElectricity);
|
||||
// chargingRecord.setTotalUsedElectricity(totalUsedElectricity);
|
||||
// chargingRecord.setReason(data.getStopReasonMsg());
|
||||
// 创建或更新
|
||||
personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
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.domain.ykcCommond.ReservationChargingCommand;
|
||||
import com.jsowell.pile.dto.CreateReservedDTO;
|
||||
import com.jsowell.pile.dto.PersonPileStopChargingDTO;
|
||||
import com.jsowell.pile.dto.PileReservationDTO;
|
||||
import com.jsowell.pile.dto.StartPersonPileDTO;
|
||||
import com.jsowell.pile.service.MemberPlateNumberRelationService;
|
||||
import com.jsowell.pile.service.PileBasicInfoService;
|
||||
import com.jsowell.pile.service.PileRemoteService;
|
||||
import com.jsowell.pile.vo.PileReservedVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.MemberPlateNumberVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@@ -291,5 +297,122 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
|
||||
pileReservationInfo.setDelFlag(DelFlagEnum.DELETE.getValue());
|
||||
pileReservationInfoMapper.updateByPrimaryKey(pileReservationInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int createReservation(CreateReservedDTO dto) {
|
||||
PileReservationInfo reservedInfo = new PileReservationInfo();
|
||||
reservedInfo.setMemberId(dto.getMemberId());
|
||||
reservedInfo.setPileSn(dto.getPileSn());
|
||||
reservedInfo.setPileConnectorCode(dto.getPileConnectorCode());
|
||||
reservedInfo.setStatus(Constants.ZERO); // 默认未生效
|
||||
// reservedInfo.setStartTime(DateUtils.parseDate(dto.getStartTime()));
|
||||
reservedInfo.setStartTime(Time.valueOf(dto.getStartTime()));
|
||||
// reservedInfo.setEndTime(DateUtils.parseDate(dto.getEndTime()));
|
||||
if (StringUtils.isNotBlank(dto.getEndTime())) {
|
||||
reservedInfo.setEndTime(Time.valueOf(dto.getEndTime()));
|
||||
}
|
||||
|
||||
// 2024年7月25日14点36分, 此段代码注释掉, 采用默认设置
|
||||
// if (StringUtils.isNotBlank(dto.getFreq())) {
|
||||
// reservedInfo.setReservationType("recurring");
|
||||
// reservedInfo.setFreq(dto.getFreq());
|
||||
// } else {
|
||||
// reservedInfo.setReservationType("single");
|
||||
// reservedInfo.setFreq(null);
|
||||
// }
|
||||
|
||||
// 默认每天
|
||||
reservedInfo.setReservationType("recurring");
|
||||
reservedInfo.setFreq("daily");
|
||||
|
||||
reservedInfo.setCreateBy(dto.getMemberId());
|
||||
this.insertSelective(reservedInfo);
|
||||
return reservedInfo.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse queryReservationList(PileReservationDTO dto) {
|
||||
int pageNo = dto.getPageNo() == null ? Constants.one : dto.getPageNo();
|
||||
int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize();
|
||||
PageHelper.startPage(pageNo, pageSize);
|
||||
List<PileReservationInfo> list = this.getReservationsByMemberIdAndPileSn(dto.getMemberId(), dto.getPileSn());
|
||||
PageInfo<PileReservationInfo> pageInfo = new PageInfo<>(list);
|
||||
|
||||
PageResponse pageResponse = new PageResponse();
|
||||
pageResponse.setPageNum(pageInfo.getPageNum());
|
||||
pageResponse.setPageSize(pageInfo.getPageSize());
|
||||
pageResponse.setPages(pageInfo.getPages());
|
||||
pageResponse.setTotal(pageInfo.getTotal());
|
||||
|
||||
List<PileReservedVO> resultList = Lists.newArrayList();
|
||||
for (PileReservationInfo reservedInfo : pageInfo.getList()) {
|
||||
resultList.add(
|
||||
PileReservedVO.builder()
|
||||
.reservedId(reservedInfo.getId() + "")
|
||||
.pileSn(reservedInfo.getPileSn())
|
||||
.startTime(reservedInfo.getStartTime().toString())
|
||||
.endTime(reservedInfo.getEndTime().toString())
|
||||
.freq(reservedInfo.getFreq())
|
||||
.status(reservedInfo.getStatus())
|
||||
.build()
|
||||
);
|
||||
}
|
||||
pageResponse.setList(resultList);
|
||||
return pageResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改预约状态
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public void updateReservationStatus(PileReservationDTO dto) {
|
||||
if (StringUtils.equals(dto.getStatus(), Constants.ZERO)) {
|
||||
// 停用
|
||||
this.deactivateReserved(dto);
|
||||
} else if (StringUtils.equals(dto.getStatus(), Constants.ONE)) {
|
||||
// 启用
|
||||
this.activateReserved(dto);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改预约充电信息
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public void updateReservation(PileReservationDTO dto) {
|
||||
PileReservationInfo pileReservationInfo = pileReservationInfoMapper.selectByPrimaryKey(Integer.valueOf(dto.getReservedId()));
|
||||
if (pileReservationInfo == null) {
|
||||
return;
|
||||
}
|
||||
if (!StringUtils.equals(dto.getMemberId(), pileReservationInfo.getMemberId())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(dto.getStartTime())) {
|
||||
pileReservationInfo.setStartTime(Time.valueOf(dto.getStartTime()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getEndTime())) {
|
||||
pileReservationInfo.setEndTime(Time.valueOf(dto.getEndTime()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getStatus())) {
|
||||
pileReservationInfo.setStatus(dto.getStatus());
|
||||
}
|
||||
this.insertOrUpdateSelective(pileReservationInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 个人桩停止充电
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public void personPileStopCharging(PersonPileStopChargingDTO dto) {
|
||||
// 查询个人桩信息
|
||||
|
||||
// 发送请求的用户有没有权限停止充电
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user