From 5a59d1dfac266495206ed897b9b5228a97e9e6c1 Mon Sep 17 00:00:00 2001 From: ck <851316342@qq.com> Date: Wed, 12 Aug 2020 13:30:47 +0800 Subject: [PATCH] up --- .../bsd/say/controller/WechatController.java | 25 +++++++++++++++++++ .../bsd/say/service/impl/WeixinService.java | 14 +++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/bsd/say/controller/WechatController.java b/src/main/java/com/bsd/say/controller/WechatController.java index a3a93e2..c57a5cf 100644 --- a/src/main/java/com/bsd/say/controller/WechatController.java +++ b/src/main/java/com/bsd/say/controller/WechatController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.api.R; +import com.bsd.say.beans.AjaxRequest; import com.bsd.say.beans.AjaxResult; import com.bsd.say.entities.Record; import com.bsd.say.mapper.RecordMapper; @@ -29,6 +30,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; +import java.util.Map; @RestController @RequestMapping("wechat") @@ -184,4 +186,27 @@ public class WechatController { return ajaxResult; } + @RequestMapping("get-sign") + public AjaxResult getSign(@RequestBody AjaxRequest ajaxRequest){ + AjaxResult ajaxResult = new AjaxResult(); + JSONObject data = ajaxRequest.getData(); + if (data == null){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("data missing"); + return ajaxResult; + }else { + String url = data.getString("url"); + if (StringUtils.isEmpty(url)){ + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg("url missing"); + return ajaxResult; + }else { + Map sign = weixinService.getSign(url); + ajaxResult.setRetmsg("SUCCESS"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(sign); + } + } + return ajaxResult; + } } diff --git a/src/main/java/com/bsd/say/service/impl/WeixinService.java b/src/main/java/com/bsd/say/service/impl/WeixinService.java index 08e2d45..70b3542 100644 --- a/src/main/java/com/bsd/say/service/impl/WeixinService.java +++ b/src/main/java/com/bsd/say/service/impl/WeixinService.java @@ -7,6 +7,7 @@ import com.bsd.say.service.WxOpenServiceDemo; import com.bsd.say.util.AESWithJCEUtils; import com.bsd.say.util.HttpRequestUtils; import com.bsd.say.util.LogUtils; +import com.bsd.say.util.wechat.Sign; import com.sun.org.apache.bcel.internal.generic.NEW; import me.chanjar.weixin.open.api.impl.WxOpenInRedisConfigStorage; import me.chanjar.weixin.open.api.impl.WxOpenMessageRouter; @@ -146,7 +147,7 @@ public class WeixinService extends WxOpenServiceImpl { /** * 通过accessToken刷新ticket */ - public void getTicket(){ + public String getTicket(){ String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456"); JSONObject result2 = JSONObject.parseObject(result1); String access_token = result2.getString("access_token"); @@ -154,7 +155,16 @@ public class WeixinService extends WxOpenServiceImpl { String ticketResult = HttpRequestUtils.sendGet(getTicketNewUrl); JSONObject ticketJson = JSONObject.parseObject(ticketResult); String jsapi_ticket = ticketJson.getString("ticket"); - redisTemplate.opsForValue().set("jsapi_ticket",jsapi_ticket); +// redisTemplate.opsForValue().set("jsapi_ticket",jsapi_ticket); + return jsapi_ticket; } + public Map getSign(String url){ + String jsapiTicket = getTicket(); + logger.info("jsapiTicket:"+ jsapiTicket); + Map sign = Sign.sign(jsapiTicket,url); + sign.put("appId",appId); + logger.info("sign:" + sign); + return sign; + } }