Skip to content

Commit 1d8879a

Browse files
yangyx107Aias00
andauthored
feat: Add new role search criteria (#6282)
* feat: Add new role search criteria * feat: Add new role search criteria * feat: Add new role search criteria --------- Co-authored-by: aias00 <liuhongyu@apache.org>
1 parent 64ad46f commit 1d8879a

File tree

4 files changed

+38
-2
lines changed

4 files changed

+38
-2
lines changed

shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,16 @@ public PluginController(final PluginService pluginService) {
6565
*
6666
* @param name plugin name.
6767
* @param enabled plugin enabled.
68+
* @param role plugin role.
6869
* @param currentPage current page.
6970
* @param pageSize page size.
7071
* @return {@linkplain ShenyuAdminResult}
7172
*/
7273
@GetMapping
73-
public ShenyuAdminResult queryPlugins(final String name, final Integer enabled,
74+
public ShenyuAdminResult queryPlugins(final String name, final Integer enabled, final String role,
7475
@NotNull final Integer currentPage,
7576
@NotNull final Integer pageSize) {
76-
CommonPager<PluginVO> commonPager = pluginService.listByPage(new PluginQuery(name, enabled, new PageParameter(currentPage, pageSize)));
77+
CommonPager<PluginVO> commonPager = pluginService.listByPage(new PluginQuery(name, enabled, role, new PageParameter(currentPage, pageSize)));
7778
return ShenyuAdminResult.success(ShenyuResultMessage.QUERY_SUCCESS, commonPager);
7879
}
7980

shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/PluginQuery.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ public class PluginQuery implements Serializable {
3434
*/
3535
private String name;
3636

37+
/**
38+
* plugin role.
39+
*/
40+
private String role;
41+
3742
/**
3843
* plugin enabled.
3944
*/
@@ -53,6 +58,13 @@ public PluginQuery(final String name, final Integer enabled, final PageParameter
5358
this.pageParameter = pageParameter;
5459
}
5560

61+
public PluginQuery(final String name, final Integer enabled, final String role, final PageParameter pageParameter) {
62+
this.name = name;
63+
this.enabled = enabled;
64+
this.role = role;
65+
this.pageParameter = pageParameter;
66+
}
67+
5668
/**
5769
* Gets the value of name.
5870
*
@@ -89,6 +101,24 @@ public void setEnabled(final Integer enabled) {
89101
this.enabled = enabled;
90102
}
91103

104+
/**
105+
* Gets the value of role.
106+
*
107+
* @return the value of role
108+
*/
109+
public String getRole() {
110+
return role;
111+
}
112+
113+
/**
114+
* Sets the role.
115+
*
116+
* @param role role
117+
*/
118+
public void setRole(final String role) {
119+
this.role = role;
120+
}
121+
92122
/**
93123
* Gets the value of pageParameter.
94124
*

shenyu-admin/src/main/resources/mappers/plugin-sqlmap.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@
9393
<bind name="nameLike" value="('%' + name + '%')"/>
9494
AND name LIKE #{nameLike, jdbcType=VARCHAR}
9595
</if>
96+
<if test="role != null and role != ''">
97+
<bind name="role" value="('%' + role + '%')"/>
98+
AND role LIKE #{role, jdbcType=VARCHAR}
99+
</if>
96100
<if test="enabled != null">
97101
AND enabled = #{enabled, jdbcType=TINYINT}
98102
</if>

shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/PluginControllerTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public void testQueryPlugins() throws Exception {
110110
this.mockMvc.perform(MockMvcRequestBuilders.get("/plugin-template")
111111
.param("name", "t_n")
112112
.param("enabled", "1")
113+
.param("role", "super")
113114
.param("currentPage", String.valueOf(pageParameter.getCurrentPage()))
114115
.param("pageSize", String.valueOf(pageParameter.getPageSize())))
115116
.andExpect(status().isOk())

0 commit comments

Comments
 (0)