From d18dc2c5159e0f82ac86ab76b65947a2255c2a98 Mon Sep 17 00:00:00 2001 From: "bo.yang" Date: Fri, 30 Jul 2021 12:02:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/conrtroller/WechatApiController.java | 21 +++++++++++++------ .../controller/system/SysLoginController.java | 4 +--- .../main/resources/templates/loginwechat.html | 2 +- .../service/impl/WechatApiServiceImpl.java | 13 +++++++++--- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/box-test/src/main/java/com/ruoyi/test/conrtroller/WechatApiController.java b/box-test/src/main/java/com/ruoyi/test/conrtroller/WechatApiController.java index 8de1ae7a1..d5347d7d9 100644 --- a/box-test/src/main/java/com/ruoyi/test/conrtroller/WechatApiController.java +++ b/box-test/src/main/java/com/ruoyi/test/conrtroller/WechatApiController.java @@ -2,6 +2,7 @@ package com.ruoyi.test.conrtroller; import com.alibaba.fastjson.JSON; import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.system.service.IWechatApiService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -46,9 +47,13 @@ public class WechatApiController extends BaseController { @ResponseBody public Map SendTextMessageToWechatUser() { List userIdList = new ArrayList<>(); - userIdList.add("2342343243"); - userIdList.add("erqrqwe"); + userIdList.add("2342343243");//错误userId示例 + userIdList.add("erqrqwe");//错误userId示例 + userIdList.add(""); //空UserId示例 userIdList.add("359"); + if(!ShiroUtils.getUserId().equals("359")){ + userIdList.add(String.valueOf(ShiroUtils.getUserId())); + } Map resultMap = wechatApiService.SendTextMessageToWechatUser(userIdList,"哈哈哈!"); return resultMap; } @@ -57,11 +62,15 @@ public class WechatApiController extends BaseController { @ResponseBody public Map SendTextCardMessageToWechatUser() { List userIdList = new ArrayList<>(); - userIdList.add("23456667"); - userIdList.add("355354354"); + userIdList.add("23456667"); //错误userId示例 + userIdList.add("355354354"); //错误userId示例 + userIdList.add(""); //空UserId示例 userIdList.add("359"); - userIdList.add("454"); - userIdList.add("408"); + //userIdList.add("454"); + //userIdList.add("408"); + if(!ShiroUtils.getUserId().equals("359")){ + userIdList.add(String.valueOf(ShiroUtils.getUserId())); + } String title="号外:特大优惠!限时抢购"; String description="今年仅此一次,苹果手机1000元起!欢迎前来购买!走过路过,不要错过!"; String dtailUrl="https://item.jd.com/100008348530.html"; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index 9d1abc8fe..7cd0e251d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -38,17 +38,15 @@ public class SysLoginController extends BaseController String code= request.getParameter("code"); //String state = request.getParameter("state"); String username=wechatApiService.GetLoginNameWithWechatCode(code); - //如果没有获取到用户名,说明验证失败,跳转登录页 + //如果没有获取到登录名,说明验证失败,跳转登录页 if(StringUtils.isEmpty(username)){ return "login"; } String password=""; - Boolean rememberMe=true; map.put("loginType","wechat"); map.put("username",username); map.put("password",password); - return "loginwechat"; diff --git a/ruoyi-admin/src/main/resources/templates/loginwechat.html b/ruoyi-admin/src/main/resources/templates/loginwechat.html index ab13f59d5..8aa641f4f 100644 --- a/ruoyi-admin/src/main/resources/templates/loginwechat.html +++ b/ruoyi-admin/src/main/resources/templates/loginwechat.html @@ -51,7 +51,7 @@ var loginType = [[${loginType}]]; var username = [[${username}]]; var password = [[${password}]]; - var rememberMe = "true"; + var rememberMe = true; $(function () { if (loginType == 'wechat') { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatApiServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatApiServiceImpl.java index d5b91b77c..4be152a3c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatApiServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatApiServiceImpl.java @@ -112,12 +112,19 @@ public class WechatApiServiceImpl implements IWechatApiService { @Override public String GetLoginNameWithWechatCode(String code) { + if(StringUtils.isEmpty(code)){ + return ""; + } //获取访问用户身份ID String userId= GetUseridByWechatLogin(code); - + if(StringUtils.isEmpty(userId)){ + return ""; + } //获取用户邮箱与姓名 WechatUserInfo wechatUserInfo = GetWechatUserInfoDetailByUserId(userId); - + if (null==wechatUserInfo || null==wechatUserInfo.getName()){ + return ""; + } //根据用户id+邮箱名+用户名匹配本地用户对应的userId+邮箱名与用户名 SysUser sysUserWechat=new SysUser(); sysUserWechat.setUserId(Long.parseLong(wechatUserInfo.getUserid())); @@ -131,7 +138,7 @@ public class WechatApiServiceImpl implements IWechatApiService { return ""; //系统里没有用户,没有从OA同步? 处理逻辑待定 } if(count > 1){ - return ""; //本地数据库存在多个姓名与邮箱相同的记录,如何处理?? + return ""; //本地数据库存在多个姓名与邮箱相同的记录,如何处理??--加上了sysUserWechat.setUserId(Long.parseLong(wechatUserInfo.getUserid()));,不存在这种情况了。 } String loginName= userList.get(0).getLoginName(); return loginName;