From 6ec1e9749fccded1fe756515297acc9bcfed911e Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 5 Sep 2024 19:27:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=B7=B2=E5=AE=8C=E6=88=90=E4=BC=9A=E5=91=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/OrderMember.go | 65 +++++++++++++++++++++++++++++++++++ api/router/router.go | 3 ++ 2 files changed, 68 insertions(+) diff --git a/api/controller/OrderMember.go b/api/controller/OrderMember.go index 6f474d6..ce854c9 100644 --- a/api/controller/OrderMember.go +++ b/api/controller/OrderMember.go @@ -224,6 +224,71 @@ func (b *OrderMember) GetOrderMemberPay(c *gin.Context) { responses.OkWithData(g, c) } +// DeleteOrderMember 删除会员订单支付数据 +func (b *OrderMember) DeleteOrderMember(c *gin.Context) { + userId := c.GetInt64("UserId") + + id := c.Param("order_id") + if id == "" { + responses.FailWithMessage("缺少参数", c) + return + } + + // 将 id 转换为 int64 类型 + orderId, err := strconv.ParseInt(id, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + // 获取订单数据 + orderMemberDao := dao.OrderMemberDao{} + maps := make(map[string]interface{}) + maps["user_id"] = userId + maps["order_id"] = orderId + orderMember, err := orderMemberDao.GetOrderMember(maps) + if err != nil { + responses.FailWithMessage("订单异常", c) + return + } + + // 检测订单状态 + if orderMember.OrderStatus != 2 { + responses.FailWithMessage("订单不允许删除", c) + return + } + + // 检测订单删除状态 + if orderMember.IsDelete == 1 { + responses.Ok(c) + return + } + + // 开始事务 + tx := global.Db.Begin() + defer func() { + if r := recover(); r != nil { + tx.Rollback() + utils.LogJsonErr("操作失败", r) + responses.FailWithMessage("操作失败", c) + return + } + }() + + orderMemberData := make(map[string]interface{}) + orderMemberData["is_delete"] = 1 + orderMemberData["updated_at"] = time.Now().Format("2006-01-02 15:04:05") + err = orderMemberDao.EditOrderMemberById(tx, orderId, orderMemberData) + if err != nil { + tx.Rollback() + responses.FailWithMessage("删除失败", c) + return + } + + tx.Commit() + responses.Ok(c) +} + // GetOrderMemberPayStatus 查询订单支付状态-会员 func (b *OrderMember) GetOrderMemberPayStatus(c *gin.Context) { userId := c.GetInt64("UserId") diff --git a/api/router/router.go b/api/router/router.go index f778310..7e0db35 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -319,6 +319,9 @@ func privateRouter(r *gin.Engine, api controller.Api) { // 获取会员订单支付数据 memberGroup.GET("/pay/:order_id", api.OrderMember.GetOrderMemberPay) + // 删除会员订单 + memberGroup.DELETE("/:order_id", api.OrderMember.DeleteOrderMember) + // 查询订单支付状态-会员 memberGroup.GET("/pay/status/:order_id", api.OrderMember.GetOrderMemberPayStatus)