jinpengyong
2021-04-14 f05a7d377838ba6b809329829aff058a8c455736
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -1,5 +1,12 @@
package com.moral.api.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
@@ -9,13 +16,6 @@
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@@ -30,7 +30,6 @@
import com.moral.api.entity.Organization;
import com.moral.api.entity.User;
import com.moral.api.entity.UserGroup;
import com.moral.api.entity.UserLog;
import com.moral.api.mapper.MenuMapper;
import com.moral.api.mapper.UserGroupMapper;
@@ -163,6 +162,7 @@
        //日志
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        UserLog userLog = new UserLog();
        userLog.setType(Constants.LOGIN_OPERTATE_TYPE);
        userLog.setIp(WebUtils.getIpAddr(request));
        userLog.setOperateId(userBo.getId());
        userLog.setOrganizationId(userBo.getOrganizationId());
@@ -229,7 +229,10 @@
    @Override
    @Transactional
    public Map<String, Object> addUser(User user, String token) {
    public Map<String, Object> addUser(User user) {
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String token = request.getHeader("token");
        Map<String, Object> result = new HashMap<>();
        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
@@ -291,9 +294,8 @@
        }
        userMapper.insert(user);
        //日志
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String content = "添加了用户:" + user.getAccount();
        OperationLogUtils.insertLog(request, content);
        OperationLogUtils.insertLog(request, content, Constants.INSERT_OPERATE_TYPE);
        return result;
    }
@@ -304,24 +306,27 @@
        //逻辑删除user
        user.setIsDelete(Constants.DELETE);
        userMapper.updateById(user);
        //逻辑删除user_group
        //删除user_group
        UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>();
        deleteWrapper.set("is_delete", Constants.DELETE).eq("user_id", userId);
        deleteWrapper.eq("user_id", userId);
        userGroupMapper.delete(deleteWrapper);
        //更新redis
        if (TokenUtils.hHasKey(userId)) {
            String token = TokenUtils.hget(userId).toString();
            TokenUtils.destoryToken(userId, token);
        }
        userGroupMapper.update(null, deleteWrapper);
        //日志
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String content = "删除了用户:" + user.getAccount();
        OperationLogUtils.insertLog(request, content);
        OperationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE);
    }
    @Override
    @Transactional
    public Map<String, Object> updateUser(User user, String token) {
    public Map<String, Object> updateUser(User user) {
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String token = request.getHeader("token");
        //更新的属性
        Map<String, Object> update = JSONObject.parseObject(JSON.toJSONString(user), Map.class);
        Map<String, Object> result = new HashMap<>();
@@ -386,7 +391,6 @@
        userMapper.updateById(user);
        //日志
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        StringBuilder content = new StringBuilder("修改了用户:" + user.getAccount() + "->");
        for (String key : update.keySet()) {
            Object afterValue = update.get(key);
@@ -396,14 +400,17 @@
                content.append(key).append(":").append(beforeValue).append("=>").append(afterValue).append(";");
            }
        }
        OperationLogUtils.insertLog(request, content.toString());
        OperationLogUtils.insertLog(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
        return result;
    }
    @Override
    public Page<User> selectUsers(Map<String, Object> parameters) {
        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(parameters.get("token").toString());
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        String token = request.getHeader("token");
        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
        Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("organization_id", orgInfo.get("id"))
@@ -446,7 +453,6 @@
            queryWrapper.orderByDesc("create_time");
        }
        userMapper.selectPage(pageData, queryWrapper);
        return pageData;
    }