Skip to content
Snippets Groups Projects
Commit e9575327 authored by wyl's avatar wyl
Browse files

update page select of commonAdmin

parent 42edbabb
No related branches found
No related tags found
No related merge requests found
Showing with 178 additions and 12 deletions
......@@ -71,4 +71,15 @@ public class SuperAdminController {
Result result= superAdminService.update(selectDTO);
return result;
}
/**
* page selete
*/
@GetMapping("/pageSelect")
public Result pageSelect(@RequestParam String type,@RequestParam Integer pageSize,@RequestParam Integer pageNumber){
Result result=superAdminService.selectPage(type,pageSize,pageNumber);
return result;
}
}
......@@ -46,4 +46,6 @@ public interface SuperAdminService {
* @return
*/
Result selectByItem(SelectDTO selectDTO);
Result selectPage(String type, Integer pageSize, int i);
}
package com.cardiff.client_project.service.impl;
package com.cardiff.client_project.service.imp;
import com.cardiff.client_project.mapper.HospitalMapper;
import com.cardiff.client_project.pojo.dto.HospitalDTO;
......
......@@ -200,5 +200,25 @@ public class SuperAdminServiceImp implements SuperAdminService {
}
}
@Override
public Result selectPage(String type, Integer pageSize, int pageNumber) {
if(type.equals("commonAdmin")){
List<CommonAdmin> commonAdmins = superAdminMapper.selectPageCommonAdmin(pageSize, pageNumber);
//get all and count items
List<AdminVO> adminVOS = superAdminMapper.selectAllAdmin();
if(commonAdmins.size()>0){
System.out.println(adminVOS.size());
Integer count=adminVOS.size()%pageSize==0?adminVOS.size()/pageSize:adminVOS.size()/pageSize+1;
return Result.success(count.toString(),commonAdmins);
}
}
if(type.equals("hospital")){
}
return Result.error(ResponseCode.ERROR);
}
}
......@@ -3,4 +3,4 @@ healthcare:
url: jdbc:mysql://localhost:3306/health_care
port: 3306
username: root
password: 472500
\ No newline at end of file
password: root
\ No newline at end of file
......@@ -280,7 +280,7 @@ function updateTable(data) {
<td class="tdOption">
<label id="edit" class="btn">Edit</label>
<label id="delete" class="btn">Delete</label>
<label id="freeze" class="btn">Freeze</label>
<label id="freeze" class="btn">Change status</label>
</td>
</tr>
`;
......
......@@ -247,23 +247,36 @@ function updateTable(data) {
<td class="tdOption">
<label id="edit" class="btn">Edit</label>
<label id="delete" class="btn">Delete</label>
<label id="freeze" class="btn">Freeze</label>
<label id="freeze" class="btn">Change status</label>
</td>
</tr>
`;
tbody.append(tr);
});
}
$(document).on("change","#page-size",function (){
let pageSize=document.getElementById("page-size").value
function pageSelect(pageSize,paginationDiv,pageNumber) {
$.ajax({
contentType: "application/json",
url: `/superAdmin/pageSelect?type=commonAdmin&pageSize=${pageSize}`,
url: `/superAdmin/pageSelect?type=commonAdmin&pageSize=${pageSize}&pageNumber=${pageNumber}`,
type: "GET",
dataType: "Json",
success: function (data) {
console.log(data)
console.log(data)
if (data.code != 0) {
console.log(data.code)
console.log(data.data)
paginationDiv.innerHTML = ""; //clear old button
for (let i = 1; i <= data.msg; i++) {
const button = document.createElement("button");
button.textContent = i;
button.style.margin = "0 5px";
button.style.padding = "5px 10px";
button.style.cursor = "pointer";
button.onclick = () => pageSelect(pageSize,paginationDiv,button.textContent);
paginationDiv.appendChild(button);
}
updateTable(data.data)
//location.reload()
} else {
......@@ -271,5 +284,10 @@ $(document).on("change","#page-size",function (){
}
},
})
}
$(document).on("change","#page-size",function (){
let pageSize=document.getElementById("page-size").value
let paginationDiv = document.getElementById("pagination");
pageSelect(pageSize,paginationDiv,"1");
})
\ No newline at end of file
......@@ -60,7 +60,7 @@
<td class="tdOption">
<label id="edit" class="btn">Edit</label>
<label id="delete" class="btn">Delete</label>
<label id="freeze" class="btn">Freeze</label>
<label id="freeze" class="btn">Change status</label>
</td>
</tr>
</tbody>
......
......@@ -48,7 +48,7 @@
<td class="tdOption">
<label id="edit" class="btn">Edit</label>
<label id="delete" class="btn">Delete</label>
<label id="freeze" class="btn">Freeze</label>
<label id="freeze" class="btn">Change status</label>
</td>
</tr>
......@@ -91,13 +91,22 @@
<button type="button" id="addAdmin" style="margin-right: 170px;margin-left: 20px">Submit</button>
<button type="button" onclick="location.reload()">Cancel</button>
</div>
<div>
<select id="page-size">
<div style="display: flex; align-items: center; gap: 10px; justify-content: center;">
<select id="page-size" style="background-color: #f9f9f9;
border: 1px solid #ccc;
border-radius: 4px;
padding: 8px 12px;
font-size: 14px;
color: #333;
cursor: pointer;
width: 150px;
transition: all 0.3s ease;">
<option value="">items per page</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="15">15</option>
</select>
<div id="pagination" style="margin-top: 10px;"></div>
</div>
<script src="/js/mainSupAdminView.js"></script>
</body>
......
package com.cardiff.client_project;
import com.cardiff.client_project.pojo.dto.SelectDTO;
import com.cardiff.client_project.pojo.dto.SignUserDTO;
import com.cardiff.client_project.service.SuperAdminService;
import com.cardiff.client_project.utils.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentMatchers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import java.util.Arrays;
import java.util.List;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
public class SuperAdminControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private SuperAdminService superAdminService;
@Test
void testSignIn() throws Exception {
// Construct test data
SignUserDTO signDTO = new SignUserDTO();
signDTO.setName("testUser");
signDTO.setPassword("password123");
Result expectedResult = Result.success("User registered successfully");
when(superAdminService.insertUserInform(any(SignUserDTO.class))).thenReturn(expectedResult);
// post
mockMvc.perform(post("/superAdmin/sign")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(signDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.msg").value("User registered successfully"));
// Verify that the service layer is invoked
verify(superAdminService, times(1)).insertUserInform(any(SignUserDTO.class));
}
@Test
void testDeleteHospitalById() throws Exception {
List<Integer> ids = Arrays.asList(1, 2, 3);
Result mockResult = Result.success("successfully");
when(superAdminService.deleteById(eq(ids), eq("hospital"))).thenReturn(mockResult);
mockMvc.perform(delete("/superAdmin/deleteHospitalById")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(ids)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value(1))
.andExpect(jsonPath("$.msg").value("successfully"));
verify(superAdminService, times(1)).deleteById(eq(ids), eq("hospital"));
}
@Test
void testSelectByItem() throws Exception {
SelectDTO selectDTO = new SelectDTO();
selectDTO.setName("testQuery");
Result mockResult = Result.success("Query successful");
when(superAdminService.selectByItem(any(SelectDTO.class))).thenReturn(mockResult);
mockMvc.perform(post("/superAdmin/select")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(selectDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value(1))
.andExpect(jsonPath("$.msg").value("Query successful"));
verify(superAdminService, times(1)).selectByItem(any(SelectDTO.class));
}
@Test
void testUpdateById() throws Exception {
SelectDTO selectDTO = new SelectDTO();
selectDTO.setId(1);
selectDTO.setName("newData");
Result mockResult = Result.success("Update successful");
when(superAdminService.update(any(SelectDTO.class))).thenReturn(mockResult);
mockMvc.perform(put("/superAdmin/update")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(selectDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value(1))
.andExpect(jsonPath("$.msg").value("Update successful"));
verify(superAdminService, times(1)).update(any(SelectDTO.class));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment