package com.qianwen.smartman.modules.system.controller; import java.util.ArrayList; import java.util.List; import javax.validation.Valid; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.annotation.PostResource; import com.qianwen.core.scanner.modular.annotation.PutResource; import com.qianwen.core.scanner.modular.stereotype.ApiResource; import com.qianwen.core.secure.BladeUser; import com.qianwen.core.secure.utils.AuthUtil; import com.qianwen.core.tool.api.R; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.modules.system.convert.ApplicationConvert; import com.qianwen.smartman.modules.system.dto.ApplicationAddDTO; import com.qianwen.smartman.modules.system.dto.ApplicationDTO; import com.qianwen.smartman.modules.system.dto.ApplicationUpdateDTO; import com.qianwen.smartman.modules.system.entity.Application; import com.qianwen.smartman.modules.system.mapper.MenuMapper; import com.qianwen.smartman.modules.system.service.IApplicationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @ApiResource({"blade-system/application"}) @Api(value = "系统应用管理", tags = {"系统应用管理"}) @RestController /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/controller/ApplicationController.class */ public class ApplicationController { private final IApplicationService applicationService; private final MenuMapper menuMapper; public ApplicationController(final IApplicationService applicationService, final MenuMapper menuMapper) { this.applicationService = applicationService; this.menuMapper = menuMapper; } @ApiOperationSupport(order = 1) @GetResource({"/grant-list"}) @ApiOperation("授权拥有的系统应用列表") public R> grantList(BladeUser user) { List applicationList = new ArrayList<>(); if (AuthUtil.isAdministrator()) { applicationList = this.applicationService.list(); } else { List grantedApplications = this.menuMapper.getGrantedApplication(Func.toStrList(user.getRoleId())); if (Func.isNotEmpty(grantedApplications)) { applicationList = this.applicationService.list(Wrappers.lambdaQuery().in(Application::getCode, grantedApplications)); /* applicationList = this.applicationService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { return v0.getCode(); }, grantedApplications));*/ } } return R.data(ApplicationConvert.INSTANCE.convertToDTOList(applicationList)); } @ApiOperationSupport(order = 2) @GetResource({"/list"}) @ApiOperation("系统应用列表") public R> list() { List applicationList = this.applicationService.list(); return R.data(ApplicationConvert.INSTANCE.convertToDTOList(applicationList)); } @ApiOperationSupport(order = 4) @PostResource({"/save"}) @ApiOperation("新增") public R save(@Valid @RequestBody ApplicationAddDTO applicationAddDTO) { return R.data(this.applicationService.saveApplication(applicationAddDTO)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @PutResource({"/update"}) @ApiOperation(value = "修改", notes = "传入应用") public R update(@RequestBody ApplicationUpdateDTO applicationUpdateVO) { return R.status(this.applicationService.updateById(ApplicationConvert.INSTANCE.convertToEntity(applicationUpdateVO))); } @ApiOperationSupport(order = 6) @PostResource({"/remove"}) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@RequestParam @ApiParam(value = "主键集合", required = true) String ids) { return R.status(this.applicationService.removeByIds(Func.toLongList(ids))); } }