支付宝登录

This commit is contained in:
Guoqs
2024-06-11 16:30:42 +08:00
parent 0aef83548c
commit d30be0215e
13 changed files with 202 additions and 127 deletions

View File

@@ -131,10 +131,11 @@ public class MemberController extends BaseController {
/**
* 支付寶一键登录
* http://localhost:8080/uniapp/member/wechatLogin
* http://localhost:8080/uniapp/member/alipayLogin
*/
@PostMapping("/alipayLogin")
public RestApiResponse<?> alipayLogin(HttpServletRequest request, @RequestBody WechatLoginDTO dto) {
public RestApiResponse<?> alipayLogin(HttpServletRequest request, @RequestBody AlipayLoginDTO dto) {
logger.info("支付宝小程序登录param:{}", JSON.toJSONString(dto));
RestApiResponse<?> response = null;
try {
// 获取小程序appid
@@ -144,7 +145,7 @@ public class MemberController extends BaseController {
response = new RestApiResponse<>(ImmutableMap.of("memberToken", memberToken));
} catch (Exception e) {
logger.error("支付宝登录异常 param:{}", JSON.toJSONString(dto), e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_WECHAT_LOGIN_ERROR);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_ALIPAY_LOGIN_ERROR);
}
return response;
}
@@ -199,21 +200,21 @@ public class MemberController extends BaseController {
* 获取openId
* http://localhost:8080/uniapp/member/getOpenId
*/
@PostMapping("/getOpenId")
public RestApiResponse<?> getOpenId(HttpServletRequest request, @RequestBody WeixinPayDTO dto) {
logger.info("获取openId param:{}", dto.toString());
RestApiResponse<?> response;
try {
getMemberIdByAuthorization(request);
String openId = memberService.getOpenIdByCode(dto.getCode());
response = new RestApiResponse<>(ImmutableMap.of("openId", openId));
} catch (Exception e) {
logger.error("获取openId error", e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR);
}
logger.info("获取openId result:{}", response);
return response;
}
// @PostMapping("/getOpenId")
// public RestApiResponse<?> getOpenId(HttpServletRequest request, @RequestBody WeixinPayDTO dto) {
// logger.info("获取openId param:{}", dto.toString());
// RestApiResponse<?> response;
// try {
// getMemberIdByAuthorization(request);
// String openId = memberService.getOpenIdByCode(dto.getCode());
// response = new RestApiResponse<>(ImmutableMap.of("openId", openId));
// } catch (Exception e) {
// logger.error("获取openId error", e);
// response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR);
// }
// logger.info("获取openId result:{}", response);
// return response;
// }
/**

View File

@@ -61,47 +61,47 @@ public class PayController extends BaseController {
* http://localhost:8080/uniapp/pay/weixinPay
* @deprecated 使用汇付支付,充值余额
*/
@PostMapping("/weixinPay")
public RestApiResponse<?> weixinPay(HttpServletRequest request, @RequestBody WeixinPayDTO dto) {
logger.info("微信支付 param:{}", dto.toString());
RestApiResponse<?> response;
try {
if (dto != null) {
throw new BusinessException("00500005", "充值功能维护,已有余额可用,推荐使用在线支付");
}
if (StringUtils.isBlank(dto.getCode()) || StringUtils.isBlank(dto.getAmount())) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
}
// 鉴权
String memberId = getMemberIdByAuthorization(request);
if (StringUtils.isBlank(memberId)) {
throw new BusinessException(ReturnCodeEnum.CODE_TOKEN_ERROR);
}
dto.setMemberId(memberId);
// String openId = memberService.getOpenIdByCode(dto.getCode());
MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(memberId);
if (memberBasicInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR);
}
String openId = memberBasicInfo.getOpenId();
dto.setOpenId(openId);
// 充值余额 附加参数
PaymentScenarioDTO paymentScenarioDTO = new PaymentScenarioDTO();
paymentScenarioDTO.setType(ScenarioEnum.BALANCE.getValue());
paymentScenarioDTO.setMemberId(memberId);
dto.setAttach(JSON.toJSONString(paymentScenarioDTO));
dto.setDescription("会员充值余额");
Map<String, Object> weixinMap = orderService.weixinPayV3(dto);
response = new RestApiResponse<>(ImmutableMap.of("weixinMap", weixinMap));
} catch (BusinessException e) {
logger.warn("充值余额支付warn", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.warn("充值余额支付error", e);
response = new RestApiResponse<>();
}
return response;
}
// @PostMapping("/weixinPay")
// public RestApiResponse<?> weixinPay(HttpServletRequest request, @RequestBody WeixinPayDTO dto) {
// logger.info("微信支付 param:{}", dto.toString());
// RestApiResponse<?> response;
// try {
// if (dto != null) {
// throw new BusinessException("00500005", "充值功能维护,已有余额可用,推荐使用在线支付");
// }
// if (StringUtils.isBlank(dto.getCode()) || StringUtils.isBlank(dto.getAmount())) {
// throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
// }
// // 鉴权
// String memberId = getMemberIdByAuthorization(request);
// if (StringUtils.isBlank(memberId)) {
// throw new BusinessException(ReturnCodeEnum.CODE_TOKEN_ERROR);
// }
// dto.setMemberId(memberId);
// // String openId = memberService.getOpenIdByCode(dto.getCode());
// MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(memberId);
// if (memberBasicInfo == null) {
// throw new BusinessException(ReturnCodeEnum.CODE_GET_OPEN_ID_BY_CODE_ERROR);
// }
// String openId = memberBasicInfo.getOpenId();
// dto.setOpenId(openId);
// // 充值余额 附加参数
// PaymentScenarioDTO paymentScenarioDTO = new PaymentScenarioDTO();
// paymentScenarioDTO.setType(ScenarioEnum.BALANCE.getValue());
// paymentScenarioDTO.setMemberId(memberId);
// dto.setAttach(JSON.toJSONString(paymentScenarioDTO));
// dto.setDescription("会员充值余额");
// Map<String, Object> weixinMap = orderService.weixinPayV3(dto);
// response = new RestApiResponse<>(ImmutableMap.of("weixinMap", weixinMap));
// } catch (BusinessException e) {
// logger.warn("充值余额支付warn", e);
// response = new RestApiResponse<>(e.getCode(), e.getMessage());
// } catch (Exception e) {
// logger.warn("充值余额支付error", e);
// response = new RestApiResponse<>();
// }
// return response;
// }
/**
* 7002 支付订单