From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 29 五月 2024 15:02:51 +0800 Subject: [PATCH] 调整上级观看消息的发送 --- src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java | 28 +++++++++++++++++++++++----- 1 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java old mode 100644 new mode 100755 index f5dc7b0..fb97db9 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.service.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.genersoft.iot.vmp.service.IUserService; import com.genersoft.iot.vmp.storager.dao.UserMapper; import com.genersoft.iot.vmp.storager.dao.dto.User; @@ -7,11 +8,12 @@ import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; +import org.springframework.util.DigestUtils; import java.util.List; @Service +@DS("master") public class UserServiceImpl implements IUserService { @Autowired @@ -27,6 +29,11 @@ User user = userMapper.selectById(id); user.setPassword(password); return userMapper.update(user) > 0; + } + + @Override + public User getUserById(int id) { + return userMapper.selectById(id); } @Override @@ -60,11 +67,22 @@ @Override public boolean checkPushAuthority(String callId, String sign) { - if (StringUtils.isEmpty(callId)) { - return userMapper.checkPushAuthorityByCallId(sign).size() > 0; - }else { - return userMapper.checkPushAuthorityByCallIdAndSign(callId, sign).size() > 0; + + List<User> users = userMapper.getUsers(); + if (users.size() == 0) { + return false; } + for (User user : users) { + if (user.getPushKey() == null) { + continue; + } + String checkStr = callId == null? user.getPushKey():(callId + "_" + user.getPushKey()) ; + String checkSign = DigestUtils.md5DigestAsHex(checkStr.getBytes()); + if (checkSign.equals(sign)) { + return true; + } + } + return false; } @Override -- Gitblit v1.8.0