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