diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java index efa464146..1cffbe6fa 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java @@ -1,9 +1,11 @@ package com.jsowell.api.uniapp; import com.alibaba.fastjson2.JSON; +import com.jsowell.common.UserAgentUtils; 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.adapay.AdapayPayChannelEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; @@ -110,18 +112,12 @@ public class JumpController extends BaseController { @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")); + String requestSource = UserAgentUtils.determineRequestSource(request); + logger.info("查询充电枪口详情-User-Agent:{}, 请求来源:{}", request.getHeader("user-agent"), requestSource); RestApiResponse response = null; // 截取桩号 String pileSn = StringUtils.substring(pileConnectorCode, 0, 14); - String memberId = null; - try { - memberId = getMemberIdByAuthorization(request); - } catch (Exception e) { - logger.error("进入充电桩详情做一下鉴权", e); - } - try { // 如果对接了类似华为平台的第三方平台,先修改一下枪口状态 updateThirdPartyConnectorStatus(pileSn); @@ -130,7 +126,13 @@ public class JumpController extends BaseController { } try { - // 进入充电桩详情做一下鉴权 + String memberId = null; + // 进入充电桩详情做一下鉴权, 请求来源来自微信或者支付宝,必须校验登录状态 + if (StringUtils.equals(requestSource, AdapayPayChannelEnum.WX_LITE.getValue()) + || StringUtils.equals(requestSource, AdapayPayChannelEnum.ALIPAY_LITE.getValue())) { + memberId = getMemberIdByAuthorization(request); + } + PileConnectorVO vo = pileService.getConnectorDetail(pileConnectorCode); if (StringUtils.isNotBlank(memberId)) { addMember2MemberGroup(memberId, vo);