取消后更新订单状态

This commit is contained in:
richboo111
2022-07-27 17:31:47 +08:00
parent b5fe22f908
commit 2f02aef723
2 changed files with 41 additions and 3 deletions

View File

@@ -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
}

View File

@@ -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