This commit is contained in:
Lemon
2023-08-22 17:15:35 +08:00
parent a45c874790
commit eaf23c2253

View File

@@ -0,0 +1,123 @@
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/xixiao")
public class JumpXixiaoController 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<GroundLockInfoVO> 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;
}
}