mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 19:45:09 +08:00
169 lines
6.0 KiB
Java
169 lines
6.0 KiB
Java
package com.jsowell.api.uniapp;
|
||
|
||
import com.alibaba.fastjson2.JSONObject;
|
||
import com.jsowell.common.annotation.Anonymous;
|
||
import com.jsowell.common.core.controller.BaseController;
|
||
import com.jsowell.common.core.page.PageResponse;
|
||
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.QueryConnectorListDTO;
|
||
import com.jsowell.pile.dto.QueryStationDTO;
|
||
import com.jsowell.pile.dto.RemoteGroundLockDTO;
|
||
import com.jsowell.pile.service.*;
|
||
import com.jsowell.pile.vo.uniapp.BillingPriceVO;
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.web.bind.annotation.*;
|
||
|
||
import javax.servlet.http.HttpServletRequest;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 充电桩相关接口
|
||
* 提供给小程序调用
|
||
*/
|
||
// 不登录直接访问
|
||
@Anonymous
|
||
@RestController
|
||
@RequestMapping("/uniapp/pile")
|
||
public class PileController extends BaseController {
|
||
|
||
@Autowired
|
||
private IPileStationInfoService pileStationInfoService;
|
||
|
||
@Autowired
|
||
private IPileConnectorInfoService pileConnectorInfoService;
|
||
|
||
@Autowired
|
||
private IPileBillingTemplateService pileBillingTemplateService;
|
||
|
||
@Autowired
|
||
private IPileMerchantInfoService pileMerchantInfoService;
|
||
|
||
@Autowired
|
||
private OrderPileOccupyService orderPileOccupyService;
|
||
|
||
|
||
/**
|
||
* 查询充电站信息列表(主页)
|
||
*
|
||
* http://localhost:8080/uniapp/pile/queryStationInfos
|
||
*/
|
||
@PostMapping("/queryStationInfos")
|
||
public RestApiResponse<?> queryStationInfos(HttpServletRequest request, @RequestBody QueryStationDTO queryStationDTO) {
|
||
logger.info("查询充电站信息列表 param:{}", JSONObject.toJSONString(queryStationDTO));
|
||
RestApiResponse<?> response = null;
|
||
try {
|
||
// 获取appid(第三方平台用)
|
||
String appId = request.getHeader("appId");
|
||
if (StringUtils.isNotBlank(appId)) {
|
||
// 获取deptIds
|
||
List<String> deptIds = pileMerchantInfoService.getDeptIdsByAppId(appId);
|
||
queryStationDTO.setMerchantDeptIds(deptIds);
|
||
}
|
||
PageResponse pageResponse = pileStationInfoService.uniAppQueryStationInfoList(queryStationDTO);
|
||
response = new RestApiResponse<>(pageResponse);
|
||
} catch (BusinessException e) {
|
||
logger.warn("查询充电站信息列表warn", e);
|
||
response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||
} catch (Exception e) {
|
||
logger.error("查询充电站信息列表异常 error", e);
|
||
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_PILE_STATION_INFO_ERROR);
|
||
}
|
||
logger.info("查询充电站信息列表 result:{}", JSONObject.toJSONString(response));
|
||
return response;
|
||
}
|
||
|
||
/**
|
||
* 通过站点id查询计费模板列表
|
||
* http://localhost:8080/uniapp/pile/queryBillingPrice/{stationId}
|
||
* @param stationId
|
||
* @return
|
||
*/
|
||
@GetMapping("/queryBillingPrice/{stationId}")
|
||
public RestApiResponse<?> queryBillingPrice(@PathVariable("stationId") String stationId) {
|
||
logger.info("通过站点id查询计费模板列表 params:{}", stationId);
|
||
RestApiResponse<?> response = null;
|
||
try {
|
||
List<BillingPriceVO> billingPriceVOList = pileBillingTemplateService.queryBillingPrice(stationId);
|
||
response = new RestApiResponse<>(billingPriceVOList);
|
||
} catch (Exception e) {
|
||
logger.error("通过站点id查询计费模板列表 error, ", e);
|
||
response = new RestApiResponse<>(e);
|
||
}
|
||
logger.info("通过站点id查询计费模板列表 result:{}", response);
|
||
return response;
|
||
}
|
||
|
||
/**
|
||
* 通过前端参数查询充电枪口列表
|
||
*
|
||
* http://localhost:8080/uniapp/pile/selectConnectorListByParams
|
||
*
|
||
* @param dto
|
||
* @return
|
||
*/
|
||
@PostMapping("/selectConnectorListByParams")
|
||
public RestApiResponse<?> selectConnectorListByParams(HttpServletRequest request, @RequestBody QueryConnectorListDTO dto) {
|
||
logger.info("查询充电枪口列表 params:{}", JSONObject.toJSONString(dto));
|
||
RestApiResponse<?> response = null;
|
||
try {
|
||
PageResponse pageResponse = pileConnectorInfoService.getUniAppConnectorInfoListByParams(dto);
|
||
response = new RestApiResponse<>(pageResponse);
|
||
} catch (Exception e) {
|
||
logger.error("查询充电枪口列表异常", e);
|
||
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_CONNECTOR_INFO_BY_STATION_ID_ERROR);
|
||
}
|
||
logger.info("查询充电枪口列表 result:{}", response);
|
||
return response;
|
||
}
|
||
|
||
/**
|
||
* 根据充电站id查询枪口列表
|
||
* @param request
|
||
* @param dto
|
||
* @return
|
||
*/
|
||
@PostMapping("/selectStationConnectorList")
|
||
public RestApiResponse<?> selectStationConnectorList(HttpServletRequest request, @RequestBody QueryConnectorListDTO dto) {
|
||
logger.info("查询充电枪口列表 params:{}", JSONObject.toJSONString(dto));
|
||
RestApiResponse<?> response = null;
|
||
try {
|
||
PageResponse pageResponse = pileConnectorInfoService.selectStationConnectorList(dto);
|
||
response = new RestApiResponse<>(pageResponse);
|
||
} catch (Exception e) {
|
||
logger.error("查询充电枪口列表异常", e);
|
||
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_CONNECTOR_INFO_BY_STATION_ID_ERROR);
|
||
}
|
||
logger.info("查询充电枪口列表 result:{}", response);
|
||
return response;
|
||
}
|
||
|
||
/**
|
||
* 远程遥控地锁指令 + 生成占桩订单
|
||
*/
|
||
@PostMapping("/remoteGroundLock")
|
||
public RestApiResponse<?> remoteGroundLock(HttpServletRequest request, @RequestBody RemoteGroundLockDTO dto) {
|
||
logger.info("遥控地锁指令 params:{}", JSONObject.toJSONString(dto));
|
||
RestApiResponse<?> response = null;
|
||
try {
|
||
// 校验参数
|
||
if (StringUtils.isBlank(dto.getPileSn()) || StringUtils.isBlank(dto.getConnectorCode())
|
||
|| StringUtils.isBlank(dto.getOperate())) {
|
||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||
}
|
||
// 获取memberId
|
||
dto.setMemberId(getMemberIdByAuthorization(request));
|
||
orderPileOccupyService.remoteGroundLock(dto);
|
||
response = new RestApiResponse<>();
|
||
} catch (Exception e) {
|
||
logger.error("遥控地锁指令 error, ", e);
|
||
response = new RestApiResponse<>(e);
|
||
}
|
||
logger.info("遥控地锁指令 result:{}", response);
|
||
return response;
|
||
}
|
||
|
||
}
|