Skip to content
Snippets Groups Projects
Commit b4ab098e authored by Yulong Wang's avatar Yulong Wang
Browse files

Merge branch 'wyl' into 'main'

fuzzy query hospital achieve and Integrate spring securiity to implement exit function

See merge request !24
parents 6066210c 6cfc9965
No related branches found
No related tags found
1 merge request!24fuzzy query hospital achieve and Integrate spring securiity to implement exit function
Showing
with 123 additions and 16 deletions
......@@ -56,12 +56,20 @@ public class WebSecurityConfig{
//.requestMatchers("/superAdminView.html").hasRole("SUPER")
.requestMatchers("/commonUser.html").authenticated()
.anyRequest().permitAll()
)
//Custom permission exception handler
.exceptionHandling(exceptions -> exceptions
.authenticationEntryPoint(customAuthenticationEntryPoint)
.accessDeniedHandler(customAccessDeniedHandler)
)
.logout(log -> log
.logoutUrl("/logout") // Set a logoff request URL
.logoutSuccessUrl("/login.html") // Redirection after successful logout URL
.invalidateHttpSession(true) // Invalid session on logout
.clearAuthentication(true) // Clear authentication information
.deleteCookies("JSESSIONID") // delete Cookie
)
.formLogin(form -> form
.loginPage("/login")
.successHandler(new AuthenticationSuccessHandler())
......
......@@ -31,11 +31,11 @@ public class ViewController {
@GetMapping("/hospitalLoadMain")
public String loadMainView_2(Model model) {
System.out.println("loadMainView_2");
//System.out.println("loadMainView_2");
Result result = superAdminService.selectAllHospital();
// Add data to the model
model.addAttribute("tableData", result.getData());
System.out.println("result"+result.getData());
// System.out.println("result"+result.getData());
return "mainHospitalView";
}
}
......@@ -24,7 +24,7 @@ public class SuperAdminController {
*/
@PostMapping("/sign")
public Result signIn(@RequestBody SignUserDTO signDTO){
System.out.println(signDTO);
//System.out.println(signDTO);
Result result= superAdminService.insertUserInform(signDTO);
return result;
}
......
......@@ -7,6 +7,7 @@ import com.cardiff.client_project.pojo.entity.Hospital;
import com.cardiff.client_project.pojo.entity.SuperUser;
import com.cardiff.client_project.pojo.vo.AdminVO;
import com.cardiff.client_project.pojo.vo.SelectVO;
import com.cardiff.client_project.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
......@@ -134,13 +135,19 @@ public class SuperAdminMapper {
* @param selectDTO
* @return
*/
public List<SelectDTO> selectByItem(SelectDTO selectDTO) {
public List<SelectVO> selectByItem(SelectDTO selectDTO) {
// Get query type
String type = selectDTO.getType();
// Build the basic SQL and parameter list
StringBuilder sql = new StringBuilder("SELECT * FROM common_admin ");
StringBuilder sql = new StringBuilder("SELECT * FROM");
if(type.contains("commonAdmin")){
sql.append(" common_admin ");
}
if(type.contains("hospital")){
sql.append(" hospital ");
}
//Dynamic table name stitching
sql.append(" WHERE 1=1 ");
List<Object> params = new ArrayList<>();
......@@ -162,9 +169,8 @@ public class SuperAdminMapper {
sql.append(" AND status LIKE ?");
params.add("%" + selectDTO.getStatus() + "%");
List<SelectDTO> query = jdbcTemplate.query(sql.toString(), params.toArray(), new BeanPropertyRowMapper<>(SelectDTO.class));
List<SelectVO> query = jdbcTemplate.query(sql.toString(), params.toArray(), new BeanPropertyRowMapper<>(SelectVO.class));
System.out.println("quert"+query);
return query;
//String type=selectVo.getType();
......
......@@ -16,6 +16,8 @@ public class SelectDTO {
private String type;
private String role;
private String maxAmount;
private String amountPatient;
private int status;
private Date freetime;
private int roleId;
}
package com.cardiff.client_project.pojo.vo;
import lombok.Data;
import lombok.ToString;
import java.util.Date;
@Data
@ToString
public class SelectVO {
private int id;
private String name;
private String email;
private String phone;
private String address;
private String type;
private String maxAmount;
private String amountPatient;
private int status;
private Date freetime;
private int roleId;
private String status_str;
}
......@@ -13,6 +13,7 @@ import com.cardiff.client_project.pojo.entity.Patient;
import com.cardiff.client_project.pojo.vo.AdminVO;
import com.cardiff.client_project.pojo.vo.HospitalVO;
import com.cardiff.client_project.pojo.vo.SelectVO;
import com.cardiff.client_project.service.SuperAdminService;
import com.cardiff.client_project.utils.Result;
import org.springframework.beans.BeanUtils;
......@@ -100,9 +101,8 @@ public class SuperAdminServiceImp implements SuperAdminService {
*/
@Override
public Result selectAllHospital() {
System.out.println("service");
List<Hospital> hospitals = superAdminMapper.selectAllHospital();
System.out.println(hospitals);
// System.out.println(hospitals);
List<HospitalVO> hospitalVOS =new ArrayList<>();
hospitals.forEach(select -> {
HospitalVO hospitalVO = new HospitalVO();
......@@ -155,13 +155,23 @@ public class SuperAdminServiceImp implements SuperAdminService {
*/
@Override
public Result selectByItem(SelectDTO selectDTO) {
List<SelectDTO> selectDtos = superAdminMapper.selectByItem(selectDTO);
System.out.println(selectDTO);
if(selectDtos.size()>0){
return Result.success(selectDtos);
List<SelectVO> selectVos = superAdminMapper.selectByItem(selectDTO);
// System.out.println(selectVos);
selectVos.forEach(selectVO -> {
if (selectVO.getStatus() == 1) {
selectVO.setStatus_str("ACTIVE");
}
if (selectVO.getStatus() == 0) {
selectVO.setStatus_str("INACTIVE");
}
});
if(selectVos.size()>0){
return Result.success(selectVos);
}else {
return Result.error(ResponseCode.ERROR);
}
}
}
......@@ -8,6 +8,7 @@
<!-- Vertical navigation bar -->
<div class="nav-item" onclick="chooseAdmin()">CommonAdmin</div>
<div class="nav-item" onclick="chooseHospital()">Hospital</div>
<div class="nav-item" onclick="chooseOut()">Sign Out</div>
</body>
<script>
function chooseAdmin(){
......@@ -16,5 +17,8 @@
function chooseHospital(){
window.location.href="/superAdminView.html?type=hospital"
}
function chooseOut() {
window.location.href="/logout"
}
</script>
</html>
......@@ -17,7 +17,7 @@
<input type="text" class="searchBox" id="searchPhone" placeholder="type phone..." />
<select class="searchBox" id="searchStatus">
<option value="" disabled selected>choose status</option>
<option value="active">Active</option>
<option value="active" selected>Active</option>
<option value="inactive">Inactive</option>
</select>
<button id="searchButton">Confirm</button>
......@@ -54,7 +54,59 @@
<script th:inline="javascript">
//use jQuery's load() to load content dynamically,Events cannot be bound in dom mode
$(document).on("click", "#searchButton", function () {
let status=document.getElementById("searchStatus").value;
if(status==="active"){
status=1;
}else {
status=0;
}
var data={
'name':document.getElementById("searchName").value,
'phone':document.getElementById("searchPhone").value,
'email':document.getElementById("searchAddress").value,
'type':"hospital",
'status':status
}
$.ajax({
contentType: "application/json",
url: "/superAdmin/select",
type: "POST",
data: JSON.stringify(data),
dataType: "Json",
success: function (data) {
if(data.code!=0){
updateTable(data.data);
}else {
alert(data.msg)
}
},
});
});
function updateTable(data) {
let tbody = $("table tbody"); // choose table's tbody
tbody.empty(); // clean old data
console.log(data)
// create new table
data.forEach(row => {
const tr = `
<tr>
<td>${row.id}</td>
<td>${row.name}</td>
<td>${row.phone}</td>
<td>${row.address}</td>
<td>${row.maxAmount}</td>
<td>${row.amountPatient}</td>
<td>${row.status_str}</td>
</tr>
`;
tbody.append(tr);
});
}
</script>
</body>
</html>
......@@ -58,6 +58,7 @@
var data={
'name':document.getElementById("searchName").value,
'phone':document.getElementById("searchPhone").value,
'type':"commonAdmin",
'status':status
}
$.ajax({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment