123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package com.genersoft.iot.vmp.service.impl;
- import com.genersoft.iot.vmp.gb28181.bean.Device;
- import com.genersoft.iot.vmp.service.IAdminService;
- import com.genersoft.iot.vmp.storager.dao.AdminMapper;
- import com.genersoft.iot.vmp.storager.dao.DeviceMapper;
- import com.genersoft.iot.vmp.storager.dao.dto.AdminAccount;
- import com.genersoft.iot.vmp.utils.DateUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.DigestUtils;
- import org.springframework.util.ObjectUtils;
- import java.util.List;
- @Service
- public class AdminServiceImpl implements IAdminService {
- private final static Logger logger = LoggerFactory.getLogger(AdminServiceImpl.class);
- @Autowired
- private AdminMapper adminMapper;
- @Autowired
- private DeviceMapper deviceMapper;
- @Override
- public AdminAccount getUser(String username, String password) {
- return adminMapper.select(username, password);
- }
- @Override
- public int getUserCount() {
- List<AdminAccount> adminAccounts = adminMapper.getAllAdmin();
- return adminAccounts.size();
- }
- public boolean registerAdmin(String username, String password) {
- AdminAccount adminAccount = new AdminAccount();
- adminAccount.setUsername(username);
- adminAccount.setPassword(password);
- // adminAccount.setPassword(DigestUtils.md5DigestAsHex(password.getBytes()));
- //新增用户的pushKey的生成规则为md5(时间戳+用户名)
- adminAccount.setPushKey(DigestUtils.md5DigestAsHex((System.currentTimeMillis() + password).getBytes()));
- adminAccount.setCreateTime(DateUtil.getNow());
- adminAccount.setUpdateTime(DateUtil.getNow());
- return adminMapper.addAdmin(adminAccount) > 0;
- }
- @Override
- public boolean changePassword(String id, String password) {
- AdminAccount adminAccount = adminMapper.selectById(id);
- adminAccount.setPassword(password);
- return adminMapper.update(adminAccount) > 0;
- }
- @Override
- public AdminAccount getUserByUsername(String username) {
- return adminMapper.getUserByUsername(username);
- }
- @Override
- public AdminAccount getUserById(String adminId) {
- return adminMapper.getUserById(adminId);
- }
- @Override
- public int addUser(AdminAccount adminAccount) {
- AdminAccount adminAccountByUsername = adminMapper.getUserByUsername(adminAccount.getUsername());
- if (adminAccountByUsername != null) {
- return 0;
- }
- return adminMapper.add(adminAccount);
- }
- @Override
- public int deleteUser(int id) {
- return adminMapper.delete(id);
- }
- @Override
- public List<AdminAccount> getAllUsers() {
- return adminMapper.selectAll();
- }
- @Override
- public int updateUsers(AdminAccount adminAccount) {
- return adminMapper.update(adminAccount);
- }
- @Override
- public boolean checkPushAuthority(String callId, String sign) {
- if (ObjectUtils.isEmpty(callId)) {
- return adminMapper.checkPushAuthorityByCallId(sign).size() > 0;
- }else {
- return adminMapper.checkPushAuthorityByCallIdAndSign(callId, sign).size() > 0;
- }
- }
- @Override
- public PageInfo<AdminAccount> getUsers(int page, int count) {
- PageHelper.startPage(page, count);
- List<AdminAccount> adminAccounts = adminMapper.getUsers();
- return new PageInfo<>(adminAccounts);
- }
- @Override
- public int changePushKey(String id, String pushKey) {
- return adminMapper.changePushKey(id, pushKey);
- }
- @Override
- public String getPushKey(String id) {
- List<AdminAccount> adminAccounts = adminMapper.getPushKey(id);
- if (!adminAccounts.isEmpty()) {
- return adminAccounts.get(0).getPushKey();
- }
- return null;
- }
- // 获取当前管理员的设备
- public Device getAdminDevice(String adminId, String devId) {
- return adminMapper.getDeviceByAdminIdAndDevId(adminId, devId);
- }
- // 获取某个管理员账户下的所有设备
- public List<Device> getAdminDevices(String adminId) {
- return adminMapper.getDevicesByAdminId(adminId);
- }
- public PageInfo<Device> searchDevicesByAdminId(
- String adminId, String domain, Boolean online, int page, int count) {
- PageHelper.startPage(page, count);
- List<Device> all = adminMapper.searchDevice(adminId, domain, online);
- return new PageInfo<>(all);
- }
- // 获取某个管理员设备,根据设备国标id
- public Device getAdminDeviceBySipId(String adminId, String deviceSipId) {
- // logger.info("getAdminDeviceBySipId get admin:{} device:{}", adminId, deviceSipId);
- // 获取设备
- Device device = adminMapper.getAdminDeviceBySipId(adminId, deviceSipId);
- if (device == null) {
- return null;
- }
- return device;
- }
- }
|