dongfeng-pay/boss/supplier/gateway_solve.go

49 lines
1.2 KiB
Go
Raw Normal View History

2019-12-19 14:47:58 +08:00
/***************************************************
** @Desc : 处理网关模块的一些需要操作数据库的功能
** @Time : 2019/12/7 16:40
** @Author : yuebin
** @File : gateway_solve
** @Last Modified by : yuebin
** @Last Modified time: 2019/12/7 16:40
** @Software: GoLand
****************************************************/
package controller
import (
2021-04-27 15:36:40 +08:00
"boss/models"
"github.com/beego/beego/v2/adapter/orm"
"github.com/beego/beego/v2/core/logs"
2019-12-19 14:47:58 +08:00
)
/*
* 插入支付订单记录和订单利润记录保证一致性
*/
func InsertOrderAndOrderProfit(orderInfo models.OrderInfo, orderProfitInfo models.OrderProfitInfo) bool {
o := orm.NewOrm()
2021-04-27 15:36:40 +08:00
_ = o.Begin()
2019-12-19 14:47:58 +08:00
defer func(interface{}) {
if err := recover(); err != nil {
2021-04-27 15:36:40 +08:00
_ = o.Rollback()
2019-12-19 14:47:58 +08:00
}
}(o)
if _, err := o.Insert(&orderInfo); err != nil {
logs.Error("insert orderInfo fail: ", err)
2021-04-27 15:36:40 +08:00
_ = o.Rollback()
2019-12-19 14:47:58 +08:00
return false
}
if _, err := o.Insert(&orderProfitInfo); err != nil {
logs.Error("insert orderProfit fail: ", err)
2021-04-27 15:36:40 +08:00
_ = o.Rollback()
2019-12-19 14:47:58 +08:00
return false
}
if err := o.Commit(); err != nil {
logs.Error("insert order and orderProfit fail", err)
} else {
logs.Info("插入order和orderProfit记录成功")
}
return true
}