package cms import ( "git.rosy.net.cn/jx-callback/business/jxstore/financial" "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) { var ( db = dao.GetDB() order = &model.Order{ OrderID: int64(orderID), } ) err = dao.GetEntity(db, order, "OrderID") err = financial.IPayHandler.CreatePay(order, payType, vendorPayType) return err }