|
|
@@ -543,9 +543,18 @@ public class EgDeviceServiceImpl extends AbstractCrudService<EgDeviceMapper, EgD
|
|
|
page = sysPersonMapper.selectPage(page, personWrapper);
|
|
|
|
|
|
List<SysPerson> records = page.getRecords();
|
|
|
+ List<Integer> pagePersonIds = new ArrayList<>();
|
|
|
+ for (SysPerson p : records) {
|
|
|
+ if (p != null && p.getId() != null) {
|
|
|
+ pagePersonIds.add(p.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<Integer, Long> personUserIdMap = buildPersonUserIdMap(pagePersonIds);
|
|
|
List<EgDeviceBindFacePersonVO> rows = new ArrayList<>(records.size());
|
|
|
for (SysPerson p : records) {
|
|
|
EgDeviceBindFacePersonVO vo = new EgDeviceBindFacePersonVO();
|
|
|
+ vo.setId(p.getId());
|
|
|
+ vo.setUserId(personUserIdMap.get(p.getId()));
|
|
|
vo.setFullName(p.getFullName());
|
|
|
vo.setAge(p.getAge());
|
|
|
vo.setGender(p.getGender());
|
|
|
@@ -559,6 +568,29 @@ public class EgDeviceServiceImpl extends AbstractCrudService<EgDeviceMapper, EgD
|
|
|
return new CommonPage<>(rows, page.getTotal(), sz, cur);
|
|
|
}
|
|
|
|
|
|
+ private Map<Integer, Long> buildPersonUserIdMap(List<Integer> personIds) {
|
|
|
+ Map<Integer, Long> map = new HashMap<>();
|
|
|
+ if (CollectionUtils.isEmpty(personIds)) {
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> rows = sysPersonMapper.selectUserIdsByPersonIds(personIds);
|
|
|
+ if (CollectionUtils.isEmpty(rows)) {
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ for (Map<String, Object> row : rows) {
|
|
|
+ if (row == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Object personIdObj = row.get("personId");
|
|
|
+ Object userIdObj = row.get("userId");
|
|
|
+ if (personIdObj == null || userIdObj == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ map.put(Integer.valueOf(personIdObj.toString()), Long.valueOf(userIdObj.toString()));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void bindPerson(Integer deviceId, String personIds, Integer isLoginNotify) {
|
|
|
if (deviceId == null) {
|