From 42a2772d1aa7493bcc4fac3e24ee8eda4eebc23d Mon Sep 17 00:00:00 2001
From: xubinbin <1323875150@qq.com>
Date: 星期二, 12 十二月 2023 17:09:04 +0800
Subject: [PATCH] bugfix:请求头带token, SecurityUtils 获取用户id 一直为0 #1195

---
 src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 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 32b6ad6..30d9c13
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java
@@ -3,14 +3,17 @@
 import com.genersoft.iot.vmp.service.IUserService;
 import com.genersoft.iot.vmp.storager.dao.UserMapper;
 import com.genersoft.iot.vmp.storager.dao.dto.User;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.DigestUtils;
 
 import java.util.List;
 
 @Service
 public class UserServiceImpl implements IUserService {
-    
+
     @Autowired
     private UserMapper userMapper;
 
@@ -34,7 +37,9 @@
     @Override
     public int addUser(User user) {
         User userByUsername = userMapper.getUserByUsername(user.getUsername());
-        if (userByUsername != null) return 0;
+        if (userByUsername != null) {
+            return 0;
+        }
         return userMapper.add(user);
     }
     @Override
@@ -53,4 +58,35 @@
     }
 
 
+    @Override
+    public boolean checkPushAuthority(String callId, String sign) {
+
+        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
+    public PageInfo<User> getUsers(int page, int count) {
+        PageHelper.startPage(page, count);
+        List<User> users = userMapper.getUsers();
+        return new PageInfo<>(users);
+    }
+
+    @Override
+    public int changePushKey(int id, String pushKey) {
+        return userMapper.changePushKey(id,pushKey);
+    }
 }

--
Gitblit v1.8.0