Sfoglia il codice sorgente

update 修正 PR 相关问题

疯狂的狮子li 3 anni fa
parent
commit
652a39b11c

+ 21 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java

@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.system;
 
 import cn.hutool.core.convert.Convert;
 import cn.hutool.http.HttpUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.controller.BaseController;
@@ -10,10 +11,14 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.oss.constant.CloudConstant;
+import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.domain.SysOss;
 import com.ruoyi.system.domain.bo.SysOssBo;
 import com.ruoyi.system.domain.vo.SysOssVo;
+import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysOssService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -49,6 +54,7 @@ import java.util.Map;
 public class SysOssController extends BaseController {
 
 	private final ISysOssService iSysOssService;
+	private final ISysConfigService iSysConfigService;
 
 	/**
 	 * 查询OSS云存储列表
@@ -111,4 +117,19 @@ public class SysOssController extends BaseController {
 		return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true) ? 1 : 0);
 	}
 
+	/**
+	 * 变更图片列表预览状态
+	 */
+	@ApiOperation("变更图片列表预览状态")
+	@PreAuthorize("@ss.hasPermi('system:oss:edit')")
+	@Log(title = "OSS云存储" , businessType = BusinessType.UPDATE)
+	@PutMapping("/changePreviewListResource")
+	public AjaxResult<Void> changePreviewListResource(@RequestBody String body) {
+		Map<String, Boolean> map = JsonUtils.parseMap(body);
+		SysConfig config = iSysConfigService.getOne(new LambdaQueryWrapper<SysConfig>()
+			.eq(SysConfig::getConfigKey, CloudConstant.PEREVIEW_LIST_RESOURCE_KEY));
+		config.setConfigValue(map.get("previewListResource").toString());
+		return toAjax(iSysConfigService.updateConfig(config));
+	}
+
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java

@@ -88,7 +88,7 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper,
     @Override
     public Boolean deleteWithValidByIds(Collection<Integer> ids, Boolean isValid) {
     	if(isValid) {
-			if (CollUtil.containsAll(ids, CollUtil.newArrayList(1, 2, 3, 4))) {
+			if (CollUtil.containsAny(ids, CollUtil.newArrayList(1, 2, 3, 4))) {
 				throw new CustomException("系统内置, 不可删除!");
 			}
 		}

+ 11 - 0
ruoyi-ui/src/api/system/oss.js

@@ -16,3 +16,14 @@ export function delOss(ossId) {
     method: 'delete'
   })
 }
+
+export function changePreviewListResource(previewListResource) {
+  const data = {
+    previewListResource
+  }
+  return request({
+    url: '/system/oss/changePreviewListResource',
+    method: 'put',
+    data: data
+  })
+}

+ 14 - 7
ruoyi-ui/src/views/system/oss/config.vue

@@ -345,6 +345,12 @@ export default {
       this.resetForm("queryForm");
       this.handleQuery();
     },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.ossConfigId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
@@ -402,7 +408,9 @@ export default {
         this.loading = false;
         this.getList();
         this.msgSuccess("删除成功");
-      }).catch(() => {});
+      }).finally(() => {
+        this.loading = false;
+      });
     },
     // 云存储配置状态修改
     handleStatusChange(row) {
@@ -412,16 +420,15 @@ export default {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning",
-      }).then(function () {
+      }).then(() => {
         return changeOssConfigStatus(row.ossConfigId, row.status, row.configKey);
       }).then(() => {
         this.getList()
         this.msgSuccess(text + "成功");
-      }).catch(function () {
+      }).catch(() => {
         row.status = row.status === "0" ? "1" : "0";
-      }).finally(() => {
-      });
-    },
-  },
+      })
+    }
+  }
 };
 </script>

+ 37 - 9
ruoyi-ui/src/views/system/oss/index.vue

@@ -96,6 +96,15 @@
           v-hasPermi="['system:oss:remove']"
         >删除</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          :type="previewListResource ? 'danger' : 'warning'"
+          plain
+          size="mini"
+          @click="handlePreviewListResource(!previewListResource)"
+          v-hasPermi="['system:oss:edit']"
+        >预览开关 : {{previewListResource ? "禁用" : "启用"}}</el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="info"
@@ -178,7 +187,7 @@
 </template>
 
 <script>
-import { listOss, delOss } from "@/api/system/oss";
+import { listOss, delOss, changePreviewListResource } from "@/api/system/oss";
 import { downLoadOss } from "@/utils/download";
 
 export default {
@@ -325,14 +334,33 @@ export default {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
-        }).then(() => {
-          this.loading = true;
-          return delOss(ossIds);
-        }).then(() => {
-          this.loading = false;
-          this.getList();
-          this.msgSuccess("删除成功");
-        }).catch(() => {});
+      }).then(() => {
+        this.loading = true;
+        return delOss(ossIds);
+      }).then(() => {
+        this.loading = false;
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    // 预览列表图片状态修改
+    handlePreviewListResource(previewListResource) {
+      let text = previewListResource ? "启用" : "停用";
+      this.$confirm(
+        '确认要"' + text + '""预览列表图片"配置吗?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+      }).then(() => {
+        return changePreviewListResource(previewListResource);
+      }).then(() => {
+        this.getList()
+        this.msgSuccess(text + "成功");
+      }).catch(() => {
+        this.previewListResource = previewListResource !== true;
+      })
     }
   }
 };