From 8c3efd62dfcea56853bfcb3d193c515fa9c7be0f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期六, 17 二月 2024 09:43:44 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java | 73 +++++++++++++++++++++++++++--------- 1 files changed, 55 insertions(+), 18 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java index 1a7bb53..ac26178 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java @@ -1,18 +1,28 @@ package com.zy.asrs.wcs.sys.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; import com.zy.asrs.wcs.common.annotation.OperationLog; import com.zy.asrs.wcs.common.domain.BaseParam; +import com.zy.asrs.wcs.common.domain.KeyValVo; import com.zy.asrs.wcs.common.domain.PageParam; import com.zy.asrs.wcs.sys.entity.Role; import com.zy.asrs.wcs.sys.service.RoleService; +import com.zy.asrs.wcs.utils.ExcelUtil; +import com.zy.asrs.wcs.utils.Utils; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Map; /** * Created by vincent on 2/13/2024 @@ -25,22 +35,20 @@ private RoleService roleService; @PreAuthorize("hasAuthority('sys:role:list')") - @OperationLog @PostMapping("/role/page") - public R page(@RequestBody BaseParam param) { - PageParam<Role, BaseParam> page = new PageParam<>(param); - return R.ok().add(roleService.page(page, page.getWrapper())); + public R page(@RequestBody Map<String, Object> map) { + BaseParam baseParam = buildParam(map, BaseParam.class); + PageParam<Role, BaseParam> pageParam = new PageParam<>(baseParam, Role.class); + return R.ok().add(roleService.page(pageParam, pageParam.buildWrapper())); } @PreAuthorize("hasAuthority('sys:role:list')") - @OperationLog @PostMapping("/role/list") - public R list(@RequestBody BaseParam param) { + public R list(@RequestBody Map<String, Object> map) { return R.ok().add(roleService.list()); } @PreAuthorize("hasAuthority('sys:role:list')") - @OperationLog @GetMapping("/role/{id}") public R get(@PathVariable("id") Long id) { return R.ok().add(roleService.getById(id)); @@ -58,10 +66,10 @@ && roleService.count(new LambdaQueryWrapper<Role>().eq(Role::getCode, role.getCode())) > 0) { return R.error("瑙掕壊鏍囪瘑宸插瓨鍦�"); } - if (roleService.save(role)) { - return R.ok("娣诲姞鎴愬姛"); + if (!roleService.save(role)) { + return R.error("娣诲姞澶辫触"); } - return R.error("娣诲姞澶辫触"); + return R.ok("娣诲姞鎴愬姛"); } @PreAuthorize("hasAuthority('sys:role:update')") @@ -78,21 +86,50 @@ .ne(Role::getId, role.getId())) > 0) { return R.error("瑙掕壊鍚嶇О宸插瓨鍦�"); } - if (roleService.updateById(role)) { - return R.ok("淇敼鎴愬姛"); + if (!roleService.updateById(role)) { + return R.error("淇敼澶辫触"); } - return R.error("淇敼澶辫触"); + return R.ok("淇敼鎴愬姛"); } @PreAuthorize("hasAuthority('sys:role:remove')") @OperationLog("鍒犻櫎瑙掕壊") - @PostMapping("/role/remove") - public R remove(@RequestBody List<Long> ids) { - if (roleService.removeByIds(ids)) { - return R.ok("鍒犻櫎鎴愬姛"); + @PostMapping("/role/remove/{ids}") + public R remove(@PathVariable Long[] ids) { + if (!roleService.removeByIds(Arrays.asList(ids))) { + return R.error("鍒犻櫎澶辫触"); } - return R.error("鍒犻櫎澶辫触"); + return R.ok("鍒犻櫎鎴愬姛"); } + @PreAuthorize("hasAuthority('sys:role:list')") + @PostMapping("/role/query") + public R query(@RequestParam(required = false) String condition) { + List<KeyValVo> vos = new ArrayList<>(); + LambdaQueryWrapper<Role> wrapper = new LambdaQueryWrapper<>(); + if (!Cools.isEmpty(condition)) { + wrapper.like(Role::getName, condition); + } + roleService.page(new Page<>(1, 30), wrapper).getRecords().forEach( + item -> vos.add(new KeyValVo(item.getId(), item.getName())) + ); + return R.ok().add(vos); + } + + @PreAuthorize("hasAuthority('sys:role:list')") + @PostMapping("/role/export") + public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { + Workbook workbook = ExcelUtil.create(); + try { + // 璁剧疆鍝嶅簲澶� + response.reset(); + Utils.cors(response); + response.setContentType("application/octet-stream; charset=utf-8"); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("Role.xls", "UTF-8")); + workbook.write(response.getOutputStream()); + } finally { + workbook.close(); + } + } } -- Gitblit v1.9.1