From 5097d13418e9a0bf605f5272f1b9e60fc62c80cb Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 10 Mar 2021 17:26:01 +0800 Subject: [PATCH] common模块: 增加 AESUtils MD5Utils ObjectUtils TokenUtils manage模块: 完整用户登陆功能 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 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..48d1b78 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,81 @@ @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; + + + 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",-1); + result.put("msg","������������������"); + return result; + } + //������������ + if(!MD5Utils.saltMD5Verify(password,manageAccount.getPassword())){ + result.put("accountId",-1); + result.put("msg","���������������������"); + return result; + } + //������������ + List<ManageRole> roles = roleMapper.getManageRoleByAccountId(manageAccount.getId()); + if(ObjectUtils.isEmpty(roles)){ + result.put("accountId",-1); + result.put("msg","������������������������"); + return result; + } + //������������ + List<ManageMenu> menus = manageMenuMapper.getParentChildrenMenusByRoles(roles); + if(ObjectUtils.isEmpty(menus)){ + result.put("accountId",-1); + 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);//������������ + Map<String, Object> tokenResult = TokenUtils.getToken(String.valueOf(manageAccount.getId()), userInfo); + if(tokenResult.get("code").equals(TokenUtils.error)){ + result.put("accountId",-1); + result.put("msg","������token������"); + return result; + } + + //������������������ + result.put("accountId",manageAccount.getId());//������Id + result.put("userName",manageAccount.getUserName());//������������ + result.put("roles",roles);//������������ + result.put("menus",menus);//������������ + result.put("token",tokenResult.get("token")); + return result; + } + + } -- Gitblit v1.8.0