diff --git a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml index e0b189d5a..b09a086ce 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml @@ -126,7 +126,7 @@ from sys_role r inner join enterprise_user_role e on r.role_id = e.role_id where - e.user_id = #{userId} and r.deleted = 0 + e.user_id = #{userId} and r.deleted = 0 and e.deleted = 0 limit 1 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java index a5c7912e8..fdebd0e79 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java @@ -199,6 +199,8 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService { List enterpriseUserRole = EnterpriseUserRoleDO.convertSyncDO(role.getRoleId(), new ArrayList<>(Arrays.asList(userDetail.getUserId()))); enterpriseUserRoleDAO.batchInsertOrUpdate(enterpriseUserRole); enterpriseUserRoleDAO.deleteUserInRole(userDetail.getUserId(), DataSourceEnum.SYNC, role.getRoleId()); + }else{ + enterpriseUserRoleDAO.deleteUserRole(userDetail.getUserId()); } EnterpriseUserDO enterpriseUser = EnterpriseUserDTO.transUserDtoToDo(userDetail, regionPathMap, leaderDeptMap); enterpriseUserDAO.batchInsertOrUpdate(new ArrayList<>(Arrays.asList(enterpriseUser)));