package com.qianwen.smartman.modules.resource.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import java.lang.invoke.SerializedLambda;
|
import javax.validation.Valid;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.common.constant.ExtCacheConstant;
|
import com.qianwen.core.boot.ctrl.BladeController;
|
import com.qianwen.core.cache.utils.CacheUtil;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
import com.qianwen.core.oss.enums.OssStatusEnum;
|
import com.qianwen.core.oss.props.OssProperties;
|
import com.qianwen.core.scanner.modular.annotation.GetResource;
|
import com.qianwen.core.scanner.modular.annotation.PostResource;
|
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
|
import com.qianwen.core.secure.annotation.PreAuth;
|
import com.qianwen.core.secure.utils.AuthUtil;
|
import com.qianwen.core.tenant.annotation.NonDS;
|
import com.qianwen.core.tool.api.R;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.resource.entity.Oss;
|
import com.qianwen.smartman.modules.resource.service.IOssService;
|
import com.qianwen.smartman.modules.resource.vo.OssVO;
|
import com.qianwen.smartman.modules.resource.wrapper.OssWrapper;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
@Api(value = "对象存储接口", tags = {"对象存储接口"})
|
@RestController
|
@ApiResource({"blade-resource/oss"})
|
@NonDS
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/resource/controller/OssController.class */
|
public class OssController extends BladeController {
|
private final IOssService ossService;
|
private final OssProperties ossProperties;
|
|
private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
|
String implMethodName = lambda.getImplMethodName();
|
boolean z = true;
|
switch (implMethodName.hashCode()) {
|
case 771206363:
|
if (implMethodName.equals("getTenantId")) {
|
z = false;
|
break;
|
}
|
break;
|
case 803533544:
|
if (implMethodName.equals("getStatus")) {
|
z = true;
|
break;
|
}
|
break;
|
}
|
switch (z) {
|
case false:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getTenantId();
|
};
|
}
|
break;
|
case true:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getStatus();
|
};
|
}
|
break;
|
}
|
throw new IllegalArgumentException("Invalid lambda deserialization");
|
}
|
|
public OssController(final IOssService ossService, final OssProperties ossProperties) {
|
this.ossService = ossService;
|
this.ossProperties = ossProperties;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/detail"})
|
@ApiOperation(value = "详情", notes = "传入oss")
|
public R<OssVO> detail(Oss oss) {
|
Oss detail = (Oss) this.ossService.getOne(Condition.getQueryWrapper(oss));
|
return R.data(OssWrapper.build().entityVO(detail));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/list"})
|
@ApiOperation(value = "分页", notes = "传入oss")
|
public R<IPage<OssVO>> list(Oss oss, Query query) {
|
IPage<Oss> pages = this.ossService.page(Condition.getPage(query), Condition.getQueryWrapper(oss));
|
return R.data(OssWrapper.build().pageVO(pages));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@GetResource({"/page"})
|
@ApiOperation(value = "分页", notes = "传入oss")
|
public R<IPage<OssVO>> page(OssVO oss, Query query) {
|
IPage<OssVO> pages = this.ossService.selectOssPage(Condition.getPage(query), oss);
|
return R.data(pages);
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/save"})
|
@ApiOperation(value = "新增", notes = "传入oss")
|
public R save(@Valid @RequestBody Oss oss) {
|
CacheUtil.clear("blade:resource", ExtCacheConstant.TENANT_MODE);
|
return R.status(this.ossService.save(oss));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@PostResource({"/update"})
|
@ApiOperation(value = "修改", notes = "传入oss")
|
@PreAuth
|
public R update(@Valid @RequestBody Oss oss) {
|
CacheUtil.clear("blade:resource", ExtCacheConstant.TENANT_MODE);
|
return R.status(this.ossService.updateById(oss));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/submit"})
|
@ApiOperation(value = "新增或修改", notes = "传入oss")
|
public R submit(@Valid @RequestBody Oss oss) {
|
CacheUtil.clear("blade:resource", ExtCacheConstant.TENANT_MODE);
|
return R.status(this.ossService.submit(oss));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@PostResource({"/remove"})
|
@ApiOperation(value = "逻辑删除", notes = "传入ids")
|
public R remove(@RequestParam @ApiParam(value = "主键集合", required = true) String ids) {
|
CacheUtil.clear("blade:resource", ExtCacheConstant.TENANT_MODE);
|
return R.status(this.ossService.deleteLogic(Func.toLongList(ids)));
|
}
|
|
@ApiOperationSupport(order = 8)
|
@PostResource({"/enable"})
|
@ApiOperation(value = "配置启用", notes = "传入id")
|
public R enable(@RequestParam @ApiParam(value = "主键", required = true) Long id) {
|
CacheUtil.clear("blade:resource", ExtCacheConstant.TENANT_MODE);
|
return R.status(this.ossService.enable(id));
|
}
|
|
@ApiOperationSupport(order = 9)
|
@GetResource({"/default"})
|
@ApiOperation("获取默认OSS存储地址")
|
public R<String> defaultOss() {
|
String result;
|
Wrapper wrapper = (LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
|
return v0.getTenantId();
|
}, AuthUtil.getTenantId());
|
wrapper.eq((v0) -> {
|
return v0.getStatus();
|
}, Integer.valueOf(OssStatusEnum.ENABLE.getNum()));
|
Oss detail = (Oss) this.ossService.getOne(wrapper);
|
if (Func.isEmpty(detail)) {
|
result = this.ossProperties.getEndpoint();
|
} else {
|
result = detail.getEndpoint();
|
}
|
return R.data(result);
|
}
|
}
|