浏览代码

绑定手机号路径过滤

黄远 5 年之前
父节点
当前提交
b7c6cc3d8d

+ 0 - 57
lift-push/src/main/java/cn/com/ty/lift/push/websocket/common/WebSocketConstants.java

@@ -1,57 +0,0 @@
-package cn.com.ty.lift.push.websocket.common;
-
-/**
- * @author huangyuan
- * @date 2020/4/29
- * @description 消息推送常量
- */
-public class WebSocketConstants {
-
-    /**
-     * 推送当前用户信息
-     */
-    public static final String CURRENT_TIMEY_USER = "currentTimeyUser";
-
-    /**
-     * 查看标识 已经查看
-     */
-    public static final int IS_VIEW = 1;
-
-    public static final int IS_NOT_VIEW = 0;
-
-    /**
-     * 消息类型
-     */
-    public interface MessageType {
-        /**
-         * 团队消息
-         */
-        int TEAM_MSG = 1;
-
-        /**
-         * 工作消息
-         */
-        int WORK_MSG = 2;
-
-        /**
-         * 保养消息
-         */
-        int MAINTENANCE_MSG = 3;
-
-        /**
-         * 急修消息
-         */
-        int EMERGENCY_MSG = 4;
-
-        /**
-         * 年检
-         */
-        int INSPECTION_MSG = 5;
-
-        /**
-         * 提醒(消息简报)
-         */
-        int TIPS_MSG = 6;
-    }
-
-}

+ 28 - 27
lift-push/src/main/java/cn/com/ty/lift/push/websocket/config/WebSocketInterceptor.java

@@ -1,7 +1,8 @@
 package cn.com.ty.lift.push.websocket.config;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
-import cn.com.ty.lift.push.websocket.dao.entity.TimeyUser;
+import cn.com.ty.lift.common.constants.WebSocketConstants;
+import cn.com.ty.lift.common.model.TimeyUser;
 import org.springframework.http.server.ServerHttpRequest;
 import org.springframework.http.server.ServerHttpResponse;
 import org.springframework.http.server.ServletServerHttpRequest;
@@ -12,36 +13,36 @@ import javax.servlet.http.HttpSession;
 import java.util.Map;
 
 public class WebSocketInterceptor implements HandshakeInterceptor {
-	
-	/**
-	 * 进入handler之前的拦截
-	 */
-	@Override
-	public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,
-								   WebSocketHandler wsHandler, Map<String, Object> map) {
 
-	    if(request instanceof ServletServerHttpRequest) {
+    /**
+     * 进入handler之前的拦截
+     */
+    @Override
+    public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response,
+                                   WebSocketHandler wsHandler, Map<String, Object> map) {
+
+        if (request instanceof ServletServerHttpRequest) {
             ServletServerHttpRequest serverHttpRequest = (ServletServerHttpRequest) request;
-	    	HttpSession session = serverHttpRequest.getServletRequest().getSession();
-			TimeyUser timeyUser = (TimeyUser) session.getAttribute(ApiConstants.CURRENT_USER);
-            if(timeyUser != null) {
-            	map.put(ApiConstants.CURRENT_USER_ID, timeyUser.getUserId());
+            HttpSession session = serverHttpRequest.getServletRequest().getSession();
+            TimeyUser timeyUser = (TimeyUser) session.getAttribute(WebSocketConstants.CURRENT_TIMEY_USER);
+            if (timeyUser != null) {
+                map.put(ApiConstants.CURRENT_USER_ID, timeyUser.getUserId());
             }
-	    }
-	    return true;
-	}
+        }
+        return true;
+    }
 
-	@Override
-	public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
-							   Exception exception) {
+    @Override
+    public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,
+                               Exception exception) {
         ServletServerHttpRequest serverHttpRequest = (ServletServerHttpRequest) request;
-    	HttpSession session = serverHttpRequest.getServletRequest().getSession();
-        TimeyUser timeyUser = (TimeyUser) session.getAttribute(ApiConstants.CURRENT_USER);
-        if(timeyUser != null) {
-        	System.out.println("用户"+ timeyUser.getUserName() +"连接进入系统");
-		} else {
-			System.out.println("当前连接为空");
-		}
-	}
+        HttpSession session = serverHttpRequest.getServletRequest().getSession();
+        TimeyUser timeyUser = (TimeyUser) session.getAttribute(WebSocketConstants.CURRENT_TIMEY_USER);
+        if (timeyUser != null) {
+            System.out.println("用户" + timeyUser.getUserName() + "连接进入系统");
+        } else {
+            System.out.println("当前连接为空");
+        }
+    }
 
 }

+ 0 - 49
lift-push/src/main/java/cn/com/ty/lift/push/websocket/dao/entity/TimeyMessage.java

@@ -1,49 +0,0 @@
-package cn.com.ty.lift.push.websocket.dao.entity;
-
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-/**
- * @author huangyuan
- * @date 2019-12-22
- * @description
- */
-@Data
-public class TimeyMessage {
-
-    /**
-     * 消息id
-     */
-    private Long id;
-
-    /**
-     * 用户id,用推送的用户id
-     */
-    private Long userId;
-
-    /**
-     * 推送消息内容
-     */
-    private String content;
-
-    /**
-     * 消息类型 1.团队消息 2.工作消息 3.保养消息 4.急修消息 5.年检消息 6.提醒(经营简报)
-     */
-    private Integer type;
-
-    /**
-     * 查看标识:1:已经查看, 0:未查看
-     */
-    private Integer viewFlag;
-
-    /**
-     * 创建者id
-     */
-    private Long createUserId;
-
-    /**
-     * 创建时间
-     */
-    private LocalDateTime createTime;
-}

+ 0 - 20
lift-push/src/main/java/cn/com/ty/lift/push/websocket/dao/entity/TimeyUser.java

@@ -1,20 +0,0 @@
-package cn.com.ty.lift.push.websocket.dao.entity;
-
-import lombok.Data;
-
-/**
- * @author huangyuan
- * @date 2019-12-22
- * @description 实时消息用户信息类
- */
-@Data
-public class TimeyUser {
-    /**
-     * 用户id
-     */
-    private Long userId;
-    /**
-     * 用户昵称
-     */
-    private String userName;
-}

+ 1 - 1
lift-push/src/main/java/cn/com/ty/lift/push/websocket/dao/mapper/TimeyMessageMapper.java

@@ -1,6 +1,6 @@
 package cn.com.ty.lift.push.websocket.dao.mapper;
 
-import cn.com.ty.lift.push.websocket.dao.entity.TimeyMessage;
+import cn.com.ty.lift.common.model.TimeyMessage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
lift-push/src/main/java/cn/com/ty/lift/push/websocket/dao/entity/model/RealTimeMessage.java

@@ -1,6 +1,6 @@
-package cn.com.ty.lift.push.websocket.dao.entity.model;
+package cn.com.ty.lift.push.websocket.dao.model;
 
-import cn.com.ty.lift.push.websocket.dao.entity.TimeyMessage;
+import cn.com.ty.lift.common.model.TimeyMessage;
 import lombok.Data;
 
 import java.util.ArrayList;

+ 3 - 3
lift-push/src/main/java/cn/com/ty/lift/push/websocket/handler/TimeyMessageHandler.java

@@ -1,9 +1,9 @@
 package cn.com.ty.lift.push.websocket.handler;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
-import cn.com.ty.lift.push.websocket.common.WebSocketConstants;
-import cn.com.ty.lift.push.websocket.dao.entity.TimeyMessage;
-import cn.com.ty.lift.push.websocket.dao.entity.model.RealTimeMessage;
+import cn.com.ty.lift.common.constants.WebSocketConstants;
+import cn.com.ty.lift.common.model.TimeyMessage;
+import cn.com.ty.lift.push.websocket.dao.model.RealTimeMessage;
 import cn.com.ty.lift.push.websocket.service.TimeyMessageService;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

+ 1 - 1
lift-push/src/main/java/cn/com/ty/lift/push/websocket/service/TimeyMessageService.java

@@ -1,6 +1,6 @@
 package cn.com.ty.lift.push.websocket.service;
 
-import cn.com.ty.lift.push.websocket.dao.entity.TimeyMessage;
+import cn.com.ty.lift.common.model.TimeyMessage;
 import cn.com.ty.lift.push.websocket.dao.mapper.TimeyMessageMapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

+ 8 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IUserService.java

@@ -141,4 +141,12 @@ public interface IUserService {
      * @date 2020/4/29 9:02 上午
      */
     RestResponse modifyName(UserRequest userRequest);
+
+    /**
+     * @param companyId 公司id
+     * @return 用户id
+     * @description 获取公司指定角色的用户id
+     * @date 2020/4/30 10:26 上午
+     */
+    List<Long> getUserIdByCompanyIdAndRoleCode(long companyId, String roleCode);
 }

+ 7 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -2,6 +2,8 @@ package cn.com.ty.lift.system.user.service.impl;
 
 import cn.com.ty.lift.common.aliservice.constants.AliConstants;
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.constants.WebSocketConstants;
+import cn.com.ty.lift.common.model.TimeyUser;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
 import cn.com.ty.lift.system.settings.service.IMaintenanceCompanyService;
@@ -280,6 +282,11 @@ public class LoginService implements ILoginService {
         HttpSession session = request.getSession();
         //获取用户信息
         UserResponse userResponse = userService.getLoginUserInfo(userRequest.getUserId());
+        //将消息推送信息放入session中
+        TimeyUser timeyUser = new TimeyUser();
+        timeyUser.setUserId(userResponse.getUserId());
+        timeyUser.setUserName(userResponse.getName());
+        session.setAttribute(WebSocketConstants.CURRENT_TIMEY_USER, timeyUser);
         //将当前用户id放入session中
         session.setAttribute(ApiConstants.CURRENT_USER_ID, userResponse.getUserId());
         //将当前公司id放入session中

+ 7 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserApplicationService.java

@@ -1,6 +1,7 @@
 package cn.com.ty.lift.system.user.service.impl;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.system.constants.CommonConstants;
 import cn.com.ty.lift.system.user.dao.entity.MtCompanyUser;
@@ -82,6 +83,12 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
             if (ApiConstants.ApplicationConstants.APPLY_TYPE_TEAM == applyTypeTeam) {
                 //申请加入团队成功,给公司所有文员推送信息
                 //1.获取所有文员信息
+                List<Long> clerkIds = userService.getUserIdByCompanyIdAndRoleCode(companyId,
+                        CommonEnum.DefaultRole.CLERK.getCode());
+                if (clerkIds != null && clerkIds.size() > 0) {
+
+                }
+            } else {
 
             }
         } else {

+ 22 - 5
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -15,7 +15,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -40,9 +39,6 @@ public class UserService implements IUserService {
     @Resource
     private IUserInfoService userInfoService;
 
-    @Resource
-    private IUserService userService;
-
     @Resource
     private IMtCompanyUserService mtCompanyUserService;
 
@@ -62,7 +58,7 @@ public class UserService implements IUserService {
     private ILoginService loginService;
 
     @Resource
-    private RedisTemplate redisTemplate;
+    private IUserRoleService userRoleService;
 
     @Override
     @Transactional
@@ -423,6 +419,27 @@ public class UserService implements IUserService {
         return RestResponse.success(ApiConstants.RESULT_SUCCESS, "修改用户昵称成功");
     }
 
+    @Override
+    public List<Long> getUserIdByCompanyIdAndRoleCode(long companyId, String roleCode) {
+        List<Long> userIdList = new ArrayList<>();
+        Role role = roleService.getOne(new QueryWrapper<Role>()
+                .eq("company_id", companyId)
+                .eq("code", roleCode)
+        );
+        if (role != null) {
+            List<UserRole> userRoleList = userRoleService.list(new QueryWrapper<UserRole>()
+                    .select("user_id")
+                    .eq("role_id", role.getId())
+            );
+            if (userRoleList != null && userRoleList.size() > 0) {
+                userRoleList.forEach(userRole -> {
+                    userIdList.add(userRole.getUserId());
+                });
+            }
+        }
+        return userIdList;
+    }
+
     /**
      * @param userId 获取用户基本信息
      * @return 用户信息