AdminServiceImpl.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.genersoft.iot.vmp.service.impl;
  2. import com.genersoft.iot.vmp.gb28181.bean.Device;
  3. import com.genersoft.iot.vmp.service.IAdminService;
  4. import com.genersoft.iot.vmp.storager.dao.AdminMapper;
  5. import com.genersoft.iot.vmp.storager.dao.DeviceMapper;
  6. import com.genersoft.iot.vmp.storager.dao.dto.AdminAccount;
  7. import com.genersoft.iot.vmp.utils.DateUtil;
  8. import com.github.pagehelper.PageHelper;
  9. import com.github.pagehelper.PageInfo;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.util.DigestUtils;
  15. import org.springframework.util.ObjectUtils;
  16. import java.util.List;
  17. @Service
  18. public class AdminServiceImpl implements IAdminService {
  19. private final static Logger logger = LoggerFactory.getLogger(AdminServiceImpl.class);
  20. @Autowired
  21. private AdminMapper adminMapper;
  22. @Autowired
  23. private DeviceMapper deviceMapper;
  24. @Override
  25. public AdminAccount getUser(String username, String password) {
  26. return adminMapper.select(username, password);
  27. }
  28. @Override
  29. public int getUserCount() {
  30. List<AdminAccount> adminAccounts = adminMapper.getAllAdmin();
  31. return adminAccounts.size();
  32. }
  33. public boolean registerAdmin(String username, String password) {
  34. AdminAccount adminAccount = new AdminAccount();
  35. adminAccount.setUsername(username);
  36. adminAccount.setPassword(password);
  37. // adminAccount.setPassword(DigestUtils.md5DigestAsHex(password.getBytes()));
  38. //新增用户的pushKey的生成规则为md5(时间戳+用户名)
  39. adminAccount.setPushKey(DigestUtils.md5DigestAsHex((System.currentTimeMillis() + password).getBytes()));
  40. adminAccount.setCreateTime(DateUtil.getNow());
  41. adminAccount.setUpdateTime(DateUtil.getNow());
  42. return adminMapper.addAdmin(adminAccount) > 0;
  43. }
  44. @Override
  45. public boolean changePassword(String id, String password) {
  46. AdminAccount adminAccount = adminMapper.selectById(id);
  47. adminAccount.setPassword(password);
  48. return adminMapper.update(adminAccount) > 0;
  49. }
  50. @Override
  51. public AdminAccount getUserByUsername(String username) {
  52. return adminMapper.getUserByUsername(username);
  53. }
  54. @Override
  55. public AdminAccount getUserById(String adminId) {
  56. return adminMapper.getUserById(adminId);
  57. }
  58. @Override
  59. public int addUser(AdminAccount adminAccount) {
  60. AdminAccount adminAccountByUsername = adminMapper.getUserByUsername(adminAccount.getUsername());
  61. if (adminAccountByUsername != null) {
  62. return 0;
  63. }
  64. return adminMapper.add(adminAccount);
  65. }
  66. @Override
  67. public int deleteUser(int id) {
  68. return adminMapper.delete(id);
  69. }
  70. @Override
  71. public List<AdminAccount> getAllUsers() {
  72. return adminMapper.selectAll();
  73. }
  74. @Override
  75. public int updateUsers(AdminAccount adminAccount) {
  76. return adminMapper.update(adminAccount);
  77. }
  78. @Override
  79. public boolean checkPushAuthority(String callId, String sign) {
  80. if (ObjectUtils.isEmpty(callId)) {
  81. return adminMapper.checkPushAuthorityByCallId(sign).size() > 0;
  82. }else {
  83. return adminMapper.checkPushAuthorityByCallIdAndSign(callId, sign).size() > 0;
  84. }
  85. }
  86. @Override
  87. public PageInfo<AdminAccount> getUsers(int page, int count) {
  88. PageHelper.startPage(page, count);
  89. List<AdminAccount> adminAccounts = adminMapper.getUsers();
  90. return new PageInfo<>(adminAccounts);
  91. }
  92. @Override
  93. public int changePushKey(String id, String pushKey) {
  94. return adminMapper.changePushKey(id, pushKey);
  95. }
  96. @Override
  97. public String getPushKey(String id) {
  98. List<AdminAccount> adminAccounts = adminMapper.getPushKey(id);
  99. if (!adminAccounts.isEmpty()) {
  100. return adminAccounts.get(0).getPushKey();
  101. }
  102. return null;
  103. }
  104. // 获取当前管理员的设备
  105. public Device getAdminDevice(String adminId, String devId) {
  106. return adminMapper.getDeviceByAdminIdAndDevId(adminId, devId);
  107. }
  108. // 获取某个管理员账户下的所有设备
  109. public List<Device> getAdminDevices(String adminId) {
  110. return adminMapper.getDevicesByAdminId(adminId);
  111. }
  112. public PageInfo<Device> searchDevicesByAdminId(
  113. String adminId, String domain, Boolean online, int page, int count) {
  114. PageHelper.startPage(page, count);
  115. List<Device> all = adminMapper.searchDevice(adminId, domain, online);
  116. return new PageInfo<>(all);
  117. }
  118. // 获取某个管理员设备,根据设备国标id
  119. public Device getAdminDeviceBySipId(String adminId, String deviceSipId) {
  120. // logger.info("getAdminDeviceBySipId get admin:{} device:{}", adminId, deviceSipId);
  121. // 获取设备
  122. Device device = adminMapper.getAdminDeviceBySipId(adminId, deviceSipId);
  123. if (device == null) {
  124. return null;
  125. }
  126. return device;
  127. }
  128. }