取消后更新订单状态
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user