From 5ae8814ef4c0fbf24a80800c6e7140ffed52a034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 24 Feb 2021 18:10:11 +0800 Subject: [PATCH] aa --- business/model/order.go | 28 +----------- business/partner/purchase/jx/localjx/order.go | 45 ++++++++++++++++--- controllers/jx_order2.go | 6 +-- globals/beegodb/beegodb.go | 1 - 4 files changed, 42 insertions(+), 38 deletions(-) diff --git a/business/model/order.go b/business/model/order.go index 411feaf64..58f374d8c 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -35,6 +35,7 @@ const ( OrderTypeMatter = 1 //物料订单 OrderTypeSupplyGoods = 2 //进货订单 OrderTypeDefendPrice = 3 //守价订单 + OrderTypeStoreAcct = 4 //门店账户订单 ) const ( @@ -482,33 +483,6 @@ func (v *StoreCoupons) TableIndex() [][]string { } } -type AcctOrder struct { - ModelIDCUL - - VendorOrderID string `orm:"column(vendor_order_id)" json:"vendorOrderID"` //订单号 - UserID string `orm:"column(user_id);size(48)" json:"userID"` //用户ID - StoreID int `orm:"column(store_id)" json:"storeID"` //门店ID - OrderType int `json:"orderType"` //订单类型 - Status int `json:"status"` //订单状态,待支付2,已支付5,支付成功110,支付失败115 - PayPrice int `json:"payPrice"` //支付金额 - OriginalData string `orm:"type(text)" json:"-"` - Comment string `orm:"size(255)" json:"comment"` //备注 -} - -func (v *AcctOrder) TableUnique() [][]string { - return [][]string{ - []string{"VendorOrderID"}, - } -} - -func (v *AcctOrder) TableIndex() [][]string { - return [][]string{ - []string{"CreatedAt"}, - []string{"StoreID"}, - []string{"UserID"}, - } -} - // 判断是否是购买平台自有物流 // 对于京东,饿百来说,就是其自有的物流,对于微商城来说,是达达 func IsWaybillPlatformOwn(bill *Waybill) bool { diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 22283cf48..24c5d3e16 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -344,12 +344,11 @@ func Pay4Order(ctx *jxcontext.Context, orderID int64, payType int, vendorPayType return orderPay, err } -func Pay4User(ctx *jxcontext.Context, thingID, payType int, vendorPayType string) (orderPay *model.OrderPay, err error) { +func Pay4User(ctx *jxcontext.Context, thingID int, vendorOrderID string, payType int, vendorPayType string) (orderPay *model.OrderPay, err error) { var ( - db = dao.GetDB() - order *model.GoodsOrder - dicountCards []*model.DiscountCard - vendorOrderID string + db = dao.GetDB() + order *model.GoodsOrder + dicountCards []*model.DiscountCard ) switch payType { case model.PayTypeTL_DiscountCard: @@ -2431,7 +2430,39 @@ func RefreshCouponsStatus(ctx *jxcontext.Context) (err error) { return err } -func CreateStoreAcctOrder(ctx *jxcontext.Context, orderType, storeID, price int) (acctOrder *model.AcctOrder, err error) { +func CreateStoreAcctOrder(ctx *jxcontext.Context, orderType, storeID, price int) (vendorOrderID string, err error) { + var ( + db = dao.GetDB() + storeAcct = &model.StoreAcct{ + StoreID: storeID, + } + ) + if err = dao.GetEntity(db, storeAcct, "StoreID"); err != nil && dao.IsNoRowsError(err) { + //新增门店账单 + dao.WrapAddIDCULEntity(storeAcct, ctx.GetUserName()) + dao.CreateEntity(db, storeAcct) + } - return acctOrder, err + order := &model.GoodsOrder{ + VendorOrderID: utils.Int64ToStr(jxutils.GenOrderNo()), + UserID: ctx.GetUserID(), + StoreID: storeID, + OrderType: orderType, + Status: model.OrderStatusWait4Pay, + ActualPayPrice: int64(price), + OrderCreatedAt: time.Now(), + VendorID: model.VendorIDJX, + } + 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.VendorOrderID, err } diff --git a/controllers/jx_order2.go b/controllers/jx_order2.go index d2f06383e..7143f5894 100644 --- a/controllers/jx_order2.go +++ b/controllers/jx_order2.go @@ -65,7 +65,7 @@ func (c *JxOrderController) Pay4Order() { // @router /Pay4User [post] func (c *JxOrderController) Pay4User() { c.callPay4User(func(params *tJxorderPay4UserParams) (retVal interface{}, errCode string, err error) { - retVal, err = localjx.Pay4User(params.Ctx, params.ThingID, params.PayType, params.VendorPayType) + retVal, err = localjx.Pay4User(params.Ctx, params.ThingID, params.VendorOrderID, params.PayType, params.VendorPayType) return retVal, "", err }) } @@ -372,7 +372,7 @@ func (c *JxOrderController) ReceiveCoupons() { // @Title 创建门店账户订单 // @Description 创建门店账户订单 // @Param token header string true "认证token" -// @Param orderType formData int true "订单类型,1为账户充值" +// @Param orderType formData int true "订单类型,4为门店账户订单" // @Param storeID formData int true "门店ID" // @Param price formData int true "支付金额" // @Success 200 {object} controllers.CallResult @@ -380,7 +380,7 @@ func (c *JxOrderController) ReceiveCoupons() { // @router /CreateStoreAcctOrder [post] func (c *JxOrderController) CreateStoreAcctOrder() { c.callCreateStoreAcctOrder(func(params *tJxorderCreateStoreAcctOrderParams) (retVal interface{}, errCode string, err error) { - localjx.CreateStoreAcctOrder(params.Ctx, params.OrderType, params.StoreID, params.Price) + retVal, err = localjx.CreateStoreAcctOrder(params.Ctx, params.OrderType, params.StoreID, params.Price) return retVal, "", err }) } diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index 56f0e0216..6a7568054 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -104,7 +104,6 @@ func Init() { orm.RegisterModel(&model.StoreAcct{}) orm.RegisterModel(&model.StoreAcctExpend{}) orm.RegisterModel(&model.StoreAcctIncome{}) - orm.RegisterModel(&model.AcctOrder{}) // create table orm.RunSyncdb("default", false, true)