mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-02 09:00:03 +08:00
个人桩停止充电
This commit is contained in:
@@ -140,36 +140,7 @@ public class PersonPileController extends BaseController {
|
|||||||
return response;
|
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
|
* http://localhost:8080/uniapp/personalPile/createReserved
|
||||||
@@ -431,7 +434,7 @@ public class PersonPileController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据充电桩查询预约状态
|
* 根据充电桩查询预约信息
|
||||||
* http://localhost:8080/uniapp/personalPile/queryReservationInfo
|
* http://localhost:8080/uniapp/personalPile/queryReservationInfo
|
||||||
*/
|
*/
|
||||||
@PostMapping("/queryReservationInfo")
|
@PostMapping("/queryReservationInfo")
|
||||||
|
|||||||
@@ -260,6 +260,17 @@ public class SpringBootTestController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PileReservationInfoService pileReservationInfoService;
|
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
|
@Test
|
||||||
public void selectMemberPlateNumberRelationTest() {
|
public void selectMemberPlateNumberRelationTest() {
|
||||||
String memberId = "25950857";
|
String memberId = "25950857";
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
|
import com.jsowell.common.util.StringUtils;
|
||||||
import com.jsowell.pile.domain.PileMemberRelation;
|
import com.jsowell.pile.domain.PileMemberRelation;
|
||||||
import com.jsowell.pile.mapper.PileMemberRelationMapper;
|
import com.jsowell.pile.mapper.PileMemberRelationMapper;
|
||||||
import com.jsowell.pile.service.PileConnectorInfoService;
|
import com.jsowell.pile.service.PileConnectorInfoService;
|
||||||
@@ -108,10 +110,12 @@ public class PileMemberRelationServiceImpl implements PileMemberRelationService
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PileMemberRelation> selectPileMemberRelationByPileSn(String pileSn) {
|
public List<PileMemberRelation> selectPileMemberRelationByPileSn(String pileSn) {
|
||||||
|
if (StringUtils.isBlank(pileSn)) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
PileMemberRelation pileMemberRelation = new PileMemberRelation();
|
PileMemberRelation pileMemberRelation = new PileMemberRelation();
|
||||||
pileMemberRelation.setPileSn(pileSn);
|
pileMemberRelation.setPileSn(pileSn);
|
||||||
return selectPileMemberRelationList(pileMemberRelation);
|
return selectPileMemberRelationList(pileMemberRelation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.google.common.collect.Lists;
|
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.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.PileMemberRelation;
|
||||||
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.CreateReservedDTO;
|
||||||
import com.jsowell.pile.dto.PersonPileStopChargingDTO;
|
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.*;
|
||||||
import com.jsowell.pile.service.PileBasicInfoService;
|
|
||||||
import com.jsowell.pile.service.PileRemoteService;
|
|
||||||
import com.jsowell.pile.vo.PileReservationInfoVO;
|
import com.jsowell.pile.vo.PileReservationInfoVO;
|
||||||
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;
|
||||||
@@ -31,11 +31,12 @@ import java.sql.Time;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.jsowell.pile.mapper.PileReservationInfoMapper;
|
import com.jsowell.pile.mapper.PileReservationInfoMapper;
|
||||||
import com.jsowell.pile.domain.PileReservationInfo;
|
import com.jsowell.pile.domain.PileReservationInfo;
|
||||||
import com.jsowell.pile.service.PileReservationInfoService;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@@ -53,6 +54,9 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
|
|||||||
@Autowired
|
@Autowired
|
||||||
private MemberPlateNumberRelationService memberPlateNumberRelationService;
|
private MemberPlateNumberRelationService memberPlateNumberRelationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PileMemberRelationService pileMemberRelationService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int deleteByPrimaryKey(Integer id) {
|
public int deleteByPrimaryKey(Integer id) {
|
||||||
return pileReservationInfoMapper.deleteByPrimaryKey(id);
|
return pileReservationInfoMapper.deleteByPrimaryKey(id);
|
||||||
@@ -425,11 +429,30 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void personPileStopCharging(PersonPileStopChargingDTO dto) {
|
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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user