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