feat(商品设置): 添加ES商品索引管理功能

新增三个API接口用于管理ES商品索引:
1. 删除ES中下架的商品
2. 删除不存在的索引
3. 生成所有商品的缓存
同时在商品设置页面添加对应操作按钮
This commit is contained in:
pikachu1995@126.com
2025-10-20 13:43:34 +08:00
parent 1a3fae6501
commit 311ca35afc
2 changed files with 53 additions and 3 deletions

View File

@@ -445,6 +445,21 @@ export const getProgress = () => {
return getRequest(`/other/elasticsearch/progress`); return getRequest(`/other/elasticsearch/progress`);
}; };
// 删除ES中下架的商品
export const deleteGoodsDown = () => {
return getRequest(`/other/elasticsearch/deleteGoodsDown`);
};
// 删除不存在的索引
export const delSkuIndex = () => {
return getRequest(`/other/elasticsearch/delSkuIndex`);
};
// 生成所有商品的缓存
export const generateGoodsCache = () => {
return getRequest(`/other/elasticsearch/cache`);
};
// 分页查询自定义分词 // 分页查询自定义分词
export const getCustomWordsPage = (params) => { export const getCustomWordsPage = (params) => {
return getRequest(`/other/customWords/page`, params); return getRequest(`/other/customWords/page`, params);

View File

@@ -54,9 +54,14 @@
</Input> </Input>
</FormItem> </FormItem>
</div> </div>
<div class="label-btns"> <div class="label-btns">
<Button type="primary" @click="submit('formValidate')">保存</Button> <Button type="primary" @click="submit('formValidate')">保存</Button>
<Button type="primary" style="margin-left: 100px" @click="createIndex()">重新生成所有商品索引</Button> <div class="es-buttons">
<Button type="success" @click="createIndex()">重新生成所有商品索引</Button>
<Button type="info" @click="deleteDownGoods()">删除ES中下架的商品</Button>
<Button type="warning" @click="generateCache()">生成所有商品的缓存</Button>
<Button type="error" @click="deleteNotExistIndex()">删除不存在的索引</Button>
</div>
<div class="progress-item" v-if="showProgress"> <div class="progress-item" v-if="showProgress">
<i-progress :percent="progressVal"></i-progress> <i-progress :percent="progressVal"></i-progress>
</div> </div>
@@ -65,7 +70,7 @@
</div> </div>
</template> </template>
<script> <script>
import { setSetting, createIndex, getProgress } from "@/api/index"; import { setSetting, createIndex, getProgress, deleteGoodsDown, generateGoodsCache, delSkuIndex } from "@/api/index";
import { handleSubmit } from "./validate"; import { handleSubmit } from "./validate";
export default { export default {
props: ["res", "type"], props: ["res", "type"],
@@ -140,6 +145,36 @@ export default {
} }
}); });
}, },
//删除ES中下架的商品
deleteDownGoods() {
deleteGoodsDown().then((res) => {
if (res.success) {
this.$Message.success("删除成功!");
} else {
this.$Message.error("删除失败!");
}
});
},
//生成所有商品的缓存
generateCache() {
generateGoodsCache().then((res) => {
if (res.success) {
this.$Message.success("生成成功!");
} else {
this.$Message.error("生成失败!");
}
});
},
//删除不存在的索引
deleteNotExistIndex() {
delSkuIndex().then((res) => {
if (res.success) {
this.$Message.success("删除成功!");
} else {
this.$Message.error("删除失败!");
}
});
},
// 保存设置 // 保存设置
setupSetting() { setupSetting() {
setSetting(this.type, this.formValidate).then((res) => { setSetting(this.type, this.formValidate).then((res) => {