57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
package cms
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
|
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
)
|
|
|
|
const (
|
|
OrderTypeDeposit = 1 //保证金
|
|
)
|
|
|
|
func CreateOrder(ctx *jxcontext.Context, price, orderType int) (order *model.Order, err error) {
|
|
var (
|
|
db = dao.GetDB()
|
|
)
|
|
order = &model.Order{
|
|
OrderID: jxutils.GenOrderNo(),
|
|
UserID: ctx.GetUserID(),
|
|
Type: orderType,
|
|
Status: model.OrderStatusWait4Pay,
|
|
PayPrice: price,
|
|
}
|
|
dao.WrapAddIDCULEntity(order, ctx.GetUserName())
|
|
dao.Begin(db)
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
dao.Rollback(db)
|
|
panic(r)
|
|
}
|
|
}()
|
|
if err = dao.CreateEntity(db, order); err != nil {
|
|
dao.Rollback(db)
|
|
}
|
|
dao.Commit(db)
|
|
return order, err
|
|
}
|
|
|
|
func Pay(ctx *jxcontext.Context, orderID, payType int, vendorPayType string) (err error) {
|
|
switch payType {
|
|
case model.PayTypeTL:
|
|
// if orderPay, err = financial.Pay4OrderByTL(ctx, order, payType, vendorPayType); err == nil && orderPay != nil {
|
|
// dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName())
|
|
// err = dao.CreateEntity(dao.GetDB(), orderPay)
|
|
// }
|
|
default:
|
|
err = fmt.Errorf("支付方式:%d当前不支持", payType)
|
|
}
|
|
return err
|
|
}
|