mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-13 22:40:16 +08:00
update 个人桩预约
This commit is contained in:
@@ -13,6 +13,7 @@ import com.jsowell.common.util.StringUtils;
|
|||||||
import com.jsowell.pile.dto.*;
|
import com.jsowell.pile.dto.*;
|
||||||
import com.jsowell.pile.service.PileBasicInfoService;
|
import com.jsowell.pile.service.PileBasicInfoService;
|
||||||
import com.jsowell.pile.service.PileMerchantInfoService;
|
import com.jsowell.pile.service.PileMerchantInfoService;
|
||||||
|
import com.jsowell.pile.service.PileReservationInfoService;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.PersonPileConnectorSumInfoVO;
|
import com.jsowell.pile.vo.uniapp.customer.PersonPileConnectorSumInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.PersonPileRealTimeVO;
|
import com.jsowell.pile.vo.uniapp.customer.PersonPileRealTimeVO;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.PersonalPileInfoVO;
|
import com.jsowell.pile.vo.uniapp.customer.PersonalPileInfoVO;
|
||||||
@@ -43,6 +44,9 @@ public class PersonPileController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PileBasicInfoService pileBasicInfoService;
|
private PileBasicInfoService pileBasicInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PileReservationInfoService pileReservationInfoService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户绑定个人桩
|
* 用户绑定个人桩
|
||||||
@@ -137,6 +141,7 @@ public class PersonPileController extends BaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 个人桩停止充电
|
* 个人桩停止充电
|
||||||
|
* http://localhost:8080/uniapp/personalPile/personPileStopCharging
|
||||||
* 管理员可以停自己启动的和别人启动的
|
* 管理员可以停自己启动的和别人启动的
|
||||||
* 其他人员只能停止自己启动的
|
* 其他人员只能停止自己启动的
|
||||||
*/
|
*/
|
||||||
@@ -153,7 +158,7 @@ public class PersonPileController extends BaseController {
|
|||||||
}
|
}
|
||||||
String memberId = getMemberIdByAuthorization(request);
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
dto.setMemberId(memberId);
|
dto.setMemberId(memberId);
|
||||||
pileService.personPileStopCharging(dto);
|
pileReservationInfoService.personPileStopCharging(dto);
|
||||||
response = new RestApiResponse<>();
|
response = new RestApiResponse<>();
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("个人桩停止充电error", e);
|
logger.error("个人桩停止充电error", e);
|
||||||
@@ -192,7 +197,6 @@ public class PersonPileController extends BaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取枪口实时数据
|
* 获取枪口实时数据
|
||||||
* <p>
|
|
||||||
* http://localhost:8080/uniapp/personalPile/getConnectorRealTimeInfo
|
* http://localhost:8080/uniapp/personalPile/getConnectorRealTimeInfo
|
||||||
*
|
*
|
||||||
* @param request
|
* @param request
|
||||||
@@ -316,7 +320,7 @@ public class PersonPileController extends BaseController {
|
|||||||
try {
|
try {
|
||||||
String memberId = getMemberIdByAuthorization(request);
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
dto.setMemberId(memberId);
|
dto.setMemberId(memberId);
|
||||||
int reservedId = pileService.createReserved(dto);
|
int reservedId = pileReservationInfoService.createReservation(dto);
|
||||||
response = new RestApiResponse<>(ImmutableMap.of("reservedId", reservedId));
|
response = new RestApiResponse<>(ImmutableMap.of("reservedId", reservedId));
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("添加预约充电error, params:{}", dto, e);
|
logger.error("添加预约充电error, params:{}", dto, e);
|
||||||
@@ -340,7 +344,7 @@ public class PersonPileController extends BaseController {
|
|||||||
try {
|
try {
|
||||||
String memberId = getMemberIdByAuthorization(request);
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
dto.setMemberId(memberId);
|
dto.setMemberId(memberId);
|
||||||
PageResponse pageResponse = pileService.queryReservedList(dto);
|
PageResponse pageResponse = pileReservationInfoService.queryReservationList(dto);
|
||||||
response = new RestApiResponse<>(pageResponse);
|
response = new RestApiResponse<>(pageResponse);
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("查询预约列表error, params:{}", dto, e);
|
logger.error("查询预约列表error, params:{}", dto, e);
|
||||||
@@ -353,6 +357,30 @@ public class PersonPileController extends BaseController {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改预约充电
|
||||||
|
* http://localhost:8080/uniapp/personalPile/updateReservation
|
||||||
|
*/
|
||||||
|
@PostMapping("/updateReservation")
|
||||||
|
public RestApiResponse<?> updateReservation(HttpServletRequest request, @RequestBody PileReservationDTO dto) {
|
||||||
|
// logger.info("修改预约充电状态params:{}", dto);
|
||||||
|
RestApiResponse<?> response = null;
|
||||||
|
try {
|
||||||
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
|
dto.setMemberId(memberId);
|
||||||
|
pileReservationInfoService.updateReservation(dto);
|
||||||
|
response = new RestApiResponse<>();
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
logger.error("修改预约充电状态error, params:{}", dto, e);
|
||||||
|
response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("修改预约充电状态error, params:{}", dto, e);
|
||||||
|
response = new RestApiResponse<>(ReturnCodeEnum.CODE_UPDATE_RESERVED_STATUS_ERROR);
|
||||||
|
}
|
||||||
|
logger.info("修改预约充电状态params:{}, result:{}", dto, response);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改预约充电状态
|
* 修改预约充电状态
|
||||||
* http://localhost:8080/uniapp/personalPile/updateReservedStatus
|
* http://localhost:8080/uniapp/personalPile/updateReservedStatus
|
||||||
@@ -364,7 +392,7 @@ public class PersonPileController extends BaseController {
|
|||||||
try {
|
try {
|
||||||
String memberId = getMemberIdByAuthorization(request);
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
dto.setMemberId(memberId);
|
dto.setMemberId(memberId);
|
||||||
pileService.updateReservedStatus(dto);
|
pileReservationInfoService.updateReservationStatus(dto);
|
||||||
response = new RestApiResponse<>();
|
response = new RestApiResponse<>();
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("修改预约充电状态error, params:{}", dto, e);
|
logger.error("修改预约充电状态error, params:{}", dto, e);
|
||||||
@@ -388,7 +416,7 @@ public class PersonPileController extends BaseController {
|
|||||||
try {
|
try {
|
||||||
String memberId = getMemberIdByAuthorization(request);
|
String memberId = getMemberIdByAuthorization(request);
|
||||||
dto.setMemberId(memberId);
|
dto.setMemberId(memberId);
|
||||||
pileService.deleteReservation(dto);
|
pileReservationInfoService.deleteReservation(dto);
|
||||||
response = new RestApiResponse<>();
|
response = new RestApiResponse<>();
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
logger.error("修改预约充电状态error, params:{}", dto, e);
|
logger.error("修改预约充电状态error, params:{}", dto, e);
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ public class PileService {
|
|||||||
public PersonPileRealTimeVO getConnectorRealTimeInfo(QueryPersonPileDTO dto) {
|
public PersonPileRealTimeVO getConnectorRealTimeInfo(QueryPersonPileDTO dto) {
|
||||||
// 根据memberId查出该用户 正在充电、个人桩启动(白名单支付方式)的订单号
|
// 根据memberId查出该用户 正在充电、个人桩启动(白名单支付方式)的订单号
|
||||||
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
|
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
|
||||||
.memberId(dto.getMemberId())
|
// .memberId(dto.getMemberId())
|
||||||
.orderStatus(OrderStatusEnum.IN_THE_CHARGING.getValue())
|
.orderStatus(OrderStatusEnum.IN_THE_CHARGING.getValue())
|
||||||
.pileConnectorCode(dto.getPileConnectorCode())
|
.pileConnectorCode(dto.getPileConnectorCode())
|
||||||
.payMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue()) // 3- 白名单支付
|
.payMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue()) // 3- 白名单支付
|
||||||
@@ -569,60 +569,6 @@ public class PileService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int createReserved(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()));
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(dto.getFreq())) {
|
|
||||||
reservedInfo.setReservationType("recurring");
|
|
||||||
reservedInfo.setFreq(dto.getFreq());
|
|
||||||
} else {
|
|
||||||
reservedInfo.setReservationType("single");
|
|
||||||
reservedInfo.setFreq(null);
|
|
||||||
}
|
|
||||||
reservedInfo.setCreateBy(dto.getMemberId());
|
|
||||||
pileReservationInfoService.insertSelective(reservedInfo);
|
|
||||||
return reservedInfo.getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
public PageResponse queryReservedList(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 = pileReservationInfoService.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;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void deleteReservation(PileReservationDTO dto) {
|
public void deleteReservation(PileReservationDTO dto) {
|
||||||
pileReservationInfoService.deleteReservation(dto);
|
pileReservationInfoService.deleteReservation(dto);
|
||||||
}
|
}
|
||||||
@@ -657,11 +603,4 @@ public class PileService {
|
|||||||
return String.valueOf(i);
|
return String.valueOf(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 个人桩停止充电
|
|
||||||
* @param dto
|
|
||||||
*/
|
|
||||||
public void personPileStopCharging(PersonPileStopChargingDTO dto) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,16 @@ public class PileReservationDTO {
|
|||||||
*/
|
*/
|
||||||
private String pileSn;
|
private String pileSn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开始时间 hh:mm:ss
|
||||||
|
*/
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束时间 hh:mm:ss
|
||||||
|
*/
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
private Integer pageNo;
|
private Integer pageNo;
|
||||||
|
|
||||||
private Integer pageSize;
|
private Integer pageSize;
|
||||||
@@ -38,6 +48,11 @@ public class PileReservationDTO {
|
|||||||
.append("memberId", memberId)
|
.append("memberId", memberId)
|
||||||
.append("reservedId", reservedId)
|
.append("reservedId", reservedId)
|
||||||
.append("status", status)
|
.append("status", status)
|
||||||
|
.append("pileSn", pileSn)
|
||||||
|
.append("startTime", startTime)
|
||||||
|
.append("endTime", endTime)
|
||||||
|
.append("pageNo", pageNo)
|
||||||
|
.append("pageSize", pageSize)
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.jsowell.pile.service;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||||
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.PersonalChargingRecord;
|
import com.jsowell.pile.domain.PersonalChargingRecord;
|
||||||
public interface PersonalChargingRecordService{
|
public interface PersonalChargingRecordService{
|
||||||
|
|
||||||
@@ -35,4 +36,6 @@ public interface PersonalChargingRecordService{
|
|||||||
* @param data
|
* @param data
|
||||||
*/
|
*/
|
||||||
void processPersonalChargingRecord(TransactionRecordsData data);
|
void processPersonalChargingRecord(TransactionRecordsData data);
|
||||||
|
|
||||||
|
void processPersonalChargingRecord(OrderBasicInfo orderBasicInfo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package com.jsowell.pile.service;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.jsowell.common.core.page.PageResponse;
|
||||||
|
import com.jsowell.pile.dto.CreateReservedDTO;
|
||||||
|
import com.jsowell.pile.dto.PersonPileStopChargingDTO;
|
||||||
import com.jsowell.pile.dto.PileReservationDTO;
|
import com.jsowell.pile.dto.PileReservationDTO;
|
||||||
import com.jsowell.pile.domain.PileReservationInfo;
|
import com.jsowell.pile.domain.PileReservationInfo;
|
||||||
|
|
||||||
@@ -55,5 +58,15 @@ public interface PileReservationInfoService {
|
|||||||
void cancelOneTimeReservation(String pileConnectorCode);
|
void cancelOneTimeReservation(String pileConnectorCode);
|
||||||
|
|
||||||
void deleteReservation(PileReservationDTO dto);
|
void deleteReservation(PileReservationDTO dto);
|
||||||
|
|
||||||
|
int createReservation(CreateReservedDTO dto);
|
||||||
|
|
||||||
|
PageResponse queryReservationList(PileReservationDTO dto);
|
||||||
|
|
||||||
|
void updateReservationStatus(PileReservationDTO dto);
|
||||||
|
|
||||||
|
void updateReservation(PileReservationDTO dto);
|
||||||
|
|
||||||
|
void personPileStopCharging(PersonPileStopChargingDTO dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
|
import com.jsowell.common.constant.Constants;
|
||||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||||
import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil;
|
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.PileBasicInfo;
|
import com.jsowell.pile.domain.PileBasicInfo;
|
||||||
import com.jsowell.pile.service.PileBasicInfoService;
|
import com.jsowell.pile.service.PileBasicInfoService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -82,8 +83,7 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理个人桩充电记录
|
* 收到交易记录时, 处理个人桩充电记录
|
||||||
*
|
|
||||||
* @param data
|
* @param data
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@@ -133,4 +133,48 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
|
|||||||
personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord);
|
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;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.jsowell.common.constant.Constants;
|
import com.jsowell.common.constant.Constants;
|
||||||
|
import com.jsowell.common.core.page.PageResponse;
|
||||||
import com.jsowell.common.enums.DelFlagEnum;
|
import com.jsowell.common.enums.DelFlagEnum;
|
||||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
import com.jsowell.pile.domain.ykcCommond.ReservationChargingCommand;
|
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.PileReservationDTO;
|
||||||
import com.jsowell.pile.dto.StartPersonPileDTO;
|
import com.jsowell.pile.dto.StartPersonPileDTO;
|
||||||
import com.jsowell.pile.service.MemberPlateNumberRelationService;
|
import com.jsowell.pile.service.MemberPlateNumberRelationService;
|
||||||
import com.jsowell.pile.service.PileBasicInfoService;
|
import com.jsowell.pile.service.PileBasicInfoService;
|
||||||
import com.jsowell.pile.service.PileRemoteService;
|
import com.jsowell.pile.service.PileRemoteService;
|
||||||
|
import com.jsowell.pile.vo.PileReservedVO;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.MemberPlateNumberVO;
|
import com.jsowell.pile.vo.uniapp.customer.MemberPlateNumberVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -291,5 +297,122 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
|
|||||||
pileReservationInfo.setDelFlag(DelFlagEnum.DELETE.getValue());
|
pileReservationInfo.setDelFlag(DelFlagEnum.DELETE.getValue());
|
||||||
pileReservationInfoMapper.updateByPrimaryKey(pileReservationInfo);
|
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) {
|
||||||
|
// 查询个人桩信息
|
||||||
|
|
||||||
|
// 发送请求的用户有没有权限停止充电
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,10 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
protected MemberGroupService memberGroupService;
|
protected MemberGroupService memberGroupService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PileStationWhitelistService pileStationWhitelistService;
|
protected PileStationWhitelistService pileStationWhitelistService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected PersonalChargingRecordService personalChargingRecordService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
protected RedisCache redisCache;
|
protected RedisCache redisCache;
|
||||||
|
|||||||
@@ -844,7 +844,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
if (!b) {
|
if (!b) {
|
||||||
throw new BusinessException("00600006", "个人桩启动失败,无启动权限");
|
throw new BusinessException("00600006", "个人桩启动失败,无启动权限");
|
||||||
}
|
}
|
||||||
String orderCode;
|
|
||||||
// 生成订单
|
// 生成订单
|
||||||
GenerateOrderDTO generateOrderDTO = new GenerateOrderDTO();
|
GenerateOrderDTO generateOrderDTO = new GenerateOrderDTO();
|
||||||
generateOrderDTO.setMemberId(dto.getMemberId());
|
generateOrderDTO.setMemberId(dto.getMemberId());
|
||||||
@@ -853,18 +853,28 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
generateOrderDTO.setStartType(dto.getStartType());
|
generateOrderDTO.setStartType(dto.getStartType());
|
||||||
generateOrderDTO.setPileSn(pileSn);
|
generateOrderDTO.setPileSn(pileSn);
|
||||||
generateOrderDTO.setConnectorCode(connectorCode);
|
generateOrderDTO.setConnectorCode(connectorCode);
|
||||||
|
|
||||||
|
OrderBasicInfo orderBasicInfo;
|
||||||
try {
|
try {
|
||||||
OrderBasicInfo orderBasicInfo = generateOrder(generateOrderDTO);
|
orderBasicInfo = generateOrder(generateOrderDTO);
|
||||||
orderCode = orderBasicInfo.getOrderCode();
|
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
// 支付订单
|
// 支付订单
|
||||||
PayOrderDTO payOrderDTO = new PayOrderDTO();
|
PayOrderDTO payOrderDTO = new PayOrderDTO();
|
||||||
payOrderDTO.setOrderCode(orderCode);
|
payOrderDTO.setOrderCode(orderBasicInfo.getOrderCode());
|
||||||
payOrderDTO.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
|
payOrderDTO.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
|
||||||
payOrderDTO.setMemberId(dto.getMemberId());
|
payOrderDTO.setMemberId(dto.getMemberId());
|
||||||
payOrder(payOrderDTO);
|
payOrder(payOrderDTO);
|
||||||
return orderCode;
|
|
||||||
|
// 插入个人桩充电记录表
|
||||||
|
try {
|
||||||
|
personalChargingRecordService.processPersonalChargingRecord(orderBasicInfo);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("插入个人桩充电记录表error, orderCode:{}, transactionCode:{}",
|
||||||
|
orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
return orderBasicInfo.getOrderCode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user