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 | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 108 insertions(+), 6 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 ac71c19..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,15 +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.sys.controller.param.PageParam; +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 @@ -22,12 +35,101 @@ private RoleService roleService; @PreAuthorize("hasAuthority('sys:role:list')") - @OperationLog @PostMapping("/role/page") - public R updateInfo(@RequestBody PageParam param) { - System.out.println(param.get("condition")); - List<Role> list = roleService.list(); - return R.ok().add(list); + 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')") + @PostMapping("/role/list") + public R list(@RequestBody Map<String, Object> map) { + return R.ok().add(roleService.list()); + } + + @PreAuthorize("hasAuthority('sys:role:list')") + @GetMapping("/role/{id}") + public R get(@PathVariable("id") Long id) { + return R.ok().add(roleService.getById(id)); + } + + @PreAuthorize("hasAuthority('sys:role:save')") + @OperationLog("娣诲姞瑙掕壊") + @PostMapping("/role/save") + public R save(@RequestBody Role role) { + if (!Cools.isEmpty(role.getName()) + && roleService.count(new LambdaQueryWrapper<Role>().eq(Role::getName, role.getName())) > 0) { + return R.error("瑙掕壊鍚嶇О宸插瓨鍦�"); + } + if (!Cools.isEmpty(role.getCode()) + && roleService.count(new LambdaQueryWrapper<Role>().eq(Role::getCode, role.getCode())) > 0) { + return R.error("瑙掕壊鏍囪瘑宸插瓨鍦�"); + } + if (!roleService.save(role)) { + return R.error("娣诲姞澶辫触"); + } + return R.ok("娣诲姞鎴愬姛"); + } + + @PreAuthorize("hasAuthority('sys:role:update')") + @OperationLog("淇敼瑙掕壊") + @PostMapping("/role/update") + public R update(@RequestBody Role role) { + if (!Cools.isEmpty(role.getCode()) && roleService.count(new LambdaQueryWrapper<Role>() + .eq(Role::getCode, role.getCode()) + .ne(Role::getId, role.getId())) > 0) { + return R.error("瑙掕壊鏍囪瘑宸插瓨鍦�"); + } + if (!Cools.isEmpty(role.getName()) && roleService.count(new LambdaQueryWrapper<Role>() + .eq(Role::getName, role.getName()) + .ne(Role::getId, role.getId())) > 0) { + return R.error("瑙掕壊鍚嶇О宸插瓨鍦�"); + } + if (!roleService.updateById(role)) { + return R.error("淇敼澶辫触"); + } + return R.ok("淇敼鎴愬姛"); + } + + @PreAuthorize("hasAuthority('sys:role:remove')") + @OperationLog("鍒犻櫎瑙掕壊") + @PostMapping("/role/remove/{ids}") + public R remove(@PathVariable Long[] ids) { + if (!roleService.removeByIds(Arrays.asList(ids))) { + 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