From e29f147aab5b0b0b794d611b522b67b94423e3cf Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期四, 07 九月 2023 17:56:57 +0800 Subject: [PATCH] 修改bug --- user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java | 86 ++++++++++++++++++++++++++++-------------- 1 files changed, 57 insertions(+), 29 deletions(-) diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java b/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java index 43189b1..4c4dc09 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserLoginUtils.java @@ -2,51 +2,79 @@ import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.symmetric.AES; +import com.yuanchu.limslaboratory.mapper.RoleManageMapper; +import com.yuanchu.limslaboratory.mapper.UserMapper; +import com.yuanchu.limslaboratory.pojo.Menu; +import com.yuanchu.limslaboratory.pojo.RoleMenu; import com.yuanchu.limslaboratory.pojo.User; +import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto; import com.yuanchu.limslaboratory.shiro.utils.JwtUtils; +import com.yuanchu.limslaboratory.utils.MyUtil; import com.yuanchu.limslaboratory.utils.RedisUtil; import com.yuanchu.limslaboratory.vo.Result; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.nio.charset.StandardCharsets; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; @Component public class UserLoginUtils { - @Autowired - private JwtUtils jwtUtils; + @Resource + private UserClient userClient; + + @Value("${login.userID}") + private String LoginUserID; + + @Value("${login.secret}") + private String LoginSecret; + public Result<Map<String, Object>> LoginExamine(User user){ - String token = JwtUtils.sign(user.getAccount()); - HashMap<String, Object> mapRedis = new HashMap<>(); - mapRedis.put("id", user.getId()); - mapRedis.put("account", user.getAccount()); - mapRedis.put("name", user.getName()); - mapRedis.put("enterpriseId", user.getEnterpriseId()); - - - String adminMD5 = SecureUtil.md5(SecureUtil.md5(user.getAccount())); - // 鏋勫缓 - AES aes = SecureUtil.aes(adminMD5.getBytes(StandardCharsets.UTF_8)); - String admins = aes.encryptHex(user.getAccount()); - mapRedis.put("sessionLayerId", SecureUtil.md5(admins)); - mapRedis.put("roleId",user.getRoleId()); - - //瀛樺叆redis,浜屼釜灏忔椂鍚庡垹闄� - RedisUtil.set(token, mapRedis, 120); - // - RedisUtil.set("access_token",token,120); - // 灏嗙鍙戠殑 JWT token 杩斿洖缁欏墠绔� - HashMap<String, Object> map = new HashMap<>(); - String refresh = JwtUtils.sign(user.getAccount()); - map.put("token", token); - map.put("refresh", refresh); - RedisUtil.set(user.getAccount(), map, 168); - return Result.success(map); + Map<String, Object> mapData = new HashMap<>(); + mapData.put("LoginUserID", LoginUserID); + mapData.put("LoginSecret", LoginSecret); + Result<?> code = userClient.BusynessUserLogin(mapData); + if (code.getCode() == 200){ + Result<?> result = userClient.BusynessUserLoginToken(code.getData().toString()); + if (result.getCode() == 200){ + Map data = (Map) result.getData(); + String token = data.get("token").toString(); + data.remove("token"); + HashMap<String, Object> mapRedis = new HashMap<>(); + mapRedis.put("id", user.getId()); + mapRedis.put("account", user.getAccount()); + mapRedis.put("name", user.getName()); + mapRedis.put("enterpriseId", user.getEnterpriseId()); + mapRedis.put("data", data); + String adminMD5 = SecureUtil.md5(SecureUtil.md5(user.getAccount())); + // 鏋勫缓 + mapRedis.put("sessionLayerId", adminMD5); + mapRedis.put("roleId",user.getRoleId()); + //瀛樺叆redis,浜屼釜灏忔椂鍚庡垹闄� + RedisUtil.set(token, mapRedis, 120); + // + RedisUtil.set("access_token",token,120); + // 灏嗙鍙戠殑 JWT token 杩斿洖缁欏墠绔� + HashMap<String, Object> map = new HashMap<>(); + String refresh = JwtUtils.sign(user.getAccount()); + map.put("token", token); + map.put("refresh", refresh); + RedisUtil.set(user.getAccount(), map, 168); + return Result.success(map); + } else { + return Result.fail(result.getMessage()); + } + } else { + return Result.fail(code.getMessage()); + } } } -- Gitblit v1.9.3