Search in sources :

Example 1 with ResponseDTO

use of com.goodskill.web.dto.ResponseDTO in project goodsKill by techa03.

the class AdminController method permissionTree.

@RequestMapping(value = "/permissionTree", method = GET, produces = { "application/json;charset=UTF-8" })
@ResponseBody
public ResponseDTO permissionTree(@RequestParam(name = "page", required = false, defaultValue = "0") int offset, @RequestParam(name = "limit", required = false, defaultValue = "10") int limit) {
    Page<Permission> page = new Page<>(offset, limit);
    IPage<Permission> pageInfo = permissionService.page(page);
    List<Permission> permissions = pageInfo.getRecords();
    List<PermissionDTO> permissionDTOList = new ArrayList<>();
    for (Permission permission : permissions) {
        PermissionDTO permissionDto = new PermissionDTO();
        permissionDto.setId(permission.getPermissionId().toString());
        if (permission.getParentPermissionId() != null) {
            permissionDto.setPId(permission.getParentPermissionId().toString());
        }
        permissionDto.setName(permission.getPermissionName());
        permissionDTOList.add(permissionDto);
    }
    ResponseDTO<PermissionDTO> responseDto = new ResponseDTO<>();
    responseDto.setData(permissionDTOList.toArray(new PermissionDTO[permissionDTOList.size()]));
    responseDto.setCount((int) pageInfo.getTotal());
    return responseDto;
}
Also used : PermissionDTO(com.goodskill.web.dto.PermissionDTO) ResponseDTO(com.goodskill.web.dto.ResponseDTO) ArrayList(java.util.ArrayList) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) IPage(com.baomidou.mybatisplus.core.metadata.IPage)

Example 2 with ResponseDTO

use of com.goodskill.web.dto.ResponseDTO in project goodsKill by techa03.

the class SeckillController method getPermissionList.

@RequestMapping(value = "/permission/list", method = RequestMethod.GET, produces = { "application/json;charset=UTF-8" })
@ResponseBody
public ResponseDTO getPermissionList() {
    Subject subject = SecurityUtils.getSubject();
    User user = (User) subject.getSession().getAttribute("user");
    user = userAccountService.findByUserAccount(user.getAccount());
    List<UserRole> userRoleList = userRoleService.list(user.getId());
    RolePermission rolePermissionExample = new RolePermission();
    Set<Permission> set = new HashSet<>();
    for (UserRole userRole : userRoleList) {
        rolePermissionExample.setRoleId(userRole.getRoleId());
        List<RolePermission> rolePermissionList = rolePermissionService.list(userRole.getRoleId());
        for (RolePermission rolePermission : rolePermissionList) {
            set.add(permissionService.getById(rolePermission.getPermissionId()));
        }
    }
    ResponseDTO<Permission> responseDto = new ResponseDTO<>();
    List<Permission> permissions = set.stream().sorted(Comparator.comparing(Permission::getPermissionId).reversed()).collect(Collectors.toList());
    logger.info(user.toString());
    responseDto.setData(permissions.toArray(new Permission[permissions.size()]));
    return responseDto;
}
Also used : ResponseDTO(com.goodskill.web.dto.ResponseDTO) SeckillResponseDTO(com.goodskill.api.dto.SeckillResponseDTO) Subject(org.apache.shiro.subject.Subject)

Example 3 with ResponseDTO

use of com.goodskill.web.dto.ResponseDTO in project goodsKill by techa03.

the class SeckillController method searchGoods.

/**
 * 根据商品名称检索商品
 *
 * @param goodsName 商品名称,模糊匹配
 * @return 包含商品名称和高亮显示的商品名称html内容
 */
@GetMapping(value = "/goods/search/{goodsName}", produces = { "application/json;charset=UTF-8" })
@ResponseBody
public ResponseDTO searchGoods(@PathVariable("goodsName") String goodsName) {
    List goodsList = goodsEsService.searchWithNameByPage(goodsName);
    ResponseDTO responseDto = ResponseDTO.ok();
    responseDto.setData(goodsList.toArray());
    return responseDto;
}
Also used : ResponseDTO(com.goodskill.web.dto.ResponseDTO) SeckillResponseDTO(com.goodskill.api.dto.SeckillResponseDTO)

Example 4 with ResponseDTO

use of com.goodskill.web.dto.ResponseDTO in project goodsKill by techa03.

the class SeckillController method getDirectoryPermissionList.

@RequestMapping(value = "/permission/diretorylist", method = RequestMethod.GET, produces = { "application/json;charset=UTF-8" })
@ResponseBody
public ResponseDTO getDirectoryPermissionList() {
    Subject subject = SecurityUtils.getSubject();
    User user = (User) subject.getSession().getAttribute("user");
    user = userAccountService.findByUserAccount(user.getAccount());
    UserRole example = new UserRole();
    example.setUserId(user.getId());
    List<UserRole> userRoleList = userRoleService.list(user.getId());
    RolePermission rolePermissionExample = new RolePermission();
    Set<Permission> set = new HashSet<>();
    for (UserRole userRole : userRoleList) {
        rolePermissionExample.setRoleId(userRole.getRoleId());
        List<RolePermission> rolePermissionList = rolePermissionService.list(userRole.getRoleId());
        for (RolePermission rolePermission : rolePermissionList) {
            Permission permission = permissionService.getById(rolePermission.getPermissionId());
            if ("Y".equals(permission.getIsDir())) {
                set.add(permission);
            }
        }
    }
    ResponseDTO<Permission> responseDto = new ResponseDTO<>();
    List<Permission> permissions = new ArrayList<>(set);
    logger.info(user.toString());
    responseDto.setData(permissions.toArray(new Permission[permissions.size()]));
    return responseDto;
}
Also used : Subject(org.apache.shiro.subject.Subject) ResponseDTO(com.goodskill.web.dto.ResponseDTO) SeckillResponseDTO(com.goodskill.api.dto.SeckillResponseDTO)

Example 5 with ResponseDTO

use of com.goodskill.web.dto.ResponseDTO in project goodsKill by techa03.

the class AdminController method addRole.

@RequestMapping(value = "/user/{userId}/addRole", method = POST, produces = { "application/json;charset=UTF-8" })
@ResponseBody
@Transactional
public ResponseDTO addRole(@PathVariable("userId") int userId, @RequestBody RoleDTO[] roleDto) {
    for (RoleDTO dto : roleDto) {
        UserRole record = new UserRole();
        record.setUserId(userId);
        record.setRoleId(dto.getRoleId());
        UserRole entity = new UserRole();
        entity.setUserId(userId);
        entity.setRoleId(dto.getRoleId());
        userRoleService.remove(entity);
        userRoleService.save(record);
    }
    ResponseDTO<User> responseDto = new ResponseDTO<>();
    return responseDto;
}
Also used : RoleDTO(com.goodskill.web.dto.RoleDTO) ResponseDTO(com.goodskill.web.dto.ResponseDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

ResponseDTO (com.goodskill.web.dto.ResponseDTO)6 SeckillResponseDTO (com.goodskill.api.dto.SeckillResponseDTO)3 IPage (com.baomidou.mybatisplus.core.metadata.IPage)2 Page (com.baomidou.mybatisplus.extension.plugins.pagination.Page)2 RoleDTO (com.goodskill.web.dto.RoleDTO)2 ArrayList (java.util.ArrayList)2 Subject (org.apache.shiro.subject.Subject)2 PermissionDTO (com.goodskill.web.dto.PermissionDTO)1 ApiOperation (io.swagger.annotations.ApiOperation)1 Transactional (org.springframework.transaction.annotation.Transactional)1