diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/FileController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/FileController.java
deleted file mode 100644
index f7e2d3b..0000000
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/FileController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.dromara.system.controller.file;
-
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.RequiredArgsConstructor;
-import org.dromara.system.service.IFileService;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- *
TODO
- *
- * @author cjw
- * @version V1.0.0
- * @date 2024/5/31 14:22
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/file")
-public class FileController {
-
- private final IFileService fileService;
-
- /**
- * 预览OSS对象
- *
- * @param ossId OSS对象ID
- */
- //@SaCheckPermission("oss:file:preview")
- @PostMapping("/preview/{ossId}")
- public void preview(@PathVariable Long ossId, HttpServletResponse response) throws Exception {
- fileService.preview(ossId, response);
- }
-
-
-
-
-
-
-}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java
index ae856e1..fc09f87 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssPersonController.java
@@ -7,7 +7,6 @@ import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
@@ -83,13 +82,13 @@ public class SysOssPersonController extends BaseController {
/**
* 修改资源-我的空间
*/
- @SaCheckPermission("oss:person:edit")
- @Log(title = "资源-我的空间", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping()
- public R edit(@Validated(EditGroup.class) @RequestBody SysOssPersonBo bo) {
- return toAjax(sysOssPersonService.updateByBo(bo));
- }
+// @SaCheckPermission("oss:person:edit")
+// @Log(title = "资源-我的空间", businessType = BusinessType.UPDATE)
+// @RepeatSubmit()
+// @PutMapping()
+// public R edit(@Validated(EditGroup.class) @RequestBody SysOssPersonBo bo) {
+// return toAjax(sysOssPersonService.updateByBo(bo));
+// }
/**
* 删除资源-我的空间
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java
index 25eb6f1..5d08e0d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssResourceController.java
@@ -7,7 +7,6 @@ import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
@@ -80,13 +79,13 @@ public class SysOssResourceController extends BaseController {
/**
* 修改专题资源文件
*/
- @SaCheckPermission("file:resource:edit")
- @Log(title = "【更新专题资源】", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping()
- public R edit(@Validated(EditGroup.class) @RequestBody SysOssResourceBo bo) {
- return toAjax(sysOssResourceService.updateByBo(bo));
- }
+// @SaCheckPermission("file:resource:edit")
+// @Log(title = "【更新专题资源】", businessType = BusinessType.UPDATE)
+// @RepeatSubmit()
+// @PutMapping()
+// public R edit(@Validated(EditGroup.class) @RequestBody SysOssResourceBo bo) {
+// return toAjax(sysOssResourceService.updateByBo(bo));
+// }
/**
* 删除专题资源文件
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java
index 4ef05ec..2798c6c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/file/SysOssTextbookController.java
@@ -7,7 +7,6 @@ import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
@@ -81,13 +80,13 @@ public class SysOssTextbookController extends BaseController {
/**
* 修改同步教材的文件
*/
- @SaCheckPermission("file:textbook:edit")
- @Log(title = "【更新同步教材】", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping()
- public R edit(@Validated(EditGroup.class) @RequestBody SysOssTextbookBo bo) {
- return toAjax(sysOssTextbookService.updateByBo(bo));
- }
+// @SaCheckPermission("file:textbook:edit")
+// @Log(title = "【更新同步教材】", businessType = BusinessType.UPDATE)
+// @RepeatSubmit()
+// @PutMapping()
+// public R edit(@Validated(EditGroup.class) @RequestBody SysOssTextbookBo bo) {
+// return toAjax(sysOssTextbookService.updateByBo(bo));
+// }
/**
* 删除同步教材的文件
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java
index 3de8457..3a4a117 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java
@@ -4,6 +4,7 @@ package org.dromara.system.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.QueryGroup;
@@ -15,6 +16,7 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.system.domain.bo.SysOssBo;
import org.dromara.system.domain.vo.SysOssUploadVo;
import org.dromara.system.domain.vo.SysOssVo;
+import org.dromara.system.domain.vo.SysOssVolumeVo;
import org.dromara.system.service.ISysOssService;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
@@ -119,7 +121,12 @@ public class SysOssController extends BaseController {
uploadVo.setOssId(oss.getOssId().toString());
}
return R.ok(uploadVo);
+ }
+ @GetMapping("/volume")
+ public R volume(@NotNull(message = "类型不能为空") Integer type) {
+ SysOssVolumeVo oss = ossService.getVolumeVoByType(type);
+ return R.ok(oss);
}
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
index f1ff196..6af39ff 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
@@ -42,6 +42,8 @@ public class SysOss extends BaseEntity {
*/
private String url;
+ private Long size;
+
/**
* 容量
*/
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java
index cd10711..b9fb13f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssPerson.java
@@ -1,5 +1,6 @@
package org.dromara.system.domain;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -58,5 +59,6 @@ public class SysOssPerson extends TenantEntity {
*/
private String fileSuffix;
-
+ @TableField(exist = false)
+ private Long use;
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java
index 3dcd4ac..dec2a0e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssResource.java
@@ -1,5 +1,6 @@
package org.dromara.system.domain;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -51,7 +52,10 @@ public class SysOssResource extends TenantEntity {
private Integer status;
private Long downloadNum;
+
private Long previewNum;
+ @TableField(exist = false)
+ private Long use;
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java
index 0d537cf..abbc1fd 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssTextbook.java
@@ -1,5 +1,6 @@
package org.dromara.system.domain;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -55,6 +56,9 @@ public class SysOssTextbook extends TenantEntity {
private Integer status;
private Long downloadNum;
+
private Long previewNum;
+ @TableField(exist = false)
+ private Long use;
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssVolume.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssVolume.java
new file mode 100644
index 0000000..541972f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssVolume.java
@@ -0,0 +1,46 @@
+package org.dromara.system.domain;
+
+import org.dromara.common.tenant.core.TenantEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 资源容量对象 sys_oss_volume
+ *
+ * @author cjw
+ * @date 2024-06-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("sys_oss_volume")
+public class SysOssVolume extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 空间类型,1学校,2个人
+ */
+ private Integer type;
+
+ /**
+ * 总大小
+ */
+ private Long totalVolume;
+
+ /**
+ * 已使用
+ */
+ private Long useVolume;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssVolumeBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssVolumeBo.java
new file mode 100644
index 0000000..5fe027b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssVolumeBo.java
@@ -0,0 +1,41 @@
+package org.dromara.system.domain.bo;
+
+import org.dromara.system.domain.SysOssVolume;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 资源容量业务对象 sys_oss_volume
+ *
+ * @author cjw
+ * @date 2024-06-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = SysOssVolume.class, reverseConvertGenerate = false)
+public class SysOssVolumeBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 空间类型,1学校,2个人
+ */
+ @NotNull(message = "空间类型,1学校,2个人不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Integer type;
+
+ /**
+ * 总大小
+ */
+ @NotNull(message = "总大小不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long total;
+
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java
index 4157641..18b8b80 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java
@@ -47,6 +47,8 @@ public class SysOssVo implements Serializable {
*/
private String url;
+ private Long size;
+
/**
* 容量
*/
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVolumeVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVolumeVo.java
new file mode 100644
index 0000000..45234e8
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVolumeVo.java
@@ -0,0 +1,44 @@
+package org.dromara.system.domain.vo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.system.domain.SysOssVolume;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+
+/**
+ * 资源容量视图对象 sys_oss_volume
+ *
+ * @author cjw
+ * @date 2024-06-25
+ */
+@Data
+@AutoMapper(target = SysOssVolume.class)
+public class SysOssVolumeVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ private Long id;
+
+ /**
+ * 空间类型,1学校,2个人
+ */
+ private Integer type;
+
+ /**
+ * 总大小
+ */
+ private Long totalVolume;
+
+ /**
+ * 已使用
+ */
+ private Long useVolume;
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssVolumeMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssVolumeMapper.java
new file mode 100644
index 0000000..9ebb87e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssVolumeMapper.java
@@ -0,0 +1,19 @@
+package org.dromara.system.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.dromara.system.domain.SysOssVolume;
+import org.dromara.system.domain.vo.SysOssVolumeVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 资源容量Mapper接口
+ *
+ * @author cjw
+ * @date 2024-06-25
+ */
+public interface SysOssVolumeMapper extends BaseMapperPlus {
+
+ int increaseUse(@Param("id") Long id, @Param("use")Long use);
+ int decreaseUse(@Param("id") Long id, @Param("use")Long use);
+
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java
index 71944e3..0adbe52 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java
@@ -5,6 +5,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.bo.SysOssBo;
import org.dromara.system.domain.vo.SysOssVo;
+import org.dromara.system.domain.vo.SysOssVolumeVo;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
@@ -95,4 +96,10 @@ public interface ISysOssService {
*/
void preview(Long ossId, HttpServletResponse response) throws Exception;
+ SysOssVolumeVo getVolumeVoByType(Integer type);
+
+ Boolean increase(int type ,Long use);
+
+ Boolean decrease(int type ,Long use);
+
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java
index 44701f3..ba11117 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssPersonServiceImpl.java
@@ -120,6 +120,7 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
if (flag) {
bo.setId(add.getId());
}
+ ossService.increase(2, add.getUse());
return flag;
}
@@ -144,6 +145,7 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
if (ObjectUtil.isNull(ossVo)) {
throw new ServiceException("文件不存在");
}
+ entity.setUse(ossVo.getSize());
SysCatalogPersonVo ossResource = catalogService.selectCatalogById(entity.getCatalogId());
if (ObjectUtil.isNull(ossResource)) {
throw new ServiceException("空间目录不存在");
@@ -162,6 +164,11 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
+ for(Long id :ids){
+ SysOssPersonVo ossPersonVo = baseMapper.selectVoById(id);
+ SysOssVo ossVo = ossService.getById(ossPersonVo.getOssId());
+ ossService.decrease(2, ossVo.getSize());
+ }
return baseMapper.deleteBatchIds(ids) > 0;
}
@@ -169,7 +176,9 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
public Boolean copyByBo(SysOssPersonBo bo) {
SysOssPerson copy = processDate(bo);
validEntityBeforeSave(copy);
- return baseMapper.insert(copy) > 0;
+ int i = baseMapper.insert(copy);
+ ossService.increase(2, copy.getUse());
+ return i > 0;
}
@Override
@@ -177,7 +186,8 @@ public class SysOssPersonServiceImpl implements ISysOssPersonService {
SysOssPerson move = processDate(bo);
baseMapper.insert(move);
validEntityBeforeSave(move);
- return baseMapper.deleteById(bo.getId()) > 0;
+ int i = baseMapper.deleteById(bo.getId());
+ return i > 0;
}
private SysOssPerson processDate(SysOssPersonBo bo) {
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java
index 9728952..1434d50 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssResourceServiceImpl.java
@@ -158,6 +158,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
if (flag) {
bo.setOssId(add.getOssId());
}
+ ossService.increase(1, add.getUse());
return flag;
}
@@ -182,6 +183,7 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
if (ObjectUtil.isNull(ossVo)) {
throw new ServiceException("文件不存在");
}
+ entity.setUse(ossVo.getSize());
SysCatalogResourceVo ossResource = catalogService.selectCatalogById(entity.getCatalogId());
if (ObjectUtil.isNull(ossResource)) {
throw new ServiceException("资源目录不存在");
@@ -201,6 +203,11 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
+ for(Long id :ids){
+ SysOssResourceVo ossResourceVo = baseMapper.selectVoById(id);
+ SysOssVo ossVo = ossService.getById(ossResourceVo.getOssId());
+ ossService.decrease(1, ossVo.getSize());
+ }
return baseMapper.deleteBatchIds(ids) > 0;
}
@@ -216,7 +223,9 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
public Boolean copyByBo(SysOssResourceBo bo) {
SysOssResource copy = processDate(bo);
validEntityBeforeSave(copy);
- return baseMapper.insert(copy) > 0;
+ int i = baseMapper.insert(copy);
+ ossService.increase(1, copy.getUse());
+ return i > 0;
}
@Override
@@ -224,7 +233,8 @@ public class SysOssResourceServiceImpl implements ISysOssResourceService {
SysOssResource move = processDate(bo);
baseMapper.insert(move);
validEntityBeforeSave(move);
- return baseMapper.deleteById(bo.getId()) > 0;
+ int i = baseMapper.deleteById(bo.getId());
+ return i>0;
}
private SysOssResource processDate(SysOssResourceBo bo) {
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
index 3928714..3995aaf 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
@@ -29,9 +29,12 @@ import org.dromara.common.oss.entity.UploadResult;
import org.dromara.common.oss.enumd.AccessPolicyType;
import org.dromara.common.oss.factory.OssFactory;
import org.dromara.system.domain.SysOss;
+import org.dromara.system.domain.SysOssVolume;
import org.dromara.system.domain.bo.SysOssBo;
import org.dromara.system.domain.vo.SysOssVo;
+import org.dromara.system.domain.vo.SysOssVolumeVo;
import org.dromara.system.mapper.SysOssMapper;
+import org.dromara.system.mapper.SysOssVolumeMapper;
import org.dromara.system.service.ISysOssService;
import org.jetbrains.annotations.NotNull;
import org.springframework.cache.annotation.Cacheable;
@@ -56,6 +59,8 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
private final SysOssMapper baseMapper;
+ private final SysOssVolumeMapper volumeMapper;
+
/**
* 查询OSS对象存储列表
*
@@ -199,7 +204,6 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
if (size > 1024 * 1024 * 1024) {
throw new ServiceException("上传的文件限制为1G以下");
}
- String format = DataSizeUtil.format(size);
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
OssClient storage = OssFactory.instance();
UploadResult uploadResult;
@@ -216,7 +220,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
throw new ServiceException(e.getMessage());
}
// 保存文件信息
- return buildResultEntity(originalfileName, md5, format, suffix, storage.getConfigKey(), uploadResult);
+ return buildResultEntity(originalfileName, md5, size, suffix, storage.getConfigKey(), uploadResult);
}
/**
@@ -235,7 +239,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
if (size > 1024 * 1024 * 1024) {
throw new ServiceException("上传的文件限制为1G以下");
}
- String format = DataSizeUtil.format(size);
+
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
OssClient storage = OssFactory.instance();
String md5;
@@ -251,17 +255,19 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
}
UploadResult uploadResult = storage.uploadSuffix(file, suffix);
// 保存文件信息
- return buildResultEntity(originalfileName, md5, format, suffix, storage.getConfigKey(), uploadResult);
+ return buildResultEntity(originalfileName, md5, size, suffix, storage.getConfigKey(), uploadResult);
}
@NotNull
- private SysOssVo buildResultEntity(String originalfileName, String md5, String format, String suffix, String configKey, UploadResult uploadResult) {
+ private SysOssVo buildResultEntity(String originalfileName, String md5, Long size, String suffix, String configKey, UploadResult uploadResult) {
+ String format = DataSizeUtil.format(size);
SysOss oss = new SysOss();
oss.setUrl(uploadResult.getUrl());
oss.setFileSuffix(suffix);
oss.setFileName(uploadResult.getFilename());
oss.setService(configKey);
oss.setFileMd5(md5);
+ oss.setSize(size);
oss.setVolume(format);
baseMapper.insert(oss);
SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class);
@@ -368,19 +374,22 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
}
}
- public static void main(String[] args) {
-
- // 验证License
- try {
- FileInputStream fileInput = new FileInputStream("D:/test.ppt");
- Presentation pres = new Presentation(fileInput);
- FileOutputStream out = new FileOutputStream(new File("D:/test.pdf"));
- pres.save(out, com.aspose.slides.SaveFormat.Pdf);
- out.close();
- } catch (Exception e) {
- System.out.println(e.getMessage());
- }
+ @Override
+ public SysOssVolumeVo getVolumeVoByType(Integer type) {
+ return volumeMapper.selectVoOne(new LambdaQueryWrapper().eq(SysOssVolume::getType, type));
+ }
+ @Override
+ public Boolean increase(int type, Long use) {
+ SysOssVolume sysOssVolume = volumeMapper.selectOne(new LambdaQueryWrapper().eq(SysOssVolume::getType, type));
+ int i = volumeMapper.increaseUse(sysOssVolume.getId(), use);
+ return i > 0;
+ }
+ @Override
+ public Boolean decrease(int type, Long use) {
+ SysOssVolume sysOssVolume = volumeMapper.selectOne(new LambdaQueryWrapper().eq(SysOssVolume::getType, type));
+ int i = volumeMapper.decreaseUse(sysOssVolume.getId(), use);
+ return i > 0;
}
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java
index bd1538e..b98a121 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssTextbookServiceImpl.java
@@ -158,6 +158,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
if (flag) {
bo.setOssId(add.getOssId());
}
+ ossService.increase(1, add.getUse());
return flag;
}
@@ -182,6 +183,7 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
if (ObjectUtil.isNull(ossVo)) {
throw new ServiceException("文件不存在");
}
+ entity.setUse(ossVo.getSize());
SysCatalogTextbookVo ossTextbook = catalogService.selectCatalogById(entity.getCatalogId());
if (ObjectUtil.isNull(ossTextbook)) {
throw new ServiceException("教材目录不存在");
@@ -200,6 +202,11 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
+ for (Long id : ids) {
+ SysOssTextbookVo ossTextbookVo = baseMapper.selectVoById(id);
+ SysOssVo ossVo = ossService.getById(ossTextbookVo.getOssId());
+ ossService.decrease(1, ossVo.getSize());
+ }
return baseMapper.deleteBatchIds(ids) > 0;
}
@@ -215,7 +222,9 @@ public class SysOssTextbookServiceImpl implements ISysOssTextbookService {
public Boolean copyByBo(SysOssTextbookBo bo) {
SysOssTextbook copy = processDate(bo);
validEntityBeforeSave(copy);
- return baseMapper.insert(copy) > 0;
+ int i = baseMapper.insert(copy);
+ ossService.increase(1, copy.getUse());
+ return i > 0;
}
@Override
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssVolumeMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssVolumeMapper.xml
new file mode 100644
index 0000000..16e75f7
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssVolumeMapper.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ update sys_oss_volume
+ set `use_volume` = `use_volume` + #{use}
+ where id = #{id}
+
+
+
+ update sys_oss_volume
+ set `use_volume` = `use_volume` - #{use}
+ where id = #{id}
+
+