Browse Source

Merge pull request #126 from qiaozhanwei/dev-20190415

 api token update and  add tenant code check
乔占卫 6 years ago
parent
commit
40216b3446

+ 9 - 8
escheduler-api/src/main/java/cn/escheduler/api/service/AccessTokenService.java

@@ -58,15 +58,16 @@ public class AccessTokenService extends BaseService {
     public Map<String, Object> queryAccessTokenList(User loginUser, String searchVal, Integer pageNo, Integer pageSize) {
         Map<String, Object> result = new HashMap<>(5);
 
-        if (check(result, !isAdmin(loginUser), Status.USER_NO_OPERATION_PERM, Constants.STATUS)) {
-            return result;
-        }
-
-        Integer count = accessTokenMapper.countAccessTokenPaging(searchVal);
-
         PageInfo<AccessToken> pageInfo = new PageInfo<>(pageNo, pageSize);
-
-        List<AccessToken> accessTokenList = accessTokenMapper.queryAccessTokenPaging(searchVal, pageInfo.getStart(), pageSize);
+        Integer count;
+        List<AccessToken> accessTokenList;
+        if (loginUser.getUserType() == UserType.ADMIN_USER){
+             count = accessTokenMapper.countAccessTokenPaging(0,searchVal);
+            accessTokenList = accessTokenMapper.queryAccessTokenPaging(0,searchVal, pageInfo.getStart(), pageSize);
+        }else {
+            count = accessTokenMapper.countAccessTokenPaging(loginUser.getId(),searchVal);
+            accessTokenList = accessTokenMapper.queryAccessTokenPaging(loginUser.getId(),searchVal, pageInfo.getStart(), pageSize);
+        }
 
         pageInfo.setTotalCount(count);
         pageInfo.setLists(accessTokenList);

+ 4 - 0
escheduler-api/src/main/java/cn/escheduler/api/service/TenantService.java

@@ -80,6 +80,10 @@ public class TenantService extends BaseService{
     Tenant tenant = new Tenant();
     Date now = new Date();
 
+    if (!tenantCode.matches("^[0-9a-zA-Z_.]{1,}$") || tenantCode.startsWith("-")){
+      putMsg(result, Status.VERIFY_TENANT_CODE_ERROR);
+      return result;
+    }
     tenant.setTenantCode(tenantCode);
     tenant.setTenantName(tenantName);
     tenant.setQueueId(queueId);

+ 4 - 2
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapper.java

@@ -74,7 +74,8 @@ public interface AccessTokenMapper {
             @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE)
     })
     @SelectProvider(type = AccessTokenMapperProvider.class, method = "queryAccessTokenPaging")
-    List<AccessToken> queryAccessTokenPaging(@Param("searchVal") String searchVal,
+    List<AccessToken> queryAccessTokenPaging(@Param("userId") Integer userId,
+                                             @Param("searchVal") String searchVal,
                                              @Param("offset") Integer offset,
                                              @Param("pageSize") Integer pageSize);
 
@@ -84,5 +85,6 @@ public interface AccessTokenMapper {
      * @return
      */
     @SelectProvider(type = AccessTokenMapperProvider.class, method = "countAccessTokenPaging")
-    Integer countAccessTokenPaging(@Param("searchVal") String searchVal);
+    Integer countAccessTokenPaging(@Param("userId") Integer userId
+                            ,@Param("searchVal") String searchVal);
 }

+ 6 - 0
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/AccessTokenMapperProvider.java

@@ -97,6 +97,9 @@ public class AccessTokenMapperProvider {
             FROM(TABLE_NAME + " t,t_escheduler_user u");
             Object searchVal = parameter.get("searchVal");
             WHERE("u.id = t.user_id");
+            if(parameter.get("userId") != null && (int)parameter.get("userId") != 0){
+                WHERE(" u.id = #{userId}");
+            }
             if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){
                 WHERE(" u.user_name like concat('%', #{searchVal}, '%')");
             }
@@ -115,6 +118,9 @@ public class AccessTokenMapperProvider {
                 FROM(TABLE_NAME + " t,t_escheduler_user u");
                 Object searchVal = parameter.get("searchVal");
                 WHERE("u.id = t.user_id");
+                if(parameter.get("userId") != null && (int)parameter.get("userId") != 0){
+                    WHERE(" u.id = #{userId}");
+                }
                 if(searchVal != null && StringUtils.isNotEmpty(searchVal.toString())){
                     WHERE(" u.user_name like concat('%', #{searchVal}, '%') ");
                 }

+ 2 - 2
escheduler-dao/src/test/java/cn/escheduler/dao/mapper/AccessTokenMapperTest.java

@@ -51,10 +51,10 @@ public class AccessTokenMapperTest {
 
     @Test
     public void testListPaging(){
-        Integer count = accessTokenMapper.countAccessTokenPaging("");
+        Integer count = accessTokenMapper.countAccessTokenPaging(1,"");
         Assert.assertEquals(count, (Integer) 5);
 
-        List<AccessToken> accessTokenList = accessTokenMapper.queryAccessTokenPaging("", 0, 2);
+        List<AccessToken> accessTokenList = accessTokenMapper.queryAccessTokenPaging(1,"", 0, 2);
         Assert.assertEquals(accessTokenList.size(), 5);
     }