package com.zt.modules.sys.controller; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import com.zt.common.annotation.LogOperation; import com.zt.common.annotation.QueryParam; import com.zt.common.constant.Constant; import com.zt.common.constant.Status; import com.zt.common.db.query.QueryFilter; import com.zt.common.servlet.PageResult; import com.zt.common.servlet.Result; import com.zt.common.validator.AssertUtils; import com.zt.common.validator.ValidatorUtils; import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; import com.zt.modules.sys.dto.TenantMenuDto; import com.zt.modules.sys.model.SysTenant; import com.zt.modules.sys.service.SysRoleMenuService; import com.zt.modules.sys.service.SysTenantService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; /** * SYS_TENANT * * @author zt generator * @since 1.0.0 2020-06-11 */ @RestController @RequestMapping("/sys/tenant") @Api(tags = "租户管理") public class SysTenantController { @Autowired private SysTenantService sysTenantService; @Autowired private SysRoleMenuService sysRoleMenuService; @GetMapping("page") @ApiOperation("分页") @ApiImplicitParams({ @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), @ApiImplicitParam(name = "name", value = "租户名称", dataType = Constant.QT.STRING, format = "a.name^LK"), @ApiImplicitParam(name = "code", value = "租户代码", dataType = Constant.QT.STRING, format = "a.code^LK"), @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING) }) //@RequiresPermissions("sys:params:page") public PageResult page(@ApiIgnore @QueryParam QueryFilter queryFilter) { return PageResult.ok(sysTenantService.page(queryFilter)); } @GetMapping("{id}") @ApiOperation("信息") @RequiresPermissions("sys:tenant:info") public Result get(@PathVariable("id") Long id) { SysTenant data = sysTenantService.get(id); return Result.ok(data); } @PostMapping @ApiOperation("新增") @LogOperation("租户管理--->新增") @RequiresPermissions("sys:tenant") public Result insert(@RequestBody SysTenant tenant) { // 效验数据 tenant.setStatus(Status.ENABLE.getValue()); sysTenantService.insert(tenant); return Result.ok(); } @PutMapping @ApiOperation("修改") @LogOperation("租户管理--->修改") @RequiresPermissions("sys:tenant:update") public Result update(@RequestBody SysTenant tenant) { // 效验数据 ValidatorUtils.validateEntity(tenant, UpdateGroup.class, DefaultGroup.class); sysTenantService.update(tenant); return Result.ok(); } @DeleteMapping @ApiOperation("删除") @LogOperation("租户管理--->删除") @RequiresPermissions("sys:tenant:delete") public Result delete(@RequestBody Long[] ids) { // 效验数据 AssertUtils.isArrayEmpty(ids, "id"); sysTenantService.deleteLogic(ids); return Result.ok(); } @PostMapping("menu") @ApiOperation("设置菜单") @LogOperation("租户管理--->设置菜单") //@RequiresPermissions("sys:tenant:menu") public Result setMenu(@RequestBody TenantMenuDto dto) { sysRoleMenuService.saveOrUpdate(dto.getTenantId(), dto.getMenuIdList()); return Result.ok(); } }