From 89261bd6dcfeea1d6aee29b5c658a863e62215a4 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 7 Dec 2020 14:55:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B8=B8=E6=88=8F=E4=BA=8C?= =?UTF-8?q?=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/game/service/ScreenService.java | 28 +++++++++---------- game/src/main/resources/application.yml | 4 +-- .../com/ccsens/tall/service/WpsService.java | 2 ++ .../com/ccsens/tall/web/WpsController.java | 4 ++- .../main/java/com/ccsens/util/JwtUtil.java | 11 +++++++- 5 files changed, 30 insertions(+), 19 deletions(-) diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index 981afa49..933586e9 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -131,21 +131,21 @@ public class ScreenService implements IScreenService { gameRecord.setUrl(gameUrl + gameType.getScreenUrl() + "?id=" + gameRecord.getId()); // gameRecord.setQrCodeUrl(gameUrl + gameRecord.getId() + File.separator + gameType.getClientUrl()); -// if("1".equalsIgnoreCase(PropUtil.openWx)){ + if("1".equalsIgnoreCase(PropUtil.openWx)){ //生成二维码 String fileName = "/gameQrCode/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".png"; String path = WebConstant.UPLOAD_PATH_BASE + fileName; - WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path, gameType.getCode()); -// WxXcxUtil.getWxCodeC(WebConstant.QRCODE_GAME+"?id=" + gameRecord.getId() + "&type=" + gameType.getCode(), path, gameType.getCode()); +// WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path, gameType.getCode()); + WxXcxUtil.getWxCodeC(WebConstant.QRCODE_GAME+"?id=" + gameRecord.getId() + "&type=" + gameType.getCode(), path, gameType.getCode()); gameRecord.setQrCodeUrl(PropUtil.qrCode + fileName); log.info("调用微信生成二维码"); -// } else { -// log.info("测试环境,不调用生成二维码"); -// //给一个默认测试的 -// gameRecord.setQrCodeUrl(PropUtil.qrCode + "/gameQrCode/2020-08-19/1597822577181.png"); -// } + } else { + log.info("测试环境,不调用生成二维码"); + //给一个默认测试的 + gameRecord.setQrCodeUrl(PropUtil.qrCode + "/gameQrCode/2020-08-19/1597822577181.png"); + } //查找此任务下的游戏配置表 byte businessType = 8; @@ -207,11 +207,7 @@ public class ScreenService implements IScreenService { } } chromeMessageDto.setReceivers(messageUserList); -//<<<<<<< HEAD -// log.info("给所有成员发送开始游戏的消息:{}",chromeMessageDto.toString()); -// messageService.sendGameMessageWithGetUrl(chromeMessageDto); -// -//======= + messageService.sendGameMessageWithGetUrl(chromeMessageDto,userIdSet); log.info("给所有成员发送消息:{}",chromeMessageDto); log.info("返回游戏信息:{}",urlVo); @@ -1012,8 +1008,10 @@ public class ScreenService implements IScreenService { //生成二维码 String fileName = "/gameQrCode/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".png"; String path = WebConstant.UPLOAD_PATH_BASE + fileName; - WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME - , "id=" + gameRecordNew.getId() + "&type=" + gameType.getCode(), null, path,gameType.getCode()); +// WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecordNew.getId() + "&type=" + gameType.getCode(), null, path,gameType.getCode()); + + WxXcxUtil.getWxCodeC(WebConstant.QRCODE_GAME+"?id=" + gameRecordNew.getId() + "&type=" + gameType.getCode(), path, gameType.getCode()); + gameRecordNew.setQrCodeUrl(PropUtil.qrCode + fileName); log.info("调用微信生成二维码"); } else { diff --git a/game/src/main/resources/application.yml b/game/src/main/resources/application.yml index d082c0ea..5889ff7f 100644 --- a/game/src/main/resources/application.yml +++ b/game/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/WpsService.java b/tall/src/main/java/com/ccsens/tall/service/WpsService.java index b063bdae..f806a485 100644 --- a/tall/src/main/java/com/ccsens/tall/service/WpsService.java +++ b/tall/src/main/java/com/ccsens/tall/service/WpsService.java @@ -336,6 +336,7 @@ public class WpsService implements IWpsService { @Override public WpsVo.FileSave fileSave(String token, String fileId, WpsDto.FileSave fileSave, Part file) throws Exception { + log.info("文件保存service:{}",token); WpsFile wpsFile = saveWpsFile(token, fileId, file,WebConstant.Wps.USER_OPERATION_SAVE, fileSave.get_w_url()); // 返回参数 @@ -425,6 +426,7 @@ public class WpsService implements IWpsService { } private Long getUserId(String token) throws Exception { + log.info("解析token:{}",token); Claims claims = JwtUtil.parseJWT(token, WebConstant.JWT_ACCESS_TOKEN_SECERT); long userId = Long.parseLong(claims.getSubject()); String redisToken = (String)redisUtil.get(RedisKeyManager.getTokenCachedKey(userId)); diff --git a/tall/src/main/java/com/ccsens/tall/web/WpsController.java b/tall/src/main/java/com/ccsens/tall/web/WpsController.java index 7eef3bb2..ee503cf8 100644 --- a/tall/src/main/java/com/ccsens/tall/web/WpsController.java +++ b/tall/src/main/java/com/ccsens/tall/web/WpsController.java @@ -206,8 +206,10 @@ public class WpsController { WpsHeader header = new WpsHeader(); header.setUserAgent(request.getHeader("User-Agent")); String token = request.getHeader("x-wps-weboffice-token"); - if (StrUtil.isEmpty(token)) { + log.info("获取wpsToken:{}",token); + if (StrUtil.isEmpty(token) || "none".equalsIgnoreCase(token)) { token = request.getParameter("_w_token"); + log.info("再次获取wpsToken:{}",token); } header.setToken(token); header.setFileId(request.getHeader("x-weboffice-file-id")); diff --git a/util/src/main/java/com/ccsens/util/JwtUtil.java b/util/src/main/java/com/ccsens/util/JwtUtil.java index 25cf2850..f758daf7 100644 --- a/util/src/main/java/com/ccsens/util/JwtUtil.java +++ b/util/src/main/java/com/ccsens/util/JwtUtil.java @@ -3,6 +3,7 @@ package com.ccsens.util; import cn.hutool.core.codec.Base64; import cn.hutool.core.util.StrUtil; import io.jsonwebtoken.*; +import lombok.extern.slf4j.Slf4j; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; @@ -16,6 +17,7 @@ import java.util.Set; * @Description: * @Date: Created in 17:40 2018/2/1 */ +@Slf4j public class JwtUtil { /** * Jwt Error Constant @@ -59,8 +61,9 @@ public class JwtUtil { JwtBuilder builder = Jwts.builder() .setIssuedAt(now) .signWith(signatureAlgorithm, secretKey); - if(!StrUtil.isEmpty(subject)) + if(!StrUtil.isEmpty(subject)) { builder.setSubject(subject); + } if(extraClaimMap != null){ Set> entrys = extraClaimMap.entrySet(); for(Map.Entry entry:entrys){ @@ -108,9 +111,15 @@ public class JwtUtil { */ public static Claims parseJWT(String jwt, String secret)throws ExpiredJwtException,SignatureException,Exception{ SecretKey secretKey = generalKey(secret); + log.info("JWT解析token:{},,,{}",jwt,secretKey); return Jwts.parser() .setSigningKey(secretKey) .parseClaimsJws(jwt) .getBody(); } + + public static void main(String[] args) throws Exception { + String a = "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MDczMDY4ODYsInN1YiI6IjEyMTc2NTEzNTQ5MTk2MzY5OTIiLCJhdXRoSWQiOiIxMTc3Mzk0MTQ5NzIxMjQ3NzQ0IiwiZXhwIjoxNjA3MzkzMjg2fQ.HSwJca28I2sddgyYf2dzNtn5M-mrPcVmbzvjn9dGZvE"; + parseJWT(a,WebConstant.JWT_ACCESS_TOKEN_SECERT); + } }