提交 3415079b 作者: zhenjie

账号修改bug修复

上级 3853d309
......@@ -44,7 +44,7 @@ public enum ResultEnum implements BaseErrorInfoInterface {
UPDATE_OWNER_ROLE_MENUS_ERROR("8007", "禁止修改与当前登录账号角色相同的角色权限"),
UPDATE_OWNER_ROLE_ERROR("8008", "禁止修改当前账号的角色"),
UPDATE_ADMIN_ROLE_ERROR("8009", "禁止修改admin账号的角色"),
ONLY_ONE_ADMIN_ERROR("8010", "只能有一个超级管理员账号");
ONLY_ONE_ADMIN_ERROR("8010", "禁止该账号获取超级管理员角色");
/**
* 错误码
......
......@@ -2,7 +2,6 @@ package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.MenuInfoDO;
import com.mmc.iuav.user.entity.RoleInfoDO;
import com.mmc.iuav.user.model.dto.RoleInfoDTO;
import com.mmc.iuav.user.model.qo.RoleInfoQO;
import org.apache.ibatis.annotations.Mapper;
......@@ -48,6 +47,6 @@ public interface RoleDao {
void insertUserRoleRel(Integer backUserAccountId, Integer roleId);
RoleInfoDTO getRoleInfoByUserId(Integer backUserAccountId);
RoleInfoDO getRoleInfoByUserId(Integer backUserAccountId);
}
......@@ -14,10 +14,10 @@ import com.mmc.iuav.user.dao.CompanyAuthDao;
import com.mmc.iuav.user.dao.RoleDao;
import com.mmc.iuav.user.entity.BackUserAccountDO;
import com.mmc.iuav.user.entity.CompanyAuthDO;
import com.mmc.iuav.user.entity.RoleInfoDO;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.enums.UserAccountStatus;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.dto.RoleInfoDTO;
import com.mmc.iuav.user.model.qo.LoginUserQO;
import com.mmc.iuav.user.model.vo.AppUserSucVO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO;
......@@ -153,14 +153,14 @@ public class AuthServiceImpl implements AuthService {
// 查询单位信息
CompanyInfoVO companyInfoVO = companyService.getCompanyInfoByBackUserAccountId(user.getId());
// 角色信息
RoleInfoDTO roleInfoDTO = roleDao.getRoleInfoByUserId(user.getId());
RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(user.getId());
Map<String, Object> map = new HashMap<String, Object>();
map.put(JwtConstant.USER_ACCOUNT_ID, user.getId());
map.put(JwtConstant.TOKEN_TYPE, JwtConstant.M_TOKEN);
String token = JwtUtil.createJwt(map);
LoginSuccessDTO loginSuccessDTO = LoginSuccessDTO.builder().token(token).userAccountId(user.getId()).accountNo(user.getAccountNo()).uid(user.getId() + "")
.userName(user.getUserName()).nickName(user.getUserName()).phoneNum(user.getPhoneNum()).portType(0).companyInfoVO(companyInfoVO == null ? null : companyInfoVO)
.roleInfo(roleInfoDTO).build();
.roleInfo(roleInfoDO.buildRoleInfoDTO()).build();
stringRedisTemplate.opsForValue().set(
token, JSONObject.toJSONString(loginSuccessDTO),
JwtConstant.EXPIRATION, TimeUnit.MILLISECONDS);
......
......@@ -10,6 +10,7 @@ import com.mmc.iuav.user.dao.RoleDao;
import com.mmc.iuav.user.entity.BackUserAccountDO;
import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.entity.RoleInfoDO;
import com.mmc.iuav.user.enums.RoleEnums;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.BUserAccountQO;
......@@ -94,7 +95,9 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
companyBackUserDO.setCompanyInfoId(bUserAccountVO.getCompanyId());
companyService.updateCompanyBackUser(companyBackUserDO);
}
if (bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
// 当前角色不是超级管理员,则不能修改为管理员账号
RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(bUserAccountVO.getId());
if (!roleInfoDO.getId().equals(RoleEnums.ADMIN.getId()) && bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
throw new BizException(ResultEnum.ONLY_ONE_ADMIN_ERROR);
}
// 不能修改自己的角色
......
......@@ -202,9 +202,9 @@
ORDER BY id DESC LIMIT 1;
</select>
<select id="getRoleInfoByUserId" resultType="com.mmc.iuav.user.model.dto.RoleInfoDTO">
<select id="getRoleInfoByUserId" resultType="com.mmc.iuav.user.entity.RoleInfoDO">
select ri.id,ri.role_no,ri.role_name,ri.is_deleted,ri.remark,
ri.create_time,ri.update_time,ri.user_account_id,ri.super_admin
ri.create_time,ri.update_time,ri.back_user_account_id,ri.super_admin
from role_info ri INNER JOIN user_role_rel urr ON ri.id = urr.role_id
where urr.back_user_account_id = #{backUserAccountId}
</select>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论