mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
个人桩停止充电
This commit is contained in:
@@ -140,36 +140,7 @@ public class PersonPileController extends BaseController {
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 个人桩停止充电
|
||||
* http://localhost:8080/uniapp/personalPile/personPileStopCharging
|
||||
* 管理员可以停自己启动的和别人启动的
|
||||
* 其他人员只能停止自己启动的
|
||||
*/
|
||||
@PostMapping("/personPileStopCharging")
|
||||
public RestApiResponse<?> personPileStopCharging(HttpServletRequest request, PersonPileStopChargingDTO dto) {
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
String appId = request.getHeader("appId");
|
||||
if (StringUtils.isNotBlank(appId)) {
|
||||
String firstLevelMerchantId = pileMerchantInfoService.getFirstLevelMerchantIdByWxAppId(appId);
|
||||
if (StringUtils.isNotBlank(firstLevelMerchantId)) {
|
||||
dto.setFirstLevelMerchantId(firstLevelMerchantId);
|
||||
}
|
||||
}
|
||||
String memberId = getMemberIdByAuthorization(request);
|
||||
dto.setMemberId(memberId);
|
||||
pileReservationInfoService.personPileStopCharging(dto);
|
||||
response = new RestApiResponse<>();
|
||||
} catch (BusinessException e) {
|
||||
logger.error("个人桩停止充电error", e);
|
||||
response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||||
} catch (Exception e) {
|
||||
logger.error("个人桩停止充电error", e);
|
||||
response = new RestApiResponse<>(ReturnCodeEnum.CODE_PERSON_PILE_STOP_CHARGING_ERROR);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -310,6 +281,38 @@ public class PersonPileController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 个人桩停止充电
|
||||
* http://localhost:8080/uniapp/personalPile/personPileStopCharging
|
||||
* 管理员可以停自己启动的和别人启动的
|
||||
* 其他人员只能停止自己启动的
|
||||
*/
|
||||
@PostMapping("/personPileStopCharging")
|
||||
public RestApiResponse<?> personPileStopCharging(HttpServletRequest request, PersonPileStopChargingDTO dto) {
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
String appId = request.getHeader("appId");
|
||||
if (StringUtils.isNotBlank(appId)) {
|
||||
String firstLevelMerchantId = pileMerchantInfoService.getFirstLevelMerchantIdByWxAppId(appId);
|
||||
if (StringUtils.isNotBlank(firstLevelMerchantId)) {
|
||||
dto.setFirstLevelMerchantId(firstLevelMerchantId);
|
||||
}
|
||||
}
|
||||
String memberId = getMemberIdByAuthorization(request);
|
||||
dto.setMemberId(memberId);
|
||||
pileReservationInfoService.personPileStopCharging(dto);
|
||||
response = new RestApiResponse<>();
|
||||
} catch (BusinessException e) {
|
||||
logger.error("个人桩停止充电error", e);
|
||||
response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||||
} catch (Exception e) {
|
||||
logger.error("个人桩停止充电error", e);
|
||||
response = new RestApiResponse<>(ReturnCodeEnum.CODE_PERSON_PILE_STOP_CHARGING_ERROR);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加预约充电
|
||||
* http://localhost:8080/uniapp/personalPile/createReserved
|
||||
@@ -431,7 +434,7 @@ public class PersonPileController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据充电桩查询预约状态
|
||||
* 根据充电桩查询预约信息
|
||||
* http://localhost:8080/uniapp/personalPile/queryReservationInfo
|
||||
*/
|
||||
@PostMapping("/queryReservationInfo")
|
||||
|
||||
@@ -260,6 +260,17 @@ public class SpringBootTestController {
|
||||
@Autowired
|
||||
private PileReservationInfoService pileReservationInfoService;
|
||||
|
||||
@Test
|
||||
public void personPileStopChargingTest() {
|
||||
String memberId = "84085683";
|
||||
String pileConnectorCode = "8823000000141001";
|
||||
PersonPileStopChargingDTO dto = PersonPileStopChargingDTO.builder()
|
||||
.memberId(memberId)
|
||||
.pileConnectorCode(pileConnectorCode)
|
||||
.build();
|
||||
pileReservationInfoService.personPileStopCharging(dto);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void selectMemberPlateNumberRelationTest() {
|
||||
String memberId = "25950857";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.PileMemberRelation;
|
||||
import com.jsowell.pile.mapper.PileMemberRelationMapper;
|
||||
import com.jsowell.pile.service.PileConnectorInfoService;
|
||||
@@ -108,10 +110,12 @@ public class PileMemberRelationServiceImpl implements PileMemberRelationService
|
||||
|
||||
@Override
|
||||
public List<PileMemberRelation> selectPileMemberRelationByPileSn(String pileSn) {
|
||||
if (StringUtils.isBlank(pileSn)) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
PileMemberRelation pileMemberRelation = new PileMemberRelation();
|
||||
pileMemberRelation.setPileSn(pileSn);
|
||||
return selectPileMemberRelationList(pileMemberRelation);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -10,14 +11,13 @@ 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.PileMemberRelation;
|
||||
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.service.*;
|
||||
import com.jsowell.pile.vo.PileReservationInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.MemberPlateNumberVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -31,11 +31,12 @@ import java.sql.Time;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.jsowell.pile.mapper.PileReservationInfoMapper;
|
||||
import com.jsowell.pile.domain.PileReservationInfo;
|
||||
import com.jsowell.pile.service.PileReservationInfoService;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -53,6 +54,9 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
|
||||
@Autowired
|
||||
private MemberPlateNumberRelationService memberPlateNumberRelationService;
|
||||
|
||||
@Autowired
|
||||
private PileMemberRelationService pileMemberRelationService;
|
||||
|
||||
@Override
|
||||
public int deleteByPrimaryKey(Integer id) {
|
||||
return pileReservationInfoMapper.deleteByPrimaryKey(id);
|
||||
@@ -425,11 +429,30 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
|
||||
*/
|
||||
@Override
|
||||
public void personPileStopCharging(PersonPileStopChargingDTO dto) {
|
||||
String pileConnectorCode = dto.getPileConnectorCode();
|
||||
String pileSn = StringUtils.substring(pileConnectorCode, 0, pileConnectorCode.length() - 2);
|
||||
// 查询个人桩信息
|
||||
|
||||
List<PileMemberRelation> pileMemberRelations = pileMemberRelationService.selectPileMemberRelationByPileSn(pileSn);
|
||||
Map<String, List<String>> listMap = pileMemberRelations.stream()
|
||||
.collect(Collectors.groupingBy(PileMemberRelation::getType, Collectors.mapping(PileMemberRelation::getMemberId, Collectors.toList())));
|
||||
log.info("个人桩:{}, 使用者信息:{}", pileConnectorCode, JSON.toJSONString(listMap));
|
||||
// 发送请求的用户有没有权限停止充电
|
||||
boolean stopFlag = false;
|
||||
List<String> pileManager = listMap.get("1");
|
||||
List<String> pileUsers = listMap.get("2");
|
||||
|
||||
if (CollectionUtils.isNotEmpty(pileManager) && CollectionUtils.containsAny(pileManager, dto.getMemberId())) {
|
||||
log.info("memberId:() 为管理员");
|
||||
stopFlag = true;
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(pileUsers) && CollectionUtils.containsAny(pileUsers, dto.getMemberId())) {
|
||||
log.info("memberId:() 为用户");
|
||||
stopFlag = true;
|
||||
}
|
||||
|
||||
if (stopFlag) {
|
||||
log.info("发送停止指令");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user