diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9f898a32..d0cad4cf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,7 @@
* Bug修复:修复后台拖动排序组件 Bug
* 功能优化:更新数据库失败时候显示具体的的报错信息
* Bug修复:修复管理后台对话详情页内容显示异常问题
+* 功能优化:管理后台新增清空所有未支付订单的功能
## v4.1.1
* Bug修复:修复 GPT 模型 function call 调用后没有输出的问题
diff --git a/api/handler/admin/order_handler.go b/api/handler/admin/order_handler.go
index 4db6c4a6..510255f4 100644
--- a/api/handler/admin/order_handler.go
+++ b/api/handler/admin/order_handler.go
@@ -93,10 +93,20 @@ func (h *OrderHandler) Remove(c *gin.Context) {
}
err := h.DB.Unscoped().Where("id = ?", id).Delete(&model.Order{}).Error
- if res.Error != nil {
+ if err != nil {
resp.ERROR(c, err.Error())
return
}
}
resp.SUCCESS(c)
}
+
+func (h *OrderHandler) Clear(c *gin.Context) {
+
+ err := h.DB.Unscoped().Where("status <> ?", 2).Where("pay_time", 0).Delete(&model.Order{}).Error
+ if err != nil {
+ resp.ERROR(c, err.Error())
+ return
+ }
+ resp.SUCCESS(c)
+}
diff --git a/api/main.go b/api/main.go
index 26ca6fed..d91c892f 100644
--- a/api/main.go
+++ b/api/main.go
@@ -392,6 +392,7 @@ func main() {
group := s.Engine.Group("/api/admin/order/")
group.POST("list", h.List)
group.GET("remove", h.Remove)
+ group.GET("clear", h.Clear)
}),
fx.Invoke(func(s *core.AppServer, h *handler.OrderHandler) {
group := s.Engine.Group("/api/order/")
diff --git a/web/src/views/admin/Order.vue b/web/src/views/admin/Order.vue
index a633c218..dd6230c3 100644
--- a/web/src/views/admin/Order.vue
+++ b/web/src/views/admin/Order.vue
@@ -20,6 +20,7 @@
style="margin: 0 10px;width: 200px; position: relative;top:3px;"
/>
搜索
+ 清空未支付订单
@@ -76,9 +77,9 @@