From afadc8c33a89b97c73f056f741e5705f8ad291d3 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 11 Mar 2021 08:23:24 +0800
Subject: [PATCH] manage登陆模块修改 根据accountId辨识登陆状态
---
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..b76ddbe 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",-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);//������������
+ Map<String, Object> tokenResult = TokenUtils.getToken(String.valueOf(manageAccount.getId()), userInfo);
+ if(tokenResult.get("code").equals(TokenUtils.error)){
+ result.put("accountId",-6);
+ 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