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.pile.domain.ykcCommond.RemoteControlGroundLockCommand; import com.jsowell.pile.dto.QueryConnectorListDTO; import com.jsowell.pile.dto.QueryStationDTO; import com.jsowell.pile.service.IPileConnectorInfoService; import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.service.YKCPushCommandService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * 充电桩相关接口 * 提供给小程序调用 */ // 不登录直接访问 @Anonymous @RestController @RequestMapping("/uniapp/pile") public class PileController extends BaseController { @Autowired private YKCPushCommandService ykcPushCommandService; @Autowired private IPileStationInfoService pileStationInfoService; @Autowired private IPileConnectorInfoService pileConnectorInfoService; /** * 查询充电站信息列表(主页) * * 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 { 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; } /** * 通过前端参数查询充电枪口列表 * * 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; } /** * 远程遥控地锁指令 * @param command * @return */ @PostMapping("/remoteGroundLock") public RestApiResponse remoteGroundLock(@RequestBody RemoteControlGroundLockCommand command) { logger.info("遥控地锁指令 params:{}", JSONObject.toJSONString(command)); RestApiResponse response = null; try { ykcPushCommandService.pushRemoteControlGroundLock(command); } catch (Exception e) { logger.error("遥控地锁指令 error, ", e); response = new RestApiResponse<>(e); } logger.info("遥控地锁指令 result:{}", response); return response; } }