From b05a7e6ac2772439fb5dd95f4e56572423ae8b10 Mon Sep 17 00:00:00 2001
From: Guoqs <123@jsowell.com>
Date: Thu, 25 Jul 2024 16:18:23 +0800
Subject: [PATCH] =?UTF-8?q?update=20=E4=B8=AA=E4=BA=BA=E6=A1=A9=E9=A2=84?=
=?UTF-8?q?=E7=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../uniapp/customer/PersonPileController.java | 40 +++++-
.../java/com/jsowell/service/PileService.java | 63 +--------
.../jsowell/pile/dto/PileReservationDTO.java | 15 +++
.../PersonalChargingRecordService.java | 3 +
.../service/PileReservationInfoService.java | 13 ++
.../PersonalChargingRecordServiceImpl.java | 50 ++++++-
.../impl/PileReservationInfoServiceImpl.java | 123 ++++++++++++++++++
.../programlogic/AbstractProgramLogic.java | 5 +-
.../DelayMerchantProgramLogic.java | 20 ++-
9 files changed, 255 insertions(+), 77 deletions(-)
diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PersonPileController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PersonPileController.java
index e005c99d1..f3a006321 100644
--- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PersonPileController.java
+++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PersonPileController.java
@@ -13,6 +13,7 @@ import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.service.PileBasicInfoService;
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.PersonPileRealTimeVO;
import com.jsowell.pile.vo.uniapp.customer.PersonalPileInfoVO;
@@ -43,6 +44,9 @@ public class PersonPileController extends BaseController {
@Autowired
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);
dto.setMemberId(memberId);
- pileService.personPileStopCharging(dto);
+ pileReservationInfoService.personPileStopCharging(dto);
response = new RestApiResponse<>();
} catch (BusinessException e) {
logger.error("个人桩停止充电error", e);
@@ -192,7 +197,6 @@ public class PersonPileController extends BaseController {
/**
* 获取枪口实时数据
- *
* http://localhost:8080/uniapp/personalPile/getConnectorRealTimeInfo
*
* @param request
@@ -316,7 +320,7 @@ public class PersonPileController extends BaseController {
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
- int reservedId = pileService.createReserved(dto);
+ int reservedId = pileReservationInfoService.createReservation(dto);
response = new RestApiResponse<>(ImmutableMap.of("reservedId", reservedId));
} catch (BusinessException e) {
logger.error("添加预约充电error, params:{}", dto, e);
@@ -340,7 +344,7 @@ public class PersonPileController extends BaseController {
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
- PageResponse pageResponse = pileService.queryReservedList(dto);
+ PageResponse pageResponse = pileReservationInfoService.queryReservationList(dto);
response = new RestApiResponse<>(pageResponse);
} catch (BusinessException e) {
logger.error("查询预约列表error, params:{}", dto, e);
@@ -353,6 +357,30 @@ public class PersonPileController extends BaseController {
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
@@ -364,7 +392,7 @@ public class PersonPileController extends BaseController {
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
- pileService.updateReservedStatus(dto);
+ pileReservationInfoService.updateReservationStatus(dto);
response = new RestApiResponse<>();
} catch (BusinessException e) {
logger.error("修改预约充电状态error, params:{}", dto, e);
@@ -388,7 +416,7 @@ public class PersonPileController extends BaseController {
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
- pileService.deleteReservation(dto);
+ pileReservationInfoService.deleteReservation(dto);
response = new RestApiResponse<>();
} catch (BusinessException e) {
logger.error("修改预约充电状态error, params:{}", dto, e);
diff --git a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java
index 5ed7cfd76..bbbd4f224 100644
--- a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java
+++ b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java
@@ -390,7 +390,7 @@ public class PileService {
public PersonPileRealTimeVO getConnectorRealTimeInfo(QueryPersonPileDTO dto) {
// 根据memberId查出该用户 正在充电、个人桩启动(白名单支付方式)的订单号
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
- .memberId(dto.getMemberId())
+ // .memberId(dto.getMemberId())
.orderStatus(OrderStatusEnum.IN_THE_CHARGING.getValue())
.pileConnectorCode(dto.getPileConnectorCode())
.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 list = pileReservationInfoService.getReservationsByMemberIdAndPileSn(dto.getMemberId(), dto.getPileSn());
- PageInfo 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 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) {
pileReservationInfoService.deleteReservation(dto);
}
@@ -657,11 +603,4 @@ public class PileService {
return String.valueOf(i);
}
- /**
- * 个人桩停止充电
- * @param dto
- */
- public void personPileStopCharging(PersonPileStopChargingDTO dto) {
-
- }
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PileReservationDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PileReservationDTO.java
index 056097d81..2d704d182 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PileReservationDTO.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PileReservationDTO.java
@@ -28,6 +28,16 @@ public class PileReservationDTO {
*/
private String pileSn;
+ /**
+ * 开始时间 hh:mm:ss
+ */
+ private String startTime;
+
+ /**
+ * 结束时间 hh:mm:ss
+ */
+ private String endTime;
+
private Integer pageNo;
private Integer pageSize;
@@ -38,6 +48,11 @@ public class PileReservationDTO {
.append("memberId", memberId)
.append("reservedId", reservedId)
.append("status", status)
+ .append("pileSn", pileSn)
+ .append("startTime", startTime)
+ .append("endTime", endTime)
+ .append("pageNo", pageNo)
+ .append("pageSize", pageSize)
.toString();
}
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java
index 4d9653b0c..2c1e5a179 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java
@@ -3,6 +3,7 @@ package com.jsowell.pile.service;
import java.util.List;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
+import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.PersonalChargingRecord;
public interface PersonalChargingRecordService{
@@ -35,4 +36,6 @@ public interface PersonalChargingRecordService{
* @param data
*/
void processPersonalChargingRecord(TransactionRecordsData data);
+
+ void processPersonalChargingRecord(OrderBasicInfo orderBasicInfo);
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileReservationInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileReservationInfoService.java
index 516535ae4..2717ea9b4 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileReservationInfoService.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileReservationInfoService.java
@@ -2,6 +2,9 @@ package com.jsowell.pile.service;
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.domain.PileReservationInfo;
@@ -55,5 +58,15 @@ public interface PileReservationInfoService {
void cancelOneTimeReservation(String pileConnectorCode);
void deleteReservation(PileReservationDTO dto);
+
+ int createReservation(CreateReservedDTO dto);
+
+ PageResponse queryReservationList(PileReservationDTO dto);
+
+ void updateReservationStatus(PileReservationDTO dto);
+
+ void updateReservation(PileReservationDTO dto);
+
+ void personPileStopCharging(PersonPileStopChargingDTO dto);
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java
index 757b753b9..cd8a45f8f 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java
@@ -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);
+ }
+
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java
index 0e3117c54..020699ef1 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java
@@ -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 list = this.getReservationsByMemberIdAndPileSn(dto.getMemberId(), dto.getPileSn());
+ PageInfo 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 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) {
+ // 查询个人桩信息
+
+ // 发送请求的用户有没有权限停止充电
+
+
+ }
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java
index 2bda3f00b..a9ffca059 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java
@@ -105,7 +105,10 @@ public abstract class AbstractProgramLogic implements InitializingBean {
protected MemberGroupService memberGroupService;
@Autowired
- private PileStationWhitelistService pileStationWhitelistService;
+ protected PileStationWhitelistService pileStationWhitelistService;
+
+ @Autowired
+ protected PersonalChargingRecordService personalChargingRecordService;
@Autowired
protected RedisCache redisCache;
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java
index 3ab27ab0c..de933a2b3 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java
@@ -844,7 +844,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
if (!b) {
throw new BusinessException("00600006", "个人桩启动失败,无启动权限");
}
- String orderCode;
+
// 生成订单
GenerateOrderDTO generateOrderDTO = new GenerateOrderDTO();
generateOrderDTO.setMemberId(dto.getMemberId());
@@ -853,18 +853,28 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
generateOrderDTO.setStartType(dto.getStartType());
generateOrderDTO.setPileSn(pileSn);
generateOrderDTO.setConnectorCode(connectorCode);
+
+ OrderBasicInfo orderBasicInfo;
try {
- OrderBasicInfo orderBasicInfo = generateOrder(generateOrderDTO);
- orderCode = orderBasicInfo.getOrderCode();
+ orderBasicInfo = generateOrder(generateOrderDTO);
} catch (ParseException e) {
throw new RuntimeException(e);
}
// 支付订单
PayOrderDTO payOrderDTO = new PayOrderDTO();
- payOrderDTO.setOrderCode(orderCode);
+ payOrderDTO.setOrderCode(orderBasicInfo.getOrderCode());
payOrderDTO.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
payOrderDTO.setMemberId(dto.getMemberId());
payOrder(payOrderDTO);
- return orderCode;
+
+ // 插入个人桩充电记录表
+ try {
+ personalChargingRecordService.processPersonalChargingRecord(orderBasicInfo);
+ } catch (Exception e) {
+ logger.error("插入个人桩充电记录表error, orderCode:{}, transactionCode:{}",
+ orderBasicInfo.getOrderCode(), orderBasicInfo.getTransactionCode());
+ }
+
+ return orderBasicInfo.getOrderCode();
}
}