diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/kcGongkaike/mapper/xml/KcGongkaikeMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/kcGongkaike/mapper/xml/KcGongkaikeMapper.xml index 3dc7afae..9ea3f4b2 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/kcGongkaike/mapper/xml/KcGongkaikeMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/kcGongkaike/mapper/xml/KcGongkaikeMapper.xml @@ -5,10 +5,10 @@ diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/GetPostUntil.java b/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/GetPostUntil.java new file mode 100644 index 00000000..8466abf5 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/GetPostUntil.java @@ -0,0 +1,126 @@ +package org.jeecg.modules.tencent.utils; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.URL; +import java.net.URLConnection; +import java.util.List; +import java.util.Map; + +public class GetPostUntil { + /** + * 向指定URL发送GET方法的请求 + * + * @param url + * 发送请求的URL + * @param param + * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return URL 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String param) { + String result = ""; + BufferedReader in = null; + try { + String urlNameString = url + "?" + param; + URL realUrl = new URL(urlNameString); + // 打开和URL之间的连接 + URLConnection connection = realUrl.openConnection(); + // 设置通用的请求属性 + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 建立实际的连接 + connection.connect(); + // 获取所有响应头字段 + Map> map = connection.getHeaderFields(); + // 遍历所有的响应头字段 + for (String key : map.keySet()) { + System.out.println(key + "--->" + map.get(key)); + } + // 定义 BufferedReader输入流来读取URL的响应 + in = new BufferedReader(new InputStreamReader( + connection.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送GET请求出现异常!" + e); + e.printStackTrace(); + } + // 使用finally块来关闭输入流 + finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } + return result; + } + + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url + * 发送请求的 URL + * @param param + * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendPost(String url, String param) { + PrintWriter out = null; + BufferedReader in = null; + String result = ""; + try { + URL realUrl = new URL(url); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + // 设置通用的请求属性 + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 发送POST请求必须设置如下两行 + conn.setDoOutput(true); + conn.setDoInput(true); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // 发送请求参数 + out.print(param); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 + in = new BufferedReader( + new InputStreamReader(conn.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送 POST 请求出现异常!"+e); + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally{ + try{ + if(out!=null){ + out.close(); + } + if(in!=null){ + in.close(); + } + } + catch(IOException ex){ + ex.printStackTrace(); + } + } + return result; + } +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/TencentUtils.java b/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/TencentUtils.java index d0648a7b..49cefdef 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/TencentUtils.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/tencent/utils/TencentUtils.java @@ -1,5 +1,6 @@ package org.jeecg.modules.tencent.utils; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -24,12 +25,10 @@ import org.jeecg.common.util.DateUtils; import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao; import org.jeecg.modules.kc.ktgl.service.IKcKetangbiaoService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -52,20 +51,26 @@ public class TencentUtils extends JeecgController【高级】>【restApi】中进行查看。 - profile.setAppId("214887356"); + profile.setAppId(AppId); // 用户子账号或开发的应用 ID,企业管理员可以登录 腾讯会议官网,单击右上角【用户中心】 // 在左侧菜单栏中的【企业管理】>【高级】>【restApi】中进行查看(如存在 SdkId 则必须填写,早期申请 API 且未分配 SdkId 的客户可不填写)。 - profile.setSdkId("21830121448"); + profile.setSdkId(SdkId); // 请求域名 profile.setHost("https://api.meeting.qq.com"); // 申请的安全凭证密钥对中的 SecretId,传入请求header,对应X-TC-Key - profile.setSecretId("TolxEfbUvmipPU28J7fwXq40Bxpguv70"); + profile.setSecretId(SecretId); // 申请的安全凭证密钥对中的 Secretkey,用户签名计算 - profile.setSecretKey("Hr2RJSYHWAicJrHH4imSphIXnLZhgG3rYmE2UrI484qjuBwJ"); + profile.setSecretKey(SecretKey); // 是否开启请求日志,开启后会打印请求和返回的详细日志 profile.setDebug(true); // 设置请求超时时间,单位s @@ -203,4 +208,31 @@ public class TencentUtils extends JeecgController"+errorTitle; return Result.OK(resMessage); } + + + + /** + * 获取openid + * @param + * @param + * @return + */ + @ApiOperation(value="获取openId", notes="获取openId") + @CrossOrigin + @GetMapping("/getopenid") + @ResponseBody + public String getopenid(String code,HttpServletRequest request, HttpServletResponse response){ + String appid= AppId; + String secret = SecretId; + response.setHeader("Access-Control-Allow-Origin", "*"); + /*星号表示所有的域都可以接受,*/ + response.setHeader("Access-Control-Allow-Methods", "GET,POST"); + String wxLoginUrl = "https://api.weixin.qq.com/sns/oauth2/access_token"; + String param = "appid="+appid+"&secret="+secret+"&code="+code+"&grant_type=authorization_code"; + String jsonString = GetPostUntil.sendGet(wxLoginUrl, param); + JSONObject json = JSONObject.parseObject(jsonString); + String openid = json.getString("openid"); + System.out.println("openid###############"+openid); + return openid; + } }