充电桩预约功能

This commit is contained in:
Guoqs
2024-06-18 16:03:23 +08:00
parent e4ec70c869
commit 25c3a33dad
8 changed files with 194 additions and 35 deletions

View File

@@ -1,6 +1,7 @@
package com.jsowell.api.uniapp;
import com.alibaba.fastjson2.JSON;
import com.google.common.collect.ImmutableMap;
import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
import com.jsowell.common.core.page.PageResponse;
@@ -8,6 +9,8 @@ import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.response.RestApiResponse;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.dto.CreateReservedDTO;
import com.jsowell.pile.dto.PileReservedDTO;
import com.jsowell.pile.dto.PileMemberBindingDTO;
import com.jsowell.pile.dto.QueryPersonPileDTO;
import com.jsowell.pile.service.PileBasicInfoService;
@@ -251,24 +254,50 @@ public class PersonPileController extends BaseController {
*/
/**
* 取消预约
* 修改预约充电状态
* http://localhost:8080/uniapp/personalPile/updateReservedStatus
*/
public RestApiResponse<?> canal(HttpServletRequest request, @RequestBody QueryPersonPileDTO dto) {
logger.info("取消预约params:{}", JSON.toJSONString(dto));
@PostMapping("/updateReservedStatus")
public RestApiResponse<?> updateReservedStatus(HttpServletRequest request, @RequestBody PileReservedDTO dto) {
// logger.info("修改预约充电状态params:{}", dto);
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
pileService.canalReserved(dto);
pileService.updateReservedStatus(dto);
response = new RestApiResponse<>();
} catch (BusinessException e) {
logger.error("取消预约error", e);
logger.error("修改预约充电状态error, params:{}", dto, e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("取消预约error", e);
logger.error("修改预约充电状态error, params:{}", dto, e);
response = new RestApiResponse<>(e);
}
logger.info("取消预约result:{}", response);
logger.info("修改预约充电状态params:{}, result:{}", dto, response);
return response;
}
/**
* 添加预约充电
* http://localhost:8080/uniapp/personalPile/createReserved
*/
@PostMapping("/createReserved")
public RestApiResponse<?> createReserved(HttpServletRequest request, @RequestBody CreateReservedDTO dto) {
// logger.info("修改预约充电状态params:{}", dto);
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
int reservedId = pileService.createReserved(dto);
response = new RestApiResponse<>(ImmutableMap.of("reservedId", reservedId));
} 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<>(e);
}
logger.info("添加预约充电params:{}, result:{}", dto, response);
return response;
}
}

View File

@@ -16,19 +16,10 @@ import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.SecurityUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.util.SnUtils;
import com.jsowell.pile.service.*;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.domain.PileConnectorInfo;
import com.jsowell.pile.domain.PileMemberRelation;
import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.dto.BatchCreatePileDTO;
import com.jsowell.pile.dto.MemberRegisterAndLoginDTO;
import com.jsowell.pile.dto.PileMemberBindingDTO;
import com.jsowell.pile.dto.QueryPersonPileDTO;
import com.jsowell.pile.dto.QueryStationDTO;
import com.jsowell.pile.transaction.dto.PileTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.base.ConnectorInfoVO;
@@ -95,6 +86,9 @@ public class PileService {
@Autowired
private PileRemoteService pileRemoteService;
@Autowired
private PileReservedInfoService pileReservedInfoService;
/**
* 查询设备信息
*
@@ -562,10 +556,33 @@ public class PileService {
/**
* 取消预约充电
* 修改预约充电状态
* @param dto
*/
public void canalReserved(QueryPersonPileDTO dto) {
public void updateReservedStatus(PileReservedDTO dto) {
if (StringUtils.equals(dto.getStatus(), Constants.ZERO)) {
pileReservedInfoService.deactivateReserved(dto);
} else if (StringUtils.equals(dto.getStatus(), Constants.ONE)) {
pileReservedInfoService.activateReserved(dto);
}
}
public int createReserved(CreateReservedDTO dto) {
PileReservedInfo reservedInfo = new PileReservedInfo();
reservedInfo.setMemberId(dto.getMemberId());
reservedInfo.setPileSn(dto.getPileSn());
reservedInfo.setStatus(Constants.ZERO); // 默认未生效
reservedInfo.setStartTime(DateUtils.parseDate(dto.getStartTime()));
reservedInfo.setEndTime(DateUtils.parseDate(dto.getEndTime()));
if (StringUtils.isNotBlank(dto.getFreq())) {
reservedInfo.setReservedType("recurring");
reservedInfo.setFreq(dto.getFreq());
} else {
reservedInfo.setReservedType("single");
reservedInfo.setFreq(null);
}
reservedInfo.setCreateBy(dto.getMemberId());
pileReservedInfoService.insertSelective(reservedInfo);
return reservedInfo.getId();
}
}