From bc2fa8b08c72469e31433d1f9e70e8077f63d49b Mon Sep 17 00:00:00 2001 From: 胡仁荣 <897853850@qq.com> Date: 星期五, 07 四月 2023 17:07:48 +0800 Subject: [PATCH] 直播 --- src/main/java/com/qxueyou/scc/sys/action/LoginController.java | 14 +++++++++++--- src/main/java/com/qxueyou/scc/wx/service/IWechatService.java | 1 + src/main/java/com/qxueyou/scc/wx/service/impl/WechatService.java | 15 +++++++++++++++ pom.xml | 7 +++++++ 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index d9f2530..2732c81 100644 --- a/pom.xml +++ b/pom.xml @@ -435,6 +435,13 @@ <classifier>jdk15</classifier><!-- 鎸囧畾jdk鐗堟湰 --> </dependency> + + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.5.2</version> + </dependency> + </dependencies> <build> <plugins> diff --git a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java index 506ddd9..555edcc 100644 --- a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java +++ b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java @@ -128,10 +128,18 @@ */ @PostMapping("/auth/wechat/login") @ApiOperation("寰俊鐧诲綍") - public Result wechatLogin(String code) { + public Result wechatLogin(String code,String number) { JSONObject sessionKeyOrOpenId = wechatService.getSessionKeyOrOpenId(code); - System.out.println(sessionKeyOrOpenId); - return new Result(true,"cg",sessionKeyOrOpenId); + String phone = wechatService.getNumber(number); + String hql = "from User where deleteFlag is false and mobilePhone = ? "; + List<Object> params = CollectionUtils.newList(phone); + User user = commonDAO.findUnique(hql,params, User.class); + if(user==null){ + User user1=new User(); + user1.setMobilePhone(phone); + commonDAO.save(user1); + } + return new Result(true,"cg",user); // return new Result(true,"token",securityProperties.getTokenStartWith() + token,"user",user); } diff --git a/src/main/java/com/qxueyou/scc/wx/service/IWechatService.java b/src/main/java/com/qxueyou/scc/wx/service/IWechatService.java index 2cab94b..ee291ee 100644 --- a/src/main/java/com/qxueyou/scc/wx/service/IWechatService.java +++ b/src/main/java/com/qxueyou/scc/wx/service/IWechatService.java @@ -19,6 +19,7 @@ JSONObject getSessionKeyOrOpenId(String code); + String getNumber(String number); // Result isBindWx(String userId); // Result getSignature(String url); diff --git a/src/main/java/com/qxueyou/scc/wx/service/impl/WechatService.java b/src/main/java/com/qxueyou/scc/wx/service/impl/WechatService.java index dd7bb86..5f98963 100644 --- a/src/main/java/com/qxueyou/scc/wx/service/impl/WechatService.java +++ b/src/main/java/com/qxueyou/scc/wx/service/impl/WechatService.java @@ -65,6 +65,21 @@ JSONObject jsonObject = JSON.parseObject(HttpClientUtil.doPost(requestUrl, requestUrlParam)); return jsonObject; } + + @Override + public String getNumber(String number) { + String requestUrl = "https://api.weixin.qq.com/wxa/business/getuserphonenumber"; + + Map<String, String> requestUrlParam = new HashMap<>(); + + requestUrlParam.put("access_token", "access_token"); + + requestUrlParam.put("code", number); + + String s = HttpClientUtil.doPost(requestUrl, requestUrlParam); + + return s; + } // private String getWechatHeadImgUrl(String unionId) { // WechatUserDO wxUser = this.template.findOne(Query.query(condition().and("unionId").is(unionId)), WechatUserDO.class); // return wxUser.getHeadImgUrl(); -- Gitblit v1.8.0