From 4edd63bcd21b999e0782047ca0602f9e915cd94c Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 11 Mar 2021 08:23:32 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into dev

---
 screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java |  130 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 130 insertions(+), 0 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
index 24a141e..2b73e59 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -1,9 +1,26 @@
 package com.moral.api.service.impl;
 
+import io.swagger.models.auth.In;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.entity.Group;
+import com.moral.api.entity.Menu;
 import com.moral.api.entity.User;
+
 import com.moral.api.mapper.UserMapper;
 import com.moral.api.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.redis.RedisUtil;
+
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +34,117 @@
 @Service
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
+    @Autowired
+    private UserMapper userMapper;
+
+    @Override
+    public Map<String, Object> login(String account, String password) {
+        Map<String, Object> resultMap = new HashMap<>();
+        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("account", account).eq("password", password).eq("is_Delete", "0");
+        User user = userMapper.selectOne(queryWrapper);
+        String msg;
+        String token = null;
+        if (user == null) {
+            msg = "������������������������";
+        } else if (user.getExpireTime() != null && user.getExpireTime().getTime() < System.currentTimeMillis()) {
+            msg = "���������������������";
+        } else {
+            msg = "������������";
+            token = user.getId() + "-" + UUID.randomUUID().toString().replaceAll("-", "");
+            Set<Group> groups = userMapper.selectUserGroup(user.getId());
+            Set<Menu> menus = userMapper.selectUserMenu(user.getId());
+            user.setGroups(groups);
+            user.setMenus(menus);
+            RedisUtil.set(token, user, 1296000);
+        }
+        resultMap.put("token", token);
+        resultMap.put("msg", msg);
+        return resultMap;
+    }
+
+    @Override
+    public Map<String, Object> addUser(User user, Integer userId) {
+        Map<String, Object> resultMap = new HashMap<>();
+        User currentUser = userMapper.selectById(userId);
+        if (!currentUser.getIsAdmin()) {
+            resultMap.put("flag", false);
+            resultMap.put("msg", "���������������������������");
+            return resultMap;
+        }
+        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("account", user.getAccount());
+        userMapper.selectOne(queryWrapper);
+        if (userMapper.selectOne(queryWrapper) == null) {
+            user.setOrganizationId(currentUser.getOrganizationId());
+            user.setExpireTime(currentUser.getExpireTime());
+            userMapper.insert(user);
+            resultMap.put("flag", true);
+            resultMap.put("msg", "������������");
+        } else {
+            resultMap.put("flag", false);
+            resultMap.put("msg", "���������������������������������");
+        }
+        return resultMap;
+    }
+
+    @Override
+    public Map<String, Object> deleteUser(Integer userId, Integer currentUserId) {
+        Map<String, Object> resultMap = new HashMap<>();
+        User currentUser = userMapper.selectById(currentUserId);
+        if (!currentUser.getIsAdmin()) {
+            resultMap.put("flag", false);
+            resultMap.put("msg", "���������������������������");
+        } else {
+            User user = new User();
+            user.setId(userId);
+            user.setIsDelete("1");
+            userMapper.updateById(user);
+            resultMap.put("flag", true);
+            resultMap.put("msg", "������������");
+        }
+        return resultMap;
+    }
+
+    @Override
+    public Map<String, Object> updateUser(User user, Integer currentUserId) {
+        Map<String, Object> resultMap = new HashMap<>();
+        User currentUser = userMapper.selectById(currentUserId);
+        if (!currentUser.getIsAdmin()) {
+            resultMap.put("flag", false);
+            resultMap.put("msg", "���������������������������");
+            return resultMap;
+        }
+        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("account", user.getAccount());
+        if (userMapper.selectOne(queryWrapper) == null) {
+            userMapper.updateById(user);
+            resultMap.put("flag", true);
+            resultMap.put("msg", "������������");
+        } else {
+            resultMap.put("flag", false);
+            resultMap.put("msg", "������������������������������");
+        }
+        return resultMap;
+    }
+
+    @Override
+    public List<User> getUsersByOrgId(Integer currentUserId) {
+        User currentUser = userMapper.selectById(currentUserId);
+        if (!currentUser.getIsAdmin()) {
+            return null;
+        }
+        Map<String, Object> queryMap = new HashMap<>();
+        queryMap.put("organizationId", currentUser.getOrganizationId());
+        return userMapper.selectByMap(queryMap);
+    }
+
+    @Override
+    public User getUserById(Integer userId, Integer currentUserId) {
+        User currentUser = userMapper.selectById(currentUserId);
+        if (!currentUser.getIsAdmin()) {
+            return null;
+        }
+        return userMapper.selectById(userId);
+    }
 }

--
Gitblit v1.8.0