kaiyu
2021-06-09 163fdb454556e9047098dbdbacfcdebe2a781cf6
screen-manage
更新登陆逻辑
4 files modified
50 ■■■■ changed files
screen-common/src/main/java/com/moral/util/TokenUtils.java 2 ●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/LoginController.java 17 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java 11 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java 20 ●●●● patch | view | raw | blame | history
screen-common/src/main/java/com/moral/util/TokenUtils.java
@@ -120,7 +120,7 @@
        return userInfo;
    }
    public static Object getUserInfoByToken() {
    public static Object getUserInfo() {
        String token = getCurrentToken();
        return getUserInfoByToken(token);
    }
screen-manage/src/main/java/com/moral/api/controller/LoginController.java
@@ -5,6 +5,8 @@
import com.moral.api.pojo.dto.login.LoginDTO;
import com.moral.api.pojo.form.login.LoginForm;
import com.moral.api.pojo.form.login.LogoutForm;
import com.moral.api.pojo.redisBean.AccountInfoDTO;
import com.moral.api.pojo.vo.login.AccountInfoVO;
import com.moral.api.pojo.vo.login.LoginVO;
import com.moral.api.service.ManageAccountService;
import com.moral.api.service.SysConfigService;
@@ -13,6 +15,7 @@
import com.moral.constant.ResultMessage;
import com.moral.pojo.VerificationCode;
import com.moral.util.KaptchaUtils;
import com.moral.util.TokenUtils;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -59,6 +62,20 @@
        return new ResultMessage(loginDTO.getCode(), loginDTO.getMsg(), loginVO);
    }
    /**
    * @Description: 获取用户信息接口
            * @Param: []
            * @return: com.moral.constant.ResultMessage
            * @Author: 陈凯裕
            * @Date: 2021/6/9
            */
    @GetMapping("getAccountInfo")
    public ResultMessage getAccountInfo(){
        AccountInfoDTO dto = (AccountInfoDTO) TokenUtils.getUserInfo();
        AccountInfoVO vo = AccountInfoVO.convert(dto);
        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(), vo);
    }
    /**
     * @Description: 退出接口
screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java
@@ -23,11 +23,6 @@
     * */
    private String token;
    /*
     * 用户基本信息
     * */
    private AccountInfoVO accountInfoVO;
    /**
     * @Description: DTO转换VO
     * @Param: [dto]
@@ -40,11 +35,7 @@
            return null;
        LoginVO vo = new LoginVO();
        String token = dto.getToken();
        AccountInfoDTO accountInfoDTO = dto.getAccountInfoDTO();
        AccountInfoVO accountInfoVO = AccountInfoVO.convert(accountInfoDTO);
        vo.setAccountInfoVO(accountInfoVO);
        vo.setToken(token);
        vo.setToken(dto.getToken());
        return vo;
    }
}
screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -89,21 +89,10 @@
        //查询是否存在
        QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>();
        wrapper.eq("account", account);
        List<ManageAccount> manageAccounts = manageAccountMapper.selectList(wrapper);
        if (ObjectUtils.isEmpty(manageAccounts)) {
            loginDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode());
            loginDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg());
            return loginDTO;
        }
        //查询是否逻辑删除
        ManageAccount manageAccount = null;
        for (ManageAccount value : manageAccounts) {
            if (Constants.NOT_DELETE.equals(value.getIsDelete()))
                manageAccount = value;
        }
        wrapper.eq("is_delete",Constants.NOT_DELETE);
        ManageAccount manageAccount = manageAccountMapper.selectOne(wrapper);
        if (ObjectUtils.isEmpty(manageAccount)) {
            loginDTO.setCode(ResponseCodeEnum.ACCOUNT_IS_DELETE.getCode());
            loginDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode());
            loginDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg());
            return loginDTO;
        }
@@ -135,7 +124,6 @@
        //封装返回结果
        loginDTO.setCode(ResponseCodeEnum.SUCCESS.getCode());
        loginDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        loginDTO.setAccountInfoDTO(accountInfoDTO);
        loginDTO.setToken(token);
        //登陆插入日志
@@ -269,7 +257,7 @@
        Page resultPage = manageAccountMapper.selectPage(queryPage, wrapper);
        List<ManageAccount> accounts = resultPage.getRecords();
        //过滤系统最高权限账号admin,除admin角色外无法查看
        AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken();
        AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfo();
        List<ManageRole> ownRoles = accountInfoDTO.getRoles();
        boolean ownAdminRole = false;
        for (ManageRole ownRole : ownRoles) {