From 730443b70de88d328ffa275f51f69280fda979e4 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期三, 30 八月 2023 12:59:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java |  149 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 141 insertions(+), 8 deletions(-)

diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
index 7f6d726..ddf91db 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -1,18 +1,30 @@
 package com.yuanchu.limslaboratory.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
 import com.yuanchu.limslaboratory.pojo.User;
 import com.yuanchu.limslaboratory.mapper.UserMapper;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
 import com.yuanchu.limslaboratory.service.UserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Repository;
+import com.yuanchu.limslaboratory.utils.JackSonUtil;
+import com.yuanchu.limslaboratory.utils.MyUtil;
+import com.yuanchu.limslaboratory.utils.RedisUtil;
+import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo;
+import com.yuanchu.limslaboratory.pojo.vo.UpdatePersonnelVo;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
-
-import javax.annotation.Resource;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -26,19 +38,140 @@
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
 
     @Resource
-    UserMapper userMapper;
+    private UserMapper userMapper;
+
+    @Resource
+    private RoleManageMapper roleManageMapper;
+
+    @Override
+    public Map<String, Object> getUserInfo(String token) {
+        //鏍规嵁token鑾峰彇鐢ㄦ埛淇℃伅
+        Object obj = RedisUtil.get(token);
+        if (!ObjectUtils.isEmpty(obj)){
+            Map loginUser = (Map) obj;
+            Map map = (Map)loginUser.get("data");
+            Object residualTime = map.get("residualTime");
+            int i = Integer.parseInt(residualTime.toString());
+            String remind = null;
+            if (i <= 30) {
+                remind = "鎮ㄦ墍浣跨敤鐨勭郴缁熷嵆灏嗚繃鏈燂紒璇疯仈绯荤鐞嗗憳锛�";
+            }
+            Map<String, Object> data = new HashMap<>();
+            data.put("name",loginUser.get("name"));
+            data.put("account", loginUser.get("account"));
+            data.put("id",loginUser.get("id"));
+            data.put("roleId",loginUser.get("roleId"));
+            data.put("remind", remind);
+            data.put("sessionLayerId",loginUser.get("sessionLayerId"));
+            RoleAndMenuDto role = getRoleInfo(Long.valueOf(String.valueOf(loginUser.get("roleId"))));
+            data.put("role",role);
+            return data;
+        }
+        return null;
+    }
+
+    @Override
+    public Boolean userIsNull(Integer Id) {
+        LambdaQueryWrapper<User> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        userLambdaQueryWrapper.eq(User::getId, Id);
+        userLambdaQueryWrapper.select(User::getName);
+        User user = userMapper.selectOne(userLambdaQueryWrapper);
+        return !ObjectUtils.isEmpty(user);
+    }
+
+    @Override
+    public String selectByUserId(Integer userId) {
+        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(User::getId, userId);
+        wrapper.select(User::getName);
+        User user = userMapper.selectOne(wrapper);
+        return user.getName();
+    }
+
+    @Override
+    public List<Map<String,Object>> selectUser() {
+        return userMapper.selectUser();
+    }
+
+    @Override
+    public List<Map<String, Object>>
+    getUserNameAndId() {
+        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
+        wrapper.select(User::getId, User::getName).eq(User::getType,1);
+        return userMapper.selectMaps(wrapper);
+    }
+
+    @Override
+    public RoleAndMenuDto getUserRoleInfo(String token) {
+        return null;
+    }
 
     @Override
     public Map<String, String> selectUserByUserId(int userId) {
         return userMapper.selectUserByUserId(userId);
     }
-    @Resource
-    private UserMapper mapper;
 
     @Override
     public User AccordingUsernameSelectAll(String account) {
         LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(User::getAccount, account);
-        return mapper.selectOne(wrapper);
+        wrapper.select(User::getPassword, User::getRoleId,User::getId, User::getName, User::getAccount, User::getEnterpriseId);
+        return userMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public Integer addNewPersonnel(NewPersonnelVo newPersonnelVo, String enterpriseId) {
+        try {
+            User unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(newPersonnelVo), User.class);
+            unmarshal.setEnterpriseId(Integer.valueOf(enterpriseId));
+            return userMapper.insert(unmarshal);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    public Integer updateNewPersonnel(UpdatePersonnelVo updatePersonnelVo) {
+        try {
+            MyUtil.PrintLog(updatePersonnelVo.toString());
+            User unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(updatePersonnelVo), User.class);
+
+            LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(User::getId, updatePersonnelVo.getId());
+            return userMapper.update(unmarshal, updateWrapper);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    public IPage<Map<String, Object>> getNewPersonnelPage(String name, Page page, Integer status) {
+        return userMapper.getNewPersonnelPage(name, page, status);
+    }
+
+
+    public RoleAndMenuDto getRoleInfo(Long roleId) {
+        if(roleId==0){
+            return null;
+        }
+        RoleAndMenuDto roleAndMenuDto = roleManageMapper.selectAllRoleAndMenuByRoleId(roleId);
+        List<RoleMenu> collect = roleAndMenuDto.getRoleMenuList()
+                .stream()
+                .filter(t -> t.getParentId() == 0)
+                .peek((menu) -> menu.setChildren(this.getRoleMenuChildren(menu, roleAndMenuDto.getRoleMenuList())))
+                .collect(Collectors.toList());
+        roleAndMenuDto.setRoleMenuList(collect);
+        return roleAndMenuDto;
+    }
+
+
+    private List<RoleMenu> getRoleMenuChildren(RoleMenu root, List<RoleMenu> all) {
+        return all.stream()
+                .filter(t -> Objects.equals(t.getParentId(), root.getMenuId()))
+                .peek(g -> {
+                    //鎵惧瓙鑿滃崟
+                    g.setChildren(getRoleMenuChildren(g, all));
+                })
+                .collect(Collectors.toList());
     }
 }

--
Gitblit v1.9.3