From d21e551b42746e5c689c96e584042e418083ff9b Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 11 Mar 2021 16:06:18 +0800 Subject: [PATCH] tokenUtils更新 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 106 insertions(+), 0 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java index 6dba8fb..53aee77 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java @@ -1,10 +1,23 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.ManageAccount; +import com.moral.api.entity.ManageMenu; +import com.moral.api.entity.ManageRole; import com.moral.api.mapper.ManageAccountMapper; +import com.moral.api.mapper.ManageMenuMapper; +import com.moral.api.mapper.ManageRoleMapper; import com.moral.api.service.ManageAccountService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.util.AESUtils; +import com.moral.util.MD5Utils; +import com.moral.util.TokenUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import javax.annotation.Resource; +import java.util.*; /** * <p> @@ -17,4 +30,97 @@ @Service public class ManageAccountServiceImpl extends ServiceImpl<ManageAccountMapper, ManageAccount> implements ManageAccountService { + @Value("${AES.KEY}") + private String AESKey; + @Resource + ManageAccountMapper accountMapper; + @Resource + ManageRoleMapper roleMapper; + @Resource + ManageMenuMapper manageMenuMapper; + + /** + * @Description: ������ + * @Param: [paramters] + * @return: java.util.Map<java.lang.String , java.lang.Object> + * @Author: ��������� + * @Date: 2021/3/11 + */ + @Override + public Map<String, Object> login(Map<String, Object> paramters) { + Map<String, Object> result = new HashMap<>(); + //������������ + String cyrpAccount = (String) paramters.get("account"); + String cyrpPassword = (String) paramters.get("password"); + //������ + String account = AESUtils.decrypt(cyrpAccount, AESKey); + String password = AESUtils.decrypt(cyrpPassword, AESKey); + //������������������ + QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); + wrapper.eq("account", account); + ManageAccount manageAccount = accountMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(manageAccount)) { + result.put("accountId", -1); + result.put("msg", "���������������"); + return result; + } + //������������������������ + if (manageAccount.getIsDelete().equals("1")) { + result.put("accountId", -2); + result.put("msg", "������������������"); + return result; + } + //������������ + if (!MD5Utils.saltMD5Verify(password, manageAccount.getPassword())) { + result.put("accountId", -3); + result.put("msg", "���������������������"); + return result; + } + //������������ + List<ManageRole> roles = roleMapper.getManageRoleByAccountId(manageAccount.getId()); + if (ObjectUtils.isEmpty(roles)) { + result.put("accountId", -4); + result.put("msg", "������������������������"); + return result; + } + //������������ + List<ManageMenu> menus = manageMenuMapper.getParentChildrenMenusByRoles(roles); + if (ObjectUtils.isEmpty(menus)) { + result.put("accountId", -5); + result.put("msg", "������������������������"); + return result; + } + + //������������token,��������������������������������� + Map<String, Object> userInfo = new HashMap<>();//��������������������������������������� + userInfo.put("accountId", manageAccount.getId());//������Id + userInfo.put("userName", manageAccount.getUserName());//������������ + userInfo.put("roles", roles);//������������ + userInfo.put("menus", menus);//������������ + String token = TokenUtils.getToken(String.valueOf(manageAccount.getId()), userInfo); + + + //������������������ + result.put("accountId", manageAccount.getId());//������Id + result.put("userName", manageAccount.getUserName());//������������ + result.put("roles", roles);//������������ + result.put("menus", menus);//������������ + result.put("token", token); + return result; + } + + /** + * @Description: ������ + * @Param: [paramters] + * @return: java.util.Map<java.lang.String , java.lang.Object> + * @Author: ��������� + * @Date: 2021/3/11 + */ + @Override + public Map<String, Object> logout(Map<String, Object> paramters) { + + return null; + } + + } -- Gitblit v1.8.0