Forráskód Böngészése

移动端,企管员继续加入自己的团队,自己把自己的角色玩没了,BUG修复

yang 3 éve
szülő
commit
b0d3352698

+ 15 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/mapper/UserRoleMapper.java

@@ -3,19 +3,32 @@ package cn.com.ty.lift.system.user.dao.mapper;
 import cn.com.ty.lift.system.user.dao.entity.UserRole;
 import cn.com.xwy.boot.mybatis.MyBatisMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * MyBatis Mapper 接口 - 表:user_role
+ *
  * @since 2019-12-01 15:46:21
  */
 @MyBatisMapper
 public interface UserRoleMapper extends BaseMapper<UserRole> {
 
     /**
-     * @description 通过用户id和公司id获取用户角色关联关系
-     * @date 2019/11/27 10:03 AM
      * @param userRole 用户角色请求对象
      * @return
+     * @description 通过用户id和公司id获取用户角色关联关系
+     * @date 2019/11/27 10:03 AM
      */
     UserRole getByUserRole(UserRole userRole);
+
+
+    /**
+     * 企管员角色校验
+     *
+     * @param companyId   维保公司ID
+     * @param applyUserId 用户ID
+     * @return
+     */
+    int judgeEnterpriseAdmin(@Param("companyId") long companyId,
+                             @Param("applyUserId") long applyUserId);
 }

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

@@ -13,6 +13,7 @@ import cn.com.ty.lift.system.settings.service.IMaintenanceCompanyService;
 import cn.com.ty.lift.system.user.dao.entity.*;
 import cn.com.ty.lift.system.user.dao.entity.model.*;
 import cn.com.ty.lift.system.user.dao.mapper.UserApplicationMapper;
+import cn.com.ty.lift.system.user.dao.mapper.UserRoleMapper;
 import cn.com.ty.lift.system.user.service.*;
 import cn.com.ty.lift.system.utils.CommonUtil;
 import cn.com.xwy.boot.web.dto.RestResponse;
@@ -70,6 +71,9 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
     @Resource
     private JmsMessagingTemplate jmsMessagingTemplate;
 
+    @Resource
+    private UserRoleMapper userRoleMapper;
+
     private static final Map<Integer, String> permission = new HashMap<>();
 
     static {
@@ -83,6 +87,12 @@ public class UserApplicationService extends ServiceImpl<UserApplicationMapper, U
         long companyId = userApplyRequest.getCompanyId();
         //申请人id
         long applyUserId = userApplyRequest.getUserId();
+
+        //查询当前角色是否是企管员,如果是 禁止其加入
+        if (userRoleMapper.judgeEnterpriseAdmin(companyId,applyUserId)!=0){
+            return RestResponse.fail(ApiConstants.RESULT_ERROR, "您已经是该公司的企管员,无需继续加入..");
+        }
+
         //获取用户原有的申请信息
         List<UserApplication> userApplications = this.list(new QueryWrapper<UserApplication>()
                 .eq("mt_company_id", companyId)

+ 15 - 0
lift-system-service/src/main/resources/mapper/UserRoleMapper.xml

@@ -29,4 +29,19 @@
 		</if>
 	</select>
 
+	<!-- 公司用户企管员校验 -->
+	<select id="judgeEnterpriseAdmin" resultType="java.lang.Integer">
+		SELECT
+			COUNT(1)
+		FROM
+			user_role AS ur,
+			role AS r
+		WHERE
+			ur.role_id = r.id
+		AND ur.company_id = #{companyId}
+		AND ur.user_id = #{applyUserId}
+		AND r.`code` = "ENTERPRISE_ADMIN"
+		AND r.company_id = #{companyId}
+	</select>
+
 </mapper>