处理获取手机号

master
382696293@qq.com 2 years ago
parent db2ef78ab7
commit fe0837c486

@ -36,8 +36,7 @@ public class UserMemberController extends BaseController {
*/ */
@PostMapping("/upgradeMember") @PostMapping("/upgradeMember")
public AjaxResult upgradeMember(@RequestParam(value = "code") String code) throws Exception { public AjaxResult upgradeMember(@RequestParam(value = "code") String code) throws Exception {
wxUserMemberService.upgradeMember(code); return AjaxResult.success("获取成功", wxUserMemberService.upgradeMember(code));
return AjaxResult.success();
} }
/** /**

@ -8,7 +8,7 @@ public interface IWxUserMemberService {
LoginUserVo login(String code) throws Exception; LoginUserVo login(String code) throws Exception;
void upgradeMember(String code) throws Exception; String upgradeMember(String code) throws Exception;
void updateUser(UserMemberUpdateVo userMemberUpdateVo); void updateUser(UserMemberUpdateVo userMemberUpdateVo);
} }

@ -99,7 +99,7 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
} }
@Override @Override
public void upgradeMember(String code) throws Exception { public String upgradeMember(String code) throws Exception {
String accessToken = MiniProgramUtils.getAccessToken(SecurityUtils.getLoginUser().getWxUserMember().getOpenid()); String accessToken = MiniProgramUtils.getAccessToken(SecurityUtils.getLoginUser().getWxUserMember().getOpenid());
if (StringUtils.isBlank(accessToken)) { if (StringUtils.isBlank(accessToken)) {
throw new ServiceException("获取用户手机号码失败"); throw new ServiceException("获取用户手机号码失败");
@ -109,11 +109,12 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
String result = MiniProgramUtils.getPhone(code, accessToken); String result = MiniProgramUtils.getPhone(code, accessToken);
logger.info("请求微信服务器获取手机号码返回结果:{}", result); logger.info("请求微信服务器获取手机号码返回结果:{}", result);
WxCode2PhoneRet wxCode2PhoneRet = JSON.parseObject(result, WxCode2PhoneRet.class); WxCode2PhoneRet wxCode2PhoneRet = JSON.parseObject(result, WxCode2PhoneRet.class);
if (wxCode2PhoneRet.getErrcode() != null) { if (wxCode2PhoneRet.getErrcode() != 0) {
logger.error("获取用户手机号码失败: {}", wxCode2PhoneRet.getErrmsg()); logger.error("获取用户手机号码失败: {}", wxCode2PhoneRet.getErrmsg());
throw new ServiceException("获取用户手机号码失败"); throw new ServiceException("获取用户手机号码失败");
} }
wxUserMemberMapper.upgradeMember(wxCode2PhoneRet.getPhoneInfo().getPhoneNumber(), SecurityUtils.getWxUserId().intValue()); wxUserMemberMapper.upgradeMember(wxCode2PhoneRet.getPhoneInfo().getPhoneNumber(), SecurityUtils.getWxUserId().intValue());
return wxCode2PhoneRet.getPhoneInfo().getPhoneNumber();
} }
@Override @Override

@ -107,7 +107,7 @@ public class MiniProgramUtils {
public static String getPhone(String code, String accessToken) throws Exception { public static String getPhone(String code, String accessToken) throws Exception {
Map<String, String> params = new HashMap(); Map<String, String> params = new HashMap();
params.put("code", code); params.put("code", code);
return HttpClientUtils.postParameters(wxConfig.getObtainPhoneUrl() + "?access_token=" + accessToken, params); return HttpClientUtils.postParameters(wxConfig.getObtainPhoneUrl() + "?access_token=" + accessToken, JSON.toJSONString(params));
} }
public static String getAccessToken(String openid) throws Exception { public static String getAccessToken(String openid) throws Exception {

@ -5,7 +5,7 @@
"author": "花至", "author": "花至",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve",
"build:prod": "vue-cli-service build", "build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",

Loading…
Cancel
Save