package com.qianwen.smartman.modules.resource.controller;
|
|
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.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 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.common.cache.RegionCache;
|
import com.qianwen.smartman.common.constant.ExtCacheConstant;
|
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 io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
|
@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;
|
|
|
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;
|
LambdaQueryWrapper<Oss> lqw = Wrappers.<Oss>query().lambda().eq(Oss::getTenantId, AuthUtil.getTenantId());
|
lqw.eq(Oss::getStatus, Integer.valueOf(OssStatusEnum.ENABLE.getNum()));
|
Oss detail = this.ossService.getOne(lqw);
|
/*
|
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);
|
}
|
}
|