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