Commit 371b783f18e3126b3c8a999534e0698c4b8b5662
1 parent
694c5493
feat: add query alarm contact api by organizationId
Showing
3 changed files
with
203 additions
and
145 deletions
@@ -32,7 +32,9 @@ import static org.thingsboard.server.common.data.yunteng.constant.FastIotConstan | @@ -32,7 +32,9 @@ import static org.thingsboard.server.common.data.yunteng.constant.FastIotConstan | ||
32 | import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE; | 32 | import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE; |
33 | import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE_SIZE; | 33 | import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE_SIZE; |
34 | 34 | ||
35 | -/** @Description 告警联系人 @Author cxy @Date 2021/11/2 14:54 */ | 35 | +/** |
36 | + * @Description 告警联系人 @Author cxy @Date 2021/11/2 14:54 | ||
37 | + */ | ||
36 | @RestController | 38 | @RestController |
37 | @RequestMapping("/api/yt/alarmContact") | 39 | @RequestMapping("/api/yt/alarmContact") |
38 | @RequiredArgsConstructor | 40 | @RequiredArgsConstructor |
@@ -43,7 +45,8 @@ public class YtAlarmContactController extends BaseController { | @@ -43,7 +45,8 @@ public class YtAlarmContactController extends BaseController { | ||
43 | 45 | ||
44 | @ApiOperation(value = "新增联系人|编辑") | 46 | @ApiOperation(value = "新增联系人|编辑") |
45 | @PostMapping | 47 | @PostMapping |
46 | - @PreAuthorize("@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{'api:yt:alarmContact:post','api:yt:alarmContact:update'})") | 48 | + @PreAuthorize( |
49 | + "@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{'api:yt:alarmContact:post','api:yt:alarmContact:update'})") | ||
47 | public ResponseEntity<AlarmContactDTO> saveAlarmContact( | 50 | public ResponseEntity<AlarmContactDTO> saveAlarmContact( |
48 | @Validated(AddGroup.class) @RequestBody AlarmContactDTO alarmContactDTO) | 51 | @Validated(AddGroup.class) @RequestBody AlarmContactDTO alarmContactDTO) |
49 | throws ThingsboardException { | 52 | throws ThingsboardException { |
@@ -71,6 +74,15 @@ public class YtAlarmContactController extends BaseController { | @@ -71,6 +74,15 @@ public class YtAlarmContactController extends BaseController { | ||
71 | return ResponseEntity.ok(all); | 74 | return ResponseEntity.ok(all); |
72 | } | 75 | } |
73 | 76 | ||
77 | + @ApiOperation(value = "获取组织下的告警联系人") | ||
78 | + @GetMapping("/{organizationId}") | ||
79 | + public ResponseEntity<List<AlarmContactDTO>> findallByOrganizationId( | ||
80 | + @PathVariable("organizationId") String organizationId) throws ThingsboardException { | ||
81 | + | ||
82 | + List<AlarmContactDTO> all = | ||
83 | + alarmService.findAllByOrganizationId(getCurrentUser().getCurrentTenantId(), organizationId); | ||
84 | + return ResponseEntity.ok(all); | ||
85 | + } | ||
74 | 86 | ||
75 | @ApiOperation(value = "分页查询") | 87 | @ApiOperation(value = "分页查询") |
76 | @PreAuthorize("@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{})") | 88 | @PreAuthorize("@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{})") |
@@ -99,7 +111,8 @@ public class YtAlarmContactController extends BaseController { | @@ -99,7 +111,8 @@ public class YtAlarmContactController extends BaseController { | ||
99 | 111 | ||
100 | @ApiOperation(value = "删除") | 112 | @ApiOperation(value = "删除") |
101 | @DeleteMapping | 113 | @DeleteMapping |
102 | - @PreAuthorize("@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{'api:yt:alarmContact:delete'})") | 114 | + @PreAuthorize( |
115 | + "@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{'api:yt:alarmContact:delete'})") | ||
103 | public void deleteById(@RequestBody String[] ids) throws ThingsboardException { | 116 | public void deleteById(@RequestBody String[] ids) throws ThingsboardException { |
104 | if (ids.length == 0) { | 117 | if (ids.length == 0) { |
105 | throw new YtDataValidationException("please provide alarm ids to delete"); | 118 | throw new YtDataValidationException("please provide alarm ids to delete"); |
@@ -110,9 +123,11 @@ public class YtAlarmContactController extends BaseController { | @@ -110,9 +123,11 @@ public class YtAlarmContactController extends BaseController { | ||
110 | alarmProfileService.findAlarmProfilesByContactId( | 123 | alarmProfileService.findAlarmProfilesByContactId( |
111 | id, getCurrentUser().getCurrentTenantId()); | 124 | id, getCurrentUser().getCurrentTenantId()); |
112 | if (null != list && list.size() > FastIotConstants.MagicNumber.ZERO) { | 125 | if (null != list && list.size() > FastIotConstants.MagicNumber.ZERO) { |
113 | - StringBuilder configName =new StringBuilder(); | ||
114 | - list.forEach( i -> configName.append(","+i.getName())); | ||
115 | - throw new YtDataValidationException(String.format(ErrorMessage.CONTACT_ALREADY_ASSOCIATED.getMessage(),configName.substring(1))); | 126 | + StringBuilder configName = new StringBuilder(); |
127 | + list.forEach(i -> configName.append("," + i.getName())); | ||
128 | + throw new YtDataValidationException( | ||
129 | + String.format( | ||
130 | + ErrorMessage.CONTACT_ALREADY_ASSOCIATED.getMessage(), configName.substring(1))); | ||
116 | } | 131 | } |
117 | } | 132 | } |
118 | alarmService.delete(ids); | 133 | alarmService.delete(ids); |
@@ -120,7 +135,8 @@ public class YtAlarmContactController extends BaseController { | @@ -120,7 +135,8 @@ public class YtAlarmContactController extends BaseController { | ||
120 | 135 | ||
121 | @ApiOperation(value = "修改告警联系人信息") | 136 | @ApiOperation(value = "修改告警联系人信息") |
122 | @PostMapping("/update") | 137 | @PostMapping("/update") |
123 | - @PreAuthorize("@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{'api:yt:alarmContact:update:update'})") | 138 | + @PreAuthorize( |
139 | + "@check.checkPermissions({'TENANT_ADMIN','CUSTOMER_USER'},{'api:yt:alarmContact:update:update'})") | ||
124 | public void update(@RequestBody AlarmContactDTO alarmContactDTO) { | 140 | public void update(@RequestBody AlarmContactDTO alarmContactDTO) { |
125 | 141 | ||
126 | alarmService.update(alarmContactDTO); | 142 | alarmService.update(alarmContactDTO); |
@@ -11,6 +11,7 @@ import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; | @@ -11,6 +11,7 @@ import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; | ||
11 | import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException; | 11 | import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException; |
12 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | 12 | import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; |
13 | import org.thingsboard.server.common.data.yunteng.dto.AlarmContactDTO; | 13 | import org.thingsboard.server.common.data.yunteng.dto.AlarmContactDTO; |
14 | +import org.thingsboard.server.common.data.yunteng.dto.BaseDTO; | ||
14 | import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; | 15 | import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; |
15 | import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; | 16 | import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils; |
16 | import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; | 17 | import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; |
@@ -30,156 +31,189 @@ import java.util.stream.Collectors; | @@ -30,156 +31,189 @@ import java.util.stream.Collectors; | ||
30 | @Service | 31 | @Service |
31 | @RequiredArgsConstructor | 32 | @RequiredArgsConstructor |
32 | public class YtAlarmContactServiceImpl extends AbstractBaseService<AlarmContactMapper, AlarmContact> | 33 | public class YtAlarmContactServiceImpl extends AbstractBaseService<AlarmContactMapper, AlarmContact> |
33 | - implements YtAlarmContactService { | ||
34 | - /** | ||
35 | - * mapper注入 自带方法加入,继承的baseMapper | ||
36 | - */ | ||
37 | - private final AlarmContactMapper alarmContactMapper; | 34 | + implements YtAlarmContactService { |
35 | + /** mapper注入 自带方法加入,继承的baseMapper */ | ||
36 | + private final AlarmContactMapper alarmContactMapper; | ||
38 | 37 | ||
39 | - private final OrganizationMapper ytOrganizationMapper; | 38 | + private final OrganizationMapper ytOrganizationMapper; |
40 | 39 | ||
41 | - private final UserOrganizationMappingService userOrganizationMappingService; | 40 | + private final UserOrganizationMappingService userOrganizationMappingService; |
42 | 41 | ||
43 | - /** | ||
44 | - * 查询全部的告警联系人 | ||
45 | - * | ||
46 | - * @param params 传参 | ||
47 | - * @return List | ||
48 | - */ | ||
49 | - @Override | ||
50 | - public List<AlarmContactDTO> findAll(String tenantId, Map<String, Object> params) { | ||
51 | - // 查询当前租户 | ||
52 | - List<AlarmContact> list = | ||
53 | - alarmContactMapper.selectList( | ||
54 | - new QueryWrapper<AlarmContact>() | ||
55 | - .lambda() | ||
56 | - .eq(AlarmContact::getTenantId, tenantId) | ||
57 | - .like( | ||
58 | - params.containsKey("username"), | ||
59 | - AlarmContact::getUsername, | ||
60 | - String.valueOf(params.get("username"))) | ||
61 | - .or() | ||
62 | - .like( | ||
63 | - params.containsKey("department"), | ||
64 | - AlarmContact::getOrganizationId, | ||
65 | - String.valueOf(params.get("organizationId")))); | ||
66 | - System.out.println(list); | ||
67 | - return ReflectUtils.sourceToTarget(list, AlarmContactDTO.class); | ||
68 | - } | 42 | + /** |
43 | + * 查询全部的告警联系人 | ||
44 | + * | ||
45 | + * @param params 传参 | ||
46 | + * @return List | ||
47 | + */ | ||
48 | + @Override | ||
49 | + public List<AlarmContactDTO> findAll(String tenantId, Map<String, Object> params) { | ||
50 | + // 查询当前租户 | ||
51 | + List<AlarmContact> list = | ||
52 | + alarmContactMapper.selectList( | ||
53 | + new QueryWrapper<AlarmContact>() | ||
54 | + .lambda() | ||
55 | + .eq(AlarmContact::getTenantId, tenantId) | ||
56 | + .like( | ||
57 | + params.containsKey("username"), | ||
58 | + AlarmContact::getUsername, | ||
59 | + String.valueOf(params.get("username"))) | ||
60 | + .or() | ||
61 | + .like( | ||
62 | + params.containsKey("department"), | ||
63 | + AlarmContact::getOrganizationId, | ||
64 | + String.valueOf(params.get("organizationId")))); | ||
65 | + return ReflectUtils.sourceToTarget(list, AlarmContactDTO.class); | ||
66 | + } | ||
69 | 67 | ||
70 | - /** | ||
71 | - * 新增租户 | ||
72 | - * | ||
73 | - * @param tenantId 租户编码 | ||
74 | - * @return alarmContactDTO | ||
75 | - */ | ||
76 | - private LambdaQueryWrapper<AlarmContact> tenantWapper(String tenantId) { | ||
77 | - return new QueryWrapper<AlarmContact>().lambda().eq(AlarmContact::getTenantId, tenantId); | 68 | + @Override |
69 | + public List<AlarmContactDTO> findAllByOrganizationId(String tenantId, String organizationId) { | ||
70 | + Set<String> ids = new HashSet<>(); | ||
71 | + ids.add(organizationId); | ||
72 | + // 查询该组织的所有子类 | ||
73 | + List<OrganizationDTO> organizationDTOS = | ||
74 | + ytOrganizationMapper.findOrganizationTreeList(tenantId, ids); | ||
75 | + if (null == organizationDTOS || organizationDTOS.size() == 0) { | ||
76 | + throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); | ||
78 | } | 77 | } |
79 | - | ||
80 | - @Override | ||
81 | - @Transactional | ||
82 | - public AlarmContactDTO saveAlarmContact(String tenantId, AlarmContactDTO alarmContactDTO) { | ||
83 | - LambdaQueryWrapper<AlarmContact> Wrapper = | ||
84 | - tenantWapper(tenantId).eq(AlarmContact::getUsername, alarmContactDTO.getUsername()); | ||
85 | - int Count = baseMapper.selectCount(Wrapper); | ||
86 | - if (Count > 0) { | ||
87 | - throw new YtDataValidationException(String.format(ErrorMessage.NAME_EXISTED.getMessage(),alarmContactDTO.getUsername())); | ||
88 | - } | ||
89 | - if (checkPhoneEmail(tenantId,alarmContactDTO.getPhone(), alarmContactDTO.getEmail()).size() > 0) { | ||
90 | - throw new YtDataValidationException(ErrorMessage.PHONE_OR_EMAIL_HAS_REGISTER.getMessage()); | ||
91 | - } | ||
92 | - alarmContactDTO.setTenantId(tenantId); | ||
93 | - AlarmContact alarmContact = alarmContactDTO.getEntity(AlarmContact.class); | ||
94 | - int insertCount = baseMapper.insert(alarmContact); | ||
95 | - if (insertCount > 0) { | ||
96 | - alarmContact.copyToDTO(alarmContactDTO); | ||
97 | - return alarmContactDTO; | ||
98 | - } | ||
99 | - return null; | 78 | + List<String> organizationIds = |
79 | + organizationDTOS.stream().map(BaseDTO::getId).collect(Collectors.toList()); | ||
80 | + List<AlarmContact> list = | ||
81 | + alarmContactMapper.selectList( | ||
82 | + new QueryWrapper<AlarmContact>() | ||
83 | + .lambda() | ||
84 | + .eq(AlarmContact::getTenantId, tenantId) | ||
85 | + .in(AlarmContact::getOrganizationId, organizationIds)); | ||
86 | + if (null != list && list.size() > 0) { | ||
87 | + return list.stream() | ||
88 | + .map(obj -> obj.getDTO(AlarmContactDTO.class)) | ||
89 | + .collect(Collectors.toList()); | ||
100 | } | 90 | } |
91 | + return null; | ||
92 | + } | ||
101 | 93 | ||
102 | - /** | ||
103 | - * 删除告警联系人,byId | ||
104 | - * | ||
105 | - * @param alarmIds 通过列表id | ||
106 | - * @return Integer | ||
107 | - */ | ||
108 | - @Override | ||
109 | - @Transactional | ||
110 | - public boolean delete(String[] alarmIds) { | ||
111 | - Set<String> ids = Set.of(alarmIds); | ||
112 | - baseMapper.deleteBatchIds(ids); | ||
113 | - return true; | ||
114 | - } | 94 | + /** |
95 | + * 新增租户 | ||
96 | + * | ||
97 | + * @param tenantId 租户编码 | ||
98 | + * @return alarmContactDTO | ||
99 | + */ | ||
100 | + private LambdaQueryWrapper<AlarmContact> tenantWapper(String tenantId) { | ||
101 | + return new QueryWrapper<AlarmContact>().lambda().eq(AlarmContact::getTenantId, tenantId); | ||
102 | + } | ||
115 | 103 | ||
116 | - /** | ||
117 | - * 修改告警联系人数据 | ||
118 | - * | ||
119 | - * @param alarmContactDTO 对象 | ||
120 | - * @return Integer | ||
121 | - */ | ||
122 | - @Override | ||
123 | - @Transactional | ||
124 | - public boolean update(AlarmContactDTO alarmContactDTO) { | ||
125 | - | ||
126 | - // 得到对象 | ||
127 | - AlarmContact alarmContact = baseMapper.selectById(alarmContactDTO.getId()); | ||
128 | - if (alarmContact == null) { | ||
129 | - throw new YtDataValidationException("此数据不存在"); | ||
130 | - } | ||
131 | - if (checkPhoneEmail(alarmContact.getTenantId(),alarmContactDTO.getPhone(), alarmContactDTO.getEmail()).size() > 1) { | ||
132 | - throw new YtDataValidationException(ErrorMessage.PHONE_OR_EMAIL_HAS_REGISTER.getMessage()); | ||
133 | - } | ||
134 | - AlarmContact entity = alarmContactDTO.getEntity(AlarmContact.class); | ||
135 | - System.out.println(alarmContact); | ||
136 | - baseMapper.updateById(entity); | ||
137 | - alarmContact.copyToDTO(alarmContactDTO); | ||
138 | - return true; | 104 | + @Override |
105 | + @Transactional | ||
106 | + public AlarmContactDTO saveAlarmContact(String tenantId, AlarmContactDTO alarmContactDTO) { | ||
107 | + LambdaQueryWrapper<AlarmContact> Wrapper = | ||
108 | + tenantWapper(tenantId).eq(AlarmContact::getUsername, alarmContactDTO.getUsername()); | ||
109 | + int Count = baseMapper.selectCount(Wrapper); | ||
110 | + if (Count > 0) { | ||
111 | + throw new YtDataValidationException( | ||
112 | + String.format(ErrorMessage.NAME_EXISTED.getMessage(), alarmContactDTO.getUsername())); | ||
113 | + } | ||
114 | + if (checkPhoneEmail(tenantId, alarmContactDTO.getPhone(), alarmContactDTO.getEmail()).size() | ||
115 | + > 0) { | ||
116 | + throw new YtDataValidationException(ErrorMessage.PHONE_OR_EMAIL_HAS_REGISTER.getMessage()); | ||
139 | } | 117 | } |
118 | + alarmContactDTO.setTenantId(tenantId); | ||
119 | + AlarmContact alarmContact = alarmContactDTO.getEntity(AlarmContact.class); | ||
120 | + int insertCount = baseMapper.insert(alarmContact); | ||
121 | + if (insertCount > 0) { | ||
122 | + alarmContact.copyToDTO(alarmContactDTO); | ||
123 | + return alarmContactDTO; | ||
124 | + } | ||
125 | + return null; | ||
126 | + } | ||
127 | + | ||
128 | + /** | ||
129 | + * 删除告警联系人,byId | ||
130 | + * | ||
131 | + * @param alarmIds 通过列表id | ||
132 | + * @return Integer | ||
133 | + */ | ||
134 | + @Override | ||
135 | + @Transactional | ||
136 | + public boolean delete(String[] alarmIds) { | ||
137 | + Set<String> ids = Set.of(alarmIds); | ||
138 | + baseMapper.deleteBatchIds(ids); | ||
139 | + return true; | ||
140 | + } | ||
140 | 141 | ||
142 | + /** | ||
143 | + * 修改告警联系人数据 | ||
144 | + * | ||
145 | + * @param alarmContactDTO 对象 | ||
146 | + * @return Integer | ||
147 | + */ | ||
148 | + @Override | ||
149 | + @Transactional | ||
150 | + public boolean update(AlarmContactDTO alarmContactDTO) { | ||
141 | 151 | ||
142 | - private List<String> checkPhoneEmail(String tenantId,String phone, String email) { | ||
143 | - return baseMapper.selectList(new QueryWrapper<AlarmContact>() | ||
144 | - .lambda() | ||
145 | - .eq(AlarmContact::getTenantId,tenantId) | ||
146 | - .and(second -> second.eq(email!=null,AlarmContact::getEmail, email) | ||
147 | - .or(f -> f.eq(phone !=null,AlarmContact::getPhone, phone))) | ||
148 | - ) | ||
149 | - .stream().map(i -> i.getId()).collect(Collectors.toList()); | 152 | + // 得到对象 |
153 | + AlarmContact alarmContact = baseMapper.selectById(alarmContactDTO.getId()); | ||
154 | + if (alarmContact == null) { | ||
155 | + throw new YtDataValidationException("此数据不存在"); | ||
150 | } | 156 | } |
157 | + if (checkPhoneEmail( | ||
158 | + alarmContact.getTenantId(), alarmContactDTO.getPhone(), alarmContactDTO.getEmail()) | ||
159 | + .size() | ||
160 | + > 1) { | ||
161 | + throw new YtDataValidationException(ErrorMessage.PHONE_OR_EMAIL_HAS_REGISTER.getMessage()); | ||
162 | + } | ||
163 | + AlarmContact entity = alarmContactDTO.getEntity(AlarmContact.class); | ||
164 | + System.out.println(alarmContact); | ||
165 | + baseMapper.updateById(entity); | ||
166 | + alarmContact.copyToDTO(alarmContactDTO); | ||
167 | + return true; | ||
168 | + } | ||
169 | + | ||
170 | + private List<String> checkPhoneEmail(String tenantId, String phone, String email) { | ||
171 | + return baseMapper | ||
172 | + .selectList( | ||
173 | + new QueryWrapper<AlarmContact>() | ||
174 | + .lambda() | ||
175 | + .eq(AlarmContact::getTenantId, tenantId) | ||
176 | + .and( | ||
177 | + second -> | ||
178 | + second | ||
179 | + .eq(email != null, AlarmContact::getEmail, email) | ||
180 | + .or(f -> f.eq(phone != null, AlarmContact::getPhone, phone)))) | ||
181 | + .stream() | ||
182 | + .map(i -> i.getId()) | ||
183 | + .collect(Collectors.toList()); | ||
184 | + } | ||
151 | 185 | ||
152 | - /** | ||
153 | - * @param queryMap 查询集合 | ||
154 | - * @return PageData | ||
155 | - */ | ||
156 | - @Override | ||
157 | - public YtPageData<AlarmContactDTO> page( | ||
158 | - String tenantId, | ||
159 | - boolean isPtTenantAdmin, | ||
160 | - String currentUserId, | ||
161 | - Map<String, Object> queryMap) { | ||
162 | - // 查询分页,加入条模糊条件查询 | ||
163 | - String organizationId = (String) queryMap.get("organizationId"); | ||
164 | - queryMap.put("tenantId", tenantId); | ||
165 | - if (StringUtils.isNotEmpty(organizationId)) { | ||
166 | - Set<String> ids = new HashSet<>(); | ||
167 | - ids.add(organizationId); | ||
168 | - // 查询该组织的所有子类 | ||
169 | - List<OrganizationDTO> organizationDTOS = | ||
170 | - ytOrganizationMapper.findOrganizationTreeList(tenantId, ids); | ||
171 | - List<String> queryOrganizationIds = new ArrayList<>(); | ||
172 | - organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId())); | ||
173 | - queryMap.put("organizationIds", queryOrganizationIds); | ||
174 | - } else { | ||
175 | - if (!isPtTenantAdmin) { | ||
176 | - List<String> queryOrganizationIds = | ||
177 | - userOrganizationMappingService.getOrganizationIdsByUserId(currentUserId); | ||
178 | - queryMap.put("organizationIds", queryOrganizationIds); | ||
179 | - } | ||
180 | - } | ||
181 | - IPage<AlarmContact> page = getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false); | ||
182 | - IPage<AlarmContactDTO> pageDto = baseMapper.getAlarmPage(page, queryMap); | ||
183 | - return getPageData(pageDto, AlarmContactDTO.class); | 186 | + /** |
187 | + * @param queryMap 查询集合 | ||
188 | + * @return PageData | ||
189 | + */ | ||
190 | + @Override | ||
191 | + public YtPageData<AlarmContactDTO> page( | ||
192 | + String tenantId, | ||
193 | + boolean isPtTenantAdmin, | ||
194 | + String currentUserId, | ||
195 | + Map<String, Object> queryMap) { | ||
196 | + // 查询分页,加入条模糊条件查询 | ||
197 | + String organizationId = (String) queryMap.get("organizationId"); | ||
198 | + queryMap.put("tenantId", tenantId); | ||
199 | + if (StringUtils.isNotEmpty(organizationId)) { | ||
200 | + Set<String> ids = new HashSet<>(); | ||
201 | + ids.add(organizationId); | ||
202 | + // 查询该组织的所有子类 | ||
203 | + List<OrganizationDTO> organizationDTOS = | ||
204 | + ytOrganizationMapper.findOrganizationTreeList(tenantId, ids); | ||
205 | + List<String> queryOrganizationIds = new ArrayList<>(); | ||
206 | + organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId())); | ||
207 | + queryMap.put("organizationIds", queryOrganizationIds); | ||
208 | + } else { | ||
209 | + if (!isPtTenantAdmin) { | ||
210 | + List<String> queryOrganizationIds = | ||
211 | + userOrganizationMappingService.getOrganizationIdsByUserId(currentUserId); | ||
212 | + queryMap.put("organizationIds", queryOrganizationIds); | ||
213 | + } | ||
184 | } | 214 | } |
215 | + IPage<AlarmContact> page = getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false); | ||
216 | + IPage<AlarmContactDTO> pageDto = baseMapper.getAlarmPage(page, queryMap); | ||
217 | + return getPageData(pageDto, AlarmContactDTO.class); | ||
218 | + } | ||
185 | } | 219 | } |
@@ -18,6 +18,14 @@ public interface YtAlarmContactService extends BaseService<AlarmContact> { | @@ -18,6 +18,14 @@ public interface YtAlarmContactService extends BaseService<AlarmContact> { | ||
18 | List<AlarmContactDTO> findAll(String tenantId, Map<String, Object> params); | 18 | List<AlarmContactDTO> findAll(String tenantId, Map<String, Object> params); |
19 | 19 | ||
20 | /** | 20 | /** |
21 | + * 查询该组织下的所有告警联系人 | ||
22 | + * @param tenantId 租户ID | ||
23 | + * @param organizationId 组织ID | ||
24 | + * @return 告警人列表 | ||
25 | + */ | ||
26 | + List<AlarmContactDTO> findAllByOrganizationId(String tenantId, String organizationId); | ||
27 | + | ||
28 | + /** | ||
21 | * 添加告警联系人 | 29 | * 添加告警联系人 |
22 | * | 30 | * |
23 | * @param alarmContactDTO 对象 | 31 | * @param alarmContactDTO 对象 |