From 132ca04e5eac6cf32c6ad8048b34cf038a3db08e Mon Sep 17 00:00:00 2001 From: wgf <121463602@qq.com> Date: Mon, 21 Aug 2023 16:08:42 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=BE=AE=E4=BF=A1=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ibeetl/jlw/service/MsgHandler.java | 4 +- .../com/ibeetl/jlw/web/WeiXinController.java | 40 +++++++++++++++++-- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/service/MsgHandler.java b/web/src/main/java/com/ibeetl/jlw/service/MsgHandler.java index c7f14b1e..71b8e855 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/MsgHandler.java +++ b/web/src/main/java/com/ibeetl/jlw/service/MsgHandler.java @@ -117,7 +117,9 @@ public class MsgHandler extends AbstractHandler { CoreUserWxQuery coreUserWxQuery2 = new CoreUserWxQuery(); coreUserWxQuery2.setUserId(Long.parseLong(userId)); CoreUserWx info2 = coreUserWxService.getInfo(coreUserWxQuery2); - if (info2 != null || info1 != null) { + + //判断是否已经绑定 + if (info2 != null && info1 != null) { map.put("type", "bind"); map.put("status", "error"); map.put("token", "绑定失败,已经绑定"); diff --git a/web/src/main/java/com/ibeetl/jlw/web/WeiXinController.java b/web/src/main/java/com/ibeetl/jlw/web/WeiXinController.java index 36966369..b482673c 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/WeiXinController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/WeiXinController.java @@ -2,15 +2,19 @@ package com.ibeetl.jlw.web; import cn.hutool.core.util.IdUtil; import cn.hutool.extra.qrcode.QrCodeUtil; +import cn.jlw.Interceptor.ResponseControllerAdvice; import cn.jlw.Interceptor.SCoreUser; import cn.jlw.token.TokenService; import cn.jlw.webSocket.WebSocketServer; import com.ibeetl.admin.core.conf.WxMpConfig; +import com.ibeetl.admin.core.dao.CoreUserDao; import com.ibeetl.admin.core.entity.CoreUser; +import com.ibeetl.admin.core.service.CoreUserService; import com.ibeetl.admin.core.util.map.MapUtil; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.CoreUserWx; import com.ibeetl.jlw.entity.Student; +import com.ibeetl.jlw.entity.SysLog; import com.ibeetl.jlw.service.CoreUserWxService; import com.ibeetl.jlw.service.MsgHandler; import com.ibeetl.jlw.service.StudentService; @@ -25,16 +29,14 @@ import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; import me.chanjar.weixin.mp.bean.result.WxMpUser; import org.apache.commons.httpclient.URIException; +import org.beetl.sql.core.query.Query; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 微信登录相关接口 @@ -62,6 +64,9 @@ public class WeiXinController { @Autowired private TokenService tokenService; + @Autowired + private CoreUserDao coreUserDao; + //region 公众号 @GetMapping(produces = "text/plain;charset=utf-8") @@ -123,6 +128,33 @@ public class WeiXinController { } + /** + * 获取公众号二维码 -学校端、超级管理员端 + * @param id 登录用户绑定 + * @return + * @throws WxErrorException + */ + @GetMapping("/api/getQrCodeAdmin") + public JsonResult getQrCodeAdmin(Long id) throws WxErrorException { + if (Objects.isNull(id)){ + return JsonResult.failMessage("请登录后再操作"); + } + CoreUser coreUser = coreUserDao.getSQLManager().lambdaQuery(CoreUser.class) + .andEq(CoreUser::getId, id).single(); + if (Objects.isNull(coreUser)){ + return JsonResult.success("查询不到用户"); + } + + WxMpQrcodeService qrcodeService = weixinService.getQrcodeService(); + WxMpQrCodeTicket wxMpQrCodeTicket = qrcodeService.qrCodeCreateTmpTicket(coreUser.getId() + "", 2592000); + String imgUrl = qrcodeService.qrCodePictureUrl(wxMpQrCodeTicket.getTicket()); + Map map = new HashMap<>(); + map.put("imgUrl", imgUrl); + map.put("userId", coreUser.getId()); + return JsonResult.success(map); + } + + /** * 接收微信公众号推送