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.domain.AjaxResult; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.file.AliyunOssUploadUtils; import com.jsowell.common.util.file.FileUtils; import com.jsowell.pile.service.IPileBasicInfoService; import com.jsowell.pile.vo.uniapp.GroundLockInfoVO; import com.jsowell.pile.vo.uniapp.PileConnectorVO; import com.jsowell.service.PileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.util.List; @Anonymous @RestController @RequestMapping("/app-xcx-h5") public class JumpController extends BaseController { @Autowired private PileService pileService; @Autowired private IPileBasicInfoService pileBasicInfoService; /** * 查询充电桩详情 * http://localhost:8080/app-xcx-h5/pile/pileDetail/{pileSn} */ @GetMapping("/pile/pileDetail/{pileSn}") public RestApiResponse getPileDetail(HttpServletRequest request, @PathVariable("pileSn") String pileSn) { logger.info("app-xcx-h5查询充电桩详情 param:{}", pileSn); logger.info("User-Agent:{}", request.getHeader("user-agent")); RestApiResponse response = null; try { PileConnectorVO vo = pileService.getPileDetailByPileSn(pileSn); response = new RestApiResponse<>(vo); } catch (BusinessException e) { logger.warn("app-xcx-h5查询充电桩详情 warn", e); response = new RestApiResponse<>(e.getCode(), e.getMessage()); } catch (Exception e) { logger.error("app-xcx-h5查询充电桩详情 error", e); response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_PILE_DETAIL_ERROR); } logger.info("app-xcx-h5查询充电桩详情 result:{}", JSONObject.toJSONString(response)); return response; } /** * 查询充电枪口详情 * http://localhost:8080/app-xcx-h5/pile/connectorDetail/{pileConnectorCode} */ @GetMapping("/pile/connectorDetail/{pileConnectorCode}") public RestApiResponse getConnectorDetail(HttpServletRequest request, @PathVariable("pileConnectorCode") String pileConnectorCode) { logger.info("app-xcx-h5查询充电枪口详情 param:{}", pileConnectorCode); logger.info("User-Agent:{}", request.getHeader("user-agent")); RestApiResponse response = null; try { PileConnectorVO vo = pileService.getConnectorDetail(pileConnectorCode); response = new RestApiResponse<>(vo); } catch (BusinessException e) { logger.warn("app-xcx-h5查询充电枪口详情 warn param:{}", pileConnectorCode, e); response = new RestApiResponse<>(e.getCode(), e.getMessage()); } catch (Exception e) { logger.error("app-xcx-h5查询充电枪口详情 error param:{}", pileConnectorCode, e); response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_PILE_DETAIL_ERROR); } logger.info("app-xcx-h5查询充电枪口详情 param:{} result:{}", pileConnectorCode, JSONObject.toJSONString(response)); return response; } /** * 上传到阿里云oss * http://localhost:8080/app-xcx-h5/uploadOSS * @param file * @return */ @CrossOrigin @PostMapping("/uploadOSS") public AjaxResult uploadFileOSS(MultipartFile file) { try { String url = AliyunOssUploadUtils.uploadFile(file); AjaxResult ajax = AjaxResult.success(); ajax.put("url", url); ajax.put("fileName", FileUtils.getName(url)); ajax.put("newFileName", FileUtils.getName(url)); ajax.put("originalFilename", file.getOriginalFilename()); return ajax; }catch (Exception e){ return AjaxResult.error(e.getMessage()); } } /** * 获取地锁列表信息 * http://localhost:8080/app-xcx-h5/getGroundLockInfo/{stationId} * @param stationId * @return */ @GetMapping("/getGroundLockInfo/{stationId}") public RestApiResponse getGroundLockInfo(@PathVariable("stationId") String stationId) { logger.info("获取地锁列表信息 params:{}", stationId); RestApiResponse response = null; try { List list = pileBasicInfoService.getGroundLockInfo(stationId); response = new RestApiResponse<>(list); } catch (Exception e) { logger.error("获取地锁列表信息 error, ", e); response = new RestApiResponse<>(e); } logger.info("获取地锁列表信息 result:{}", response); return response; } }