package com.zy.asrs.wcs.sys.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.PageParam;
|
import com.zy.asrs.wcs.sys.entity.Role;
|
import com.zy.asrs.wcs.sys.service.RoleService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.Arrays;
|
import java.util.Map;
|
|
/**
|
* Created by vincent on 2/13/2024
|
*/
|
@RestController
|
@RequestMapping("/api")
|
public class RoleController extends BaseController {
|
|
@Autowired
|
private RoleService roleService;
|
|
// @PreAuthorize("hasAuthority('sys:role:list')")
|
// @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()));
|
// }
|
|
@PreAuthorize("hasAuthority('sys:role:list')")
|
@PostMapping("/role/page")
|
public R page(@RequestBody Map<String, Object> map) {
|
BaseParam baseParam = getBaseParam(map);
|
PageParam<Role, BaseParam> page = new PageParam<>(baseParam);
|
return R.ok().add(roleService.page(page, page.getWrapper()));
|
}
|
|
@PreAuthorize("hasAuthority('sys:role:list')")
|
@PostMapping("/role/list")
|
public R list(@RequestBody BaseParam param) {
|
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/export")
|
public R export(@RequestBody Role role) {
|
return R.ok("导出成功");
|
}
|
|
}
|