package com.nanjing.water.host.controller.admin; import com.nanjing.water.common.ConstantFactory; import com.nanjing.water.common.ExecutedResult; import com.nanjing.water.common.PagerResult; import com.nanjing.water.common.util.ParameterUtil; import com.nanjing.water.common.validator.ParameterValidateResult; import com.nanjing.water.common.validator.ParameterValidator; import com.nanjing.water.entity.enums.EState; import com.nanjing.water.entity.request.adminpermission.ReqCreateAdminPermission; import com.nanjing.water.entity.request.adminpermission.ReqModifyAdminPermission; import com.nanjing.water.entity.response.admin.ResAdminPermission; import com.nanjing.water.entity.search.SearchAdminPermission; import com.nanjing.water.host.api.MustAdmin; import com.nanjing.water.service.AdminPowerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * 20.æƒé™ç›¸å…³æŽ¥å£ * * @author lin.liu * @date 2023/02/17 * @order 20 */ @MustAdmin @RestController @RequestMapping(value = "admin/permission") public class AdminPermissionController { @Autowired private AdminPowerService service; /** * 创建æƒé™ * * @author lin.liu * @date 2023/02/17 */ @PostMapping(value = "create") public ExecutedResult<Long> create(@RequestBody ReqCreateAdminPermission request) { //#region 傿•°éªŒè¯ ParameterValidator validator = new ParameterValidator() .addNotNullOrEmpty(ParameterUtil.named("æƒé™å€¼"), request.getSn()) .addLengthMax(ParameterUtil.named("æƒé™å€¼"), request.getSn(), ConstantFactory.LENGTH_MAX50) .addGreater(ParameterUtil.named("èœå•id"), request.getMenuId(), 0) .addLengthMax(ParameterUtil.named("å‰ç«¯èµ„æºurl"), request.getMenuUrl(), ConstantFactory.LENGTH_MAX200) .addNotNullOrEmpty(ParameterUtil.named("æƒé™åç§°"), request.getName()) .addLengthMax(ParameterUtil.named("æƒé™åç§°"), request.getName(), ConstantFactory.LENGTH_MAX50) .addLengthMax(ParameterUtil.named("å›¾æ ‡"), request.getIcon(), ConstantFactory.LENGTH_MAX200) .addLengthMax(ParameterUtil.named("类型"), request.getType(), ConstantFactory.LENGTH_MAX50) ; ParameterValidateResult result = validator.validate(); if (result.getIsFiled()) { return ExecutedResult.failed(result.getErrorMsg()); } //#endregion return this.service.createPermission(request); } /** * 编辑æƒé™ * * @author lin.liu * @date 2023/02/17 */ @PostMapping(value = "modify") public ExecutedResult<String> modify(@RequestBody ReqModifyAdminPermission request) { //#region 傿•°éªŒè¯ ParameterValidator validator = new ParameterValidator() .addNotNullOrEmpty(ParameterUtil.named("æƒé™å€¼"), request.getSn()) .addLengthMax(ParameterUtil.named("æƒé™å€¼"), request.getSn(), ConstantFactory.LENGTH_MAX50) .addGreater(ParameterUtil.named("èœå•id"), request.getMenuId(), 0) .addLengthMax(ParameterUtil.named("å‰ç«¯èµ„æºurl"), request.getMenuUrl(), ConstantFactory.LENGTH_MAX200) .addNotNullOrEmpty(ParameterUtil.named("æƒé™åç§°"), request.getName()) .addLengthMax(ParameterUtil.named("æƒé™åç§°"), request.getName(), ConstantFactory.LENGTH_MAX50) .addLengthMax(ParameterUtil.named("å›¾æ ‡"), request.getIcon(), ConstantFactory.LENGTH_MAX200) .addLengthMax(ParameterUtil.named("类型"), request.getType(), ConstantFactory.LENGTH_MAX50) // 必须是枚举 .addMustEnum(ParameterUtil.named("状æ€"), request.getStatus(), EState.class) ; ParameterValidateResult result = validator.validate(); if (result.getIsFiled()) { return ExecutedResult.failed(result.getErrorMsg()); } //#endregion return this.service.modifyPermission(request); } /** * åˆ é™¤æƒé™ * * @param powerId æƒé™id * @author lin.liu * @date 2023/02/17 */ @GetMapping(value = "remove/{powerId}") public ExecutedResult<String> remove(@PathVariable Long powerId) { //#region 傿•°éªŒè¯ ParameterValidator validator = new ParameterValidator() .addGreater(ParameterUtil.named("æƒé™id"), powerId, 0L); ParameterValidateResult result = validator.validate(); if (result.getIsFiled()) { return ExecutedResult.failed(result.getErrorMsg()); } //#endregion return this.service.removePermission(powerId); } /** * 分页查询æƒé™ * * @author lin.liu * @date 2023/02/17 */ @PostMapping(value = "search") public ExecutedResult<PagerResult<ResAdminPermission>> search(@RequestBody SearchAdminPermission request) { return this.service.searchPermission(request); } }