From 923550235e401caa17a010737c7c9c96222195d3 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期六, 28 十二月 2024 10:02:44 +0800
Subject: [PATCH] 修改日志文件存储名称
---
pms-parent/pms-web-wechat/src/main/java/com/dy/pmsWechat/login/WeChatService.java | 36 ++++++++++++++++++++++++++++++++++--
1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/pms-parent/pms-web-wechat/src/main/java/com/dy/pmsWechat/login/WeChatService.java b/pms-parent/pms-web-wechat/src/main/java/com/dy/pmsWechat/login/WeChatService.java
index ecc98e2..983e4d9 100644
--- a/pms-parent/pms-web-wechat/src/main/java/com/dy/pmsWechat/login/WeChatService.java
+++ b/pms-parent/pms-web-wechat/src/main/java/com/dy/pmsWechat/login/WeChatService.java
@@ -1,11 +1,16 @@
package com.dy.pmsWechat.login;
import com.alibaba.fastjson2.JSONObject;
+import com.dy.pmsGlobal.daoMp.MpOpenIdMapper;
+import com.dy.pmsGlobal.pojoMp.MpOpenId;
+import com.dy.pmsWechat.util.JwtUtil;
import com.dy.pmsWechat.util.RestTemplateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.IOException;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -21,10 +26,22 @@
@Value("${wechat.loginUrl}")
private String loginUrl;
+ @Value("${wechat.jwt.secret-key}")
+ private String secretKey;
+
+ @Value("${wechat.jwt.ttl}")
+ private long ttlMillis;
+
private final RestTemplateUtil restTemplateUtil;
+ private MpOpenIdMapper mpOpenIdDao;
public WeChatService(RestTemplateUtil restTemplateUtil) {
this.restTemplateUtil = restTemplateUtil;
+ }
+
+ @Autowired
+ private void setMpOpenIdDao(MpOpenIdMapper mpOpenIdDao) {
+ this.mpOpenIdDao = mpOpenIdDao;
}
public JSONObject login(String code) throws IOException {
@@ -34,7 +51,22 @@
queryParams.put("js_code", code);
queryParams.put("grant_type", "authorization_code");
Map<String, String> headerParams = new HashMap<>();
- return restTemplateUtil.get(loginUrl, queryParams, headerParams);
-
+ JSONObject wxMpUser = restTemplateUtil.get(loginUrl, queryParams, headerParams);
+ String openId = wxMpUser.get("openid").toString();
+ //鑾峰彇寰俊淇℃伅娣诲姞鍒版暟鎹簱 //鍏堟牴鎹畂penid鏌ヨ鐢ㄦ埛淇℃伅
+ MpOpenId userInfo = mpOpenIdDao.getInfoByOpenId(openId);
+ if(userInfo == null){ //鏁版嵁搴撴病鏈夋椂娣诲姞鍒版暟鎹簱涓�
+ userInfo = new MpOpenId();
+ userInfo.setOpenId(openId);
+ userInfo.setCreateTime(new Date());
+ mpOpenIdDao.insert(userInfo);
+ }
+ //鎺堟潈瀹屾垚涔嬪悗锛岃烦杞埌鍏蜂綋鐨勫姛鑳介〉闈�
+ //鐢熸垚token,鎸夌収涓�瀹氳鍒欑敓鎴愬瓧绗︿覆锛屽彲浠ュ寘鍚敤鎴蜂俊鎭�
+ //鐧婚檰controller涓敓鎴愶紝杩斿洖缁欏鎴风
+ Map<String, Object> claims = new HashMap<>();
+ claims.put("openId",openId);
+ String token = JwtUtil.createJwt(secretKey,ttlMillis,claims);
+ return new JSONObject().fluentPut("token",token);
}
}
\ No newline at end of file
--
Gitblit v1.8.0