Commit c312a77b827d132f25d87000935941c5bbf4e106
Merge branch 'localhost-cxy' into 'master'
fix: 组织修改实现 See merge request huang/thingsboard3.3.2!21
Showing
2 changed files
with
18 additions
and
2 deletions
1 | package org.thingsboard.server.dao.yunteng.entities; | 1 | package org.thingsboard.server.dao.yunteng.entities; |
2 | 2 | ||
3 | +import com.baomidou.mybatisplus.annotation.FieldStrategy; | ||
4 | +import com.baomidou.mybatisplus.annotation.TableField; | ||
3 | import com.baomidou.mybatisplus.annotation.TableName; | 5 | import com.baomidou.mybatisplus.annotation.TableName; |
4 | import lombok.Data; | 6 | import lombok.Data; |
5 | import lombok.EqualsAndHashCode; | 7 | import lombok.EqualsAndHashCode; |
@@ -9,6 +11,8 @@ import org.thingsboard.server.common.data.yunteng.constant.ModelConstants; | @@ -9,6 +11,8 @@ import org.thingsboard.server.common.data.yunteng.constant.ModelConstants; | ||
9 | @EqualsAndHashCode(callSuper = true) | 11 | @EqualsAndHashCode(callSuper = true) |
10 | @TableName(ModelConstants.Table.IOTFS_ORGANIZATION_TABLE_NAME) | 12 | @TableName(ModelConstants.Table.IOTFS_ORGANIZATION_TABLE_NAME) |
11 | public class Organization extends TenantBaseEntity { | 13 | public class Organization extends TenantBaseEntity { |
14 | + | ||
15 | + @TableField(updateStrategy = FieldStrategy.IGNORED) | ||
12 | private String parentId; | 16 | private String parentId; |
13 | private String name; | 17 | private String name; |
14 | private int sort; | 18 | private int sort; |
@@ -107,8 +107,10 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | @@ -107,8 +107,10 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | ||
107 | @Override | 107 | @Override |
108 | @Transactional | 108 | @Transactional |
109 | public OrganizationDTO updateOrganization(OrganizationDTO organizationDTO, String tenantId) { | 109 | public OrganizationDTO updateOrganization(OrganizationDTO organizationDTO, String tenantId) { |
110 | + //选择的组织 | ||
110 | Organization organization = baseMapper.selectById(organizationDTO.getId()); | 111 | Organization organization = baseMapper.selectById(organizationDTO.getId()); |
111 | Organization parent = null; | 112 | Organization parent = null; |
113 | + //父级组织不为空,则查询到父级组织 | ||
112 | if (StringUtils.isNotBlank(organizationDTO.getParentId())) { | 114 | if (StringUtils.isNotBlank(organizationDTO.getParentId())) { |
113 | Organization parentOrganization = baseMapper.selectById(organizationDTO.getParentId()); | 115 | Organization parentOrganization = baseMapper.selectById(organizationDTO.getParentId()); |
114 | if (parentOrganization.getTenantId().equals(tenantId)) { | 116 | if (parentOrganization.getTenantId().equals(tenantId)) { |
@@ -118,10 +120,10 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | @@ -118,10 +120,10 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | ||
118 | if (organization == null) { | 120 | if (organization == null) { |
119 | return null; | 121 | return null; |
120 | } | 122 | } |
123 | + //数据一致则返回给前端 | ||
121 | if (organization.getName().equals(organizationDTO.getName()) | 124 | if (organization.getName().equals(organizationDTO.getName()) |
122 | && organization.getSort() == organizationDTO.getSort() | 125 | && organization.getSort() == organizationDTO.getSort() |
123 | - && (organization.getRemark() != null | ||
124 | - && organization.getRemark().equals(organizationDTO.getRemark())) | 126 | + && (organization.getRemark() != null && organization.getRemark().equals(organizationDTO.getRemark())) |
125 | && Objects.equals(organization.getParentId(), organizationDTO.getParentId())) { | 127 | && Objects.equals(organization.getParentId(), organizationDTO.getParentId())) { |
126 | return organizationDTO; | 128 | return organizationDTO; |
127 | } | 129 | } |
@@ -130,6 +132,8 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | @@ -130,6 +132,8 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | ||
130 | organization.setSort(organizationDTO.getSort()); | 132 | organization.setSort(organizationDTO.getSort()); |
131 | if (parent != null) { | 133 | if (parent != null) { |
132 | organization.setParentId(parent.getId()); | 134 | organization.setParentId(parent.getId()); |
135 | + }else{ | ||
136 | + organization.setParentId(null); | ||
133 | } | 137 | } |
134 | baseMapper.updateById(organization); | 138 | baseMapper.updateById(organization); |
135 | organization.copyToDTO(organizationDTO); | 139 | organization.copyToDTO(organizationDTO); |
@@ -139,9 +143,11 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | @@ -139,9 +143,11 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | ||
139 | @Override | 143 | @Override |
140 | public List<OrganizationDTO> getMyOrganizations( | 144 | public List<OrganizationDTO> getMyOrganizations( |
141 | boolean isPtTenantAdmin, String tenantId, String currentUserId) { | 145 | boolean isPtTenantAdmin, String tenantId, String currentUserId) { |
146 | + //如果是租户管理员,则返回该租户id下的所有组织 | ||
142 | if (isPtTenantAdmin) { | 147 | if (isPtTenantAdmin) { |
143 | return findOrganizationTree(tenantId); | 148 | return findOrganizationTree(tenantId); |
144 | } else { | 149 | } else { |
150 | + //返回当前用户组织id集 | ||
145 | Set<String> organizationIds = | 151 | Set<String> organizationIds = |
146 | userOrganizationMappingMapper | 152 | userOrganizationMappingMapper |
147 | .selectList( | 153 | .selectList( |
@@ -151,6 +157,7 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | @@ -151,6 +157,7 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | ||
151 | .stream() | 157 | .stream() |
152 | .map(UserOrganizationMapping::getOrganizationId) | 158 | .map(UserOrganizationMapping::getOrganizationId) |
153 | .collect(Collectors.toSet()); | 159 | .collect(Collectors.toSet()); |
160 | + | ||
154 | List<Organization> organizations = | 161 | List<Organization> organizations = |
155 | baseMapper.selectList( | 162 | baseMapper.selectList( |
156 | new QueryWrapper<Organization>() | 163 | new QueryWrapper<Organization>() |
@@ -161,6 +168,11 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | @@ -161,6 +168,11 @@ public class YtOrganizationServiceImpl extends AbstractBaseService<OrganizationM | ||
161 | } | 168 | } |
162 | } | 169 | } |
163 | 170 | ||
171 | + /** | ||
172 | + * 查询租户id下的所有组织 | ||
173 | + * @param tenantId | ||
174 | + * @return | ||
175 | + */ | ||
164 | private List<OrganizationDTO> findOrganizationTree(String tenantId) { | 176 | private List<OrganizationDTO> findOrganizationTree(String tenantId) { |
165 | List<OrganizationDTO> organizationTreeList = | 177 | List<OrganizationDTO> organizationTreeList = |
166 | baseMapper.findOrganizationTreeList(tenantId, null); | 178 | baseMapper.findOrganizationTreeList(tenantId, null); |