From 2f02aef7239cc800ba66169c34c476c05a62434b Mon Sep 17 00:00:00 2001 From: richboo111 Date: Wed, 27 Jul 2022 17:31:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=90=8E=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/dao_order.go | 32 ++++++++++++++++++++++++++++++++ business/q_bida/q_bida_server.go | 12 +++++++++--- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index b17a3d1de..1f1ca0968 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -668,3 +668,35 @@ func GetUnionOrdersPage(db *DaoDB, vendorIDs, statuss []int, beginTime, endTime } return page, err } +func SetOrderStatus(db *DaoDB, orderID string, status int) (msg string, err error) { + sqlParams := []interface{}{} + sql := `UPDATE ` + "`order`" + `SET status = ? WHERE 1 = 1` + if status > 0 { + sqlParams = append(sqlParams, status) + } + if orderID != "" { + sql += `WHERE order_id = ?` + sqlParams = append(sqlParams, orderID) + } + orderInfos := &model.Order{} + if err := GetRow(db, orderInfos, sql, sqlParams); err != nil { + return "更新order状态失败", err + } + return "更新order状态成功", err +} +func SetUserVendorOrderStatus(db *DaoDB, localWayBillID string, status int) (msg string, err error) { + sqlParams := []interface{}{} + sql := `UPDATE ` + "`user_vendor_order`" + `SET status = ? WHERE 1 = 1` + if status > 0 { + sqlParams = append(sqlParams, status) + } + if localWayBillID != "" { + sql += `WHERE local_way_bill = ?` + sqlParams = append(sqlParams, localWayBillID) + } + orderInfos := &model.Order{} + if err := GetRow(db, orderInfos, sql, sqlParams); err != nil { + return "更新UserVendorOrder状态失败", err + } + return "更新UserVendorOrder状态成功", err +} diff --git a/business/q_bida/q_bida_server.go b/business/q_bida/q_bida_server.go index 688d8f009..efe87c441 100644 --- a/business/q_bida/q_bida_server.go +++ b/business/q_bida/q_bida_server.go @@ -241,19 +241,25 @@ func CancelWayOrder(ctx *jxcontext.Context, userId string, param *bida.CancelOrd Type: param.Type, } if err := api.QBiDaAPI.CancelOrder(cancelParma); err != nil { - return FailCode, err + err = nil } // 暂时考虑余额支付渠道,加载order表判断支付渠道方式 orderWay, err := dao.GetOrderByID(db, tmp_orderNo) if err != nil { return FailCode, err } - if orderWay.PayMethod == 1 { // 余额支付 + if orderWay.PayMethod == 1 && orderWay.Status == 110 { // 余额支付且已支付 // 支付方式为余额支付,则需要修改order/userVendorOrder,修改订单状态,给用户账户价钱,生成一个价钱数据 - } else if orderWay.PayMethod == 2 { // 微信支付 + } else if orderWay.PayMethod == 2 && orderWay.Status == 110 { // 微信支付且已支付 // 微信支付原路退款,发起退款申请 res, err := RefundOrderByTL(ctx, orderWay, order, order.OtherWayBill, int(order.ChannelFee*100), "申请退款") if len(res.VendorRefundID) > 0 { + if _, err := dao.SetUserVendorOrderStatus(db, tmp_orderNo, 150); err != nil { + return FailCode, err + } + if _, err := dao.SetOrderStatus(db, orderWay.OrderID, 150); err != nil { + return FailCode, err + } return SuccessCode, err } else { return FailCode, err