Dastur kodi:
package org.uzcourier.gui.controllers;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.uzcourier.core.repository.AccessTokenDAO;
import org.uzcourier.core.service.AdminService;
import org.uzcourier.core.service.ClientService;
import org.uzcourier.core.service.CourierService;
import org.uzcourier.core.service.OperatorService;
import org.uzcourier.filter.AdminFilter;
import org.uzcourier.filter.ClientFilter;
import org.uzcourier.filter.CourierFilter;
import org.uzcourier.filter.OperatorFilter;
import org.uzcourier.gui.controllers.order.OrdersController;
import org.uzcourier.helpers.DataTablePage;
import org.uzcourier.model.AccessToken;
import org.uzcourier.model.users.VAdmins;
import org.uzcourier.model.users.VClients;
import org.uzcourier.model.users.VCouriers;
import org.uzcourier.model.users.VOperators;
import java.util.List;
@Controller
@RequestMapping("/reestr")
public class ReestrController {
private final static Logger logger = LoggerFactory.getLogger(OrdersController.class);
private final AccessTokenDAO accessTokenDAO;
private final ClientService clientService;
private final CourierService courierService;
private final AdminService adminService;
private final OperatorService operatorService;
@Autowired
public ReestrController(AccessTokenDAO accessTokenDAO, ClientService clientService, CourierService courierService,
AdminService adminService, OperatorService operatorService) {
this.accessTokenDAO = accessTokenDAO;
this.clientService = clientService;
this.courierService = courierService;
this.adminService = adminService;
this.operatorService = operatorService;
}
@RequestMapping(value = "/couriers", method = RequestMethod.GET)
public String viewCouriers() {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
List
lst = (List) SecurityContextHolder.getContext().getAuthentication().getAuthorities();
if (lst.get(0).getAuthority().equals("ROLE_ADMIN"))
System.out.println("Администратор");
return "reestrs/couriers";
}
@RequestMapping(value = "/operators", method = RequestMethod.GET)
public String viewOperators() {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
return "reestrs/operators";
}
@RequestMapping(value = "/clients", method = RequestMethod.GET)
public String viewClients() {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
return "reestrs/clients";
}
@RequestMapping(value = "/admins", method = RequestMethod.GET)
public String viewAdmins() {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
return "reestrs/admins";
}
@RequestMapping(value = "/list-clients", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public DataTablePage getClients(@RequestParam(value = "pageNumber") Integer pageNumber,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "searchText") String searchText,
@RequestParam(value = "sortName") String sortName,
@RequestParam(value = "sortOrder") String sortOrder) {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
AccessToken accessToken = accessTokenDAO.findByUsername(userName);
if (accessToken == null)
return null;
ClientFilter filter = new ClientFilter();
filter.setPageNumber(pageNumber > 0 ? pageNumber - 1 : 0);
filter.setPageSize(pageSize);
filter.setSearchText(searchText);
filter.setSortName(sortName);
filter.setSortOrder(sortOrder);
Page clientPage = clientService.list(filter);
DataTablePage dataTablePage = new DataTablePage<>();
dataTablePage.setTotal(clientPage.getTotalElements());
dataTablePage.setRows(clientPage.getContent());
logger.debug("Получаем список клиентов");
return dataTablePage;
}
@RequestMapping(value = "/list-couriers", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public DataTablePage getCouriers(@RequestParam(value = "pageNumber") Integer pageNumber,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "searchText") String searchText,
@RequestParam(value = "sortName") String sortName,
@RequestParam(value = "sortOrder") String sortOrder) {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
AccessToken accessToken = accessTokenDAO.findByUsername(userName);
if (accessToken == null)
return null;
CourierFilter filter = new CourierFilter();
filter.setPageNumber(pageNumber > 0 ? pageNumber - 1 : 0);
filter.setPageSize(pageSize);
filter.setSearchText(searchText);
filter.setSortName(sortName);
filter.setSortOrder(sortOrder);
Page page = courierService.list(filter);
DataTablePage dataTablePage = new DataTablePage<>();
dataTablePage.setTotal(page.getTotalElements());
dataTablePage.setRows(page.getContent());
logger.debug("Получаем список клиентов");
return dataTablePage;
}
@RequestMapping(value = "/list-admins", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public DataTablePage getAdmins(@RequestParam(value = "pageNumber") Integer pageNumber,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "searchText") String searchText,
@RequestParam(value = "sortName") String sortName,
@RequestParam(value = "sortOrder") String sortOrder) {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
AccessToken accessToken = accessTokenDAO.findByUsername(userName);
if (accessToken == null)
return null;
AdminFilter filter = new AdminFilter();
filter.setPageNumber(pageNumber > 0 ? pageNumber - 1 : 0);
filter.setPageSize(pageSize);
filter.setSearchText(searchText);
filter.setSortName(sortName);
filter.setSortOrder(sortOrder);
Page page = adminService.list(filter);
DataTablePage dataTablePage = new DataTablePage<>();
dataTablePage.setTotal(page.getTotalElements());
dataTablePage.setRows(page.getContent());
return dataTablePage;
}
@RequestMapping(value = "/list-operators", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public DataTablePage getOperators(@RequestParam(value = "pageNumber") Integer pageNumber,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "searchText") String searchText,
@RequestParam(value = "sortName") String sortName,
@RequestParam(value = "sortOrder") String sortOrder) {
String userName = SecurityContextHolder.getContext().getAuthentication().getName();
AccessToken accessToken = accessTokenDAO.findByUsername(userName);
if (accessToken == null)
return null;
OperatorFilter filter = new OperatorFilter();
filter.setPageNumber(pageNumber > 0 ? pageNumber - 1 : 0);
filter.setPageSize(pageSize);
filter.setSearchText(searchText);
filter.setSortName(sortName);
filter.setSortOrder(sortOrder);
Page page = operatorService.list(filter);
DataTablePage dataTablePage = new DataTablePage<>();
dataTablePage.setTotal(page.getTotalElements());
dataTablePage.setRows(page.getContent());
return dataTablePage;
}
}