This commit is contained in:
苏尹岚
2021-03-30 17:39:07 +08:00
parent b9f7d7f53a
commit 0dd7235485
49 changed files with 579 additions and 582 deletions

View File

@@ -3,7 +3,7 @@ package casbinauth
import (
jxmodel "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
"github.com/casbin/casbin/model"
"github.com/casbin/casbin/persist"
)

View File

@@ -18,10 +18,10 @@ const (
// 处理正向订单结账信息
func (c *OrderManager) SaveOrderFinancialInfo(order *model.OrderFinancial, operation string) (err error) {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -57,7 +57,7 @@ func (c *OrderManager) SaveOrderFinancialInfo(order *model.OrderFinancial, opera
globals.SugarLogger.Warnf("On SaveOrderDiscountFinancialInfo order.VendorOrderID:%s err: order is err", order.VendorOrderID)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
}
@@ -105,7 +105,7 @@ func (c *OrderManager) SaveOrderFinancialInfo(order *model.OrderFinancial, opera
globals.SugarLogger.Warnf("On SaveOrderSkuFinancialInfo order.VendorOrderID:%s err:%v", order.VendorOrderID, err)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
}
@@ -126,7 +126,7 @@ func (c *OrderManager) SaveOrderFinancialInfo(order *model.OrderFinancial, opera
globals.SugarLogger.Warnf("On SaveOrderSkuFinancialInfo order.VendorOrderID:%s err:%v", order.VendorOrderID, err)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
} else {
@@ -139,10 +139,10 @@ func (c *OrderManager) SaveOrderFinancialInfo(order *model.OrderFinancial, opera
globals.SugarLogger.Warnf("On SaveOrderFinancialInfo order.VendorOrderID:%s err: order is err", order.VendorOrderID)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -150,10 +150,10 @@ func (c *OrderManager) SaveOrderFinancialInfo(order *model.OrderFinancial, opera
func (c *OrderManager) SaveAfsOrderFinancialInfo(afsOrder *model.AfsOrder) (err error) {
globals.SugarLogger.Debug(afsOrder.AfsOrderID)
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -168,7 +168,7 @@ func (c *OrderManager) SaveAfsOrderFinancialInfo(afsOrder *model.AfsOrder) (err
globals.SugarLogger.Warnf("On SaveAfsOrderFinancialInfo afsOrder.AfsOrderID:%s err: SaveAfsOrder is err", afsOrder.AfsOrderID)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
@@ -182,7 +182,7 @@ func (c *OrderManager) SaveAfsOrderFinancialInfo(afsOrder *model.AfsOrder) (err
globals.SugarLogger.Warnf("On SaveAfsOrderFinancialInfo afsOrder.AfsOrderID:%s err: SaveAfsOrderSku is err", afsOrder.AfsOrderID)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
}
@@ -194,13 +194,13 @@ func (c *OrderManager) SaveAfsOrderFinancialInfo(afsOrder *model.AfsOrder) (err
globals.SugarLogger.Warnf("On SaveAfsOrderFinancialInfo afsOrder.AfsOrderID:%s err: SaveAfsOrderSku is err", afsOrder.AfsOrderID)
return err
}
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil
}
} else {
globals.SugarLogger.Warnf("On SaveAfsOrderFinancialInfo afsOrder.AfsOrderID:%s err: afsOrder have no sku", afsOrder.AfsOrderID)
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -212,10 +212,10 @@ func (c *OrderManager) UpdataOrderFinancialInfo(orderFinancial *model.OrderFinan
// orderFinancial.JxFreightMoney = wayBill.DesiredFee
// }
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -254,7 +254,7 @@ func (c *OrderManager) UpdataOrderFinancialInfo(orderFinancial *model.OrderFinan
globals.SugarLogger.Warnf("On SaveOrderFinancialInfo err: order is err")
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
// orderFinancial 和 OrderSkuFinancial 数据计算完毕,准备进行更新
return err
}

View File

@@ -27,7 +27,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
var (
@@ -52,11 +52,11 @@ func (c *OrderManager) OnOrderNew(order *model.GoodsOrder, orderStatus *model.Or
}
db := dao.GetDB()
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
globals.SugarLogger.Debugf("OnOrderNew exit orderID:%s", order.VendorOrderID)
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -74,12 +74,12 @@ func (c *OrderManager) OnOrderNew(order *model.GoodsOrder, orderStatus *model.Or
}
}
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
if !isDuplicated {
err = scheduler.CurrentScheduler.OnOrderNew(order, false, false)
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
return err
}
@@ -92,10 +92,10 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model
}
db := dao.GetDB()
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -145,14 +145,14 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model
isDuplicated, err = c.SaveOrder(order, true, db)
}
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
if !isDuplicated {
// 因为订单调度器需要的是真实状态所以用order的状态
_ = scheduler.CurrentScheduler.OnOrderNew(order, false, false)
_ = scheduler.CurrentScheduler.OnOrderStatusChanged(order, orderStatus, false)
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
return err
}
@@ -170,16 +170,16 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
}
db := dao.GetDB()
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
isDuplicated, order, err := c.addOrderStatus(orderStatus, db)
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
if orderStatus.Status == model.OrderStatusWaybillTipChanged {
if order, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == nil {
if handler := partner.GetWaybillTipUpdater(orderStatus.RefVendorID); handler != nil {
@@ -236,7 +236,7 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
}
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
return err
}
@@ -294,10 +294,10 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao
setFakeOrderFlag(db, order)
// cms.HandleOrder4Consignee(order)
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -352,7 +352,7 @@ func (c *OrderManager) SaveOrder(order *model.GoodsOrder, isAdjust bool, db *dao
err = ModifyOrderSkusStock(db, order, false)
}
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
}
return isDuplicated, err
}
@@ -938,10 +938,10 @@ func (c *OrderManager) RefreshHistoryOrdersEarningPrice(ctx *jxcontext.Context,
order := batchItemList[0].(*model.GoodsOrder)
db := dao.GetDB()
updateSingleOrderEarningPrice(order, db)
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -999,7 +999,7 @@ func (c *OrderManager) RefreshHistoryOrdersEarningPrice(ctx *jxcontext.Context,
if err != nil {
return nil, err
}
dao.Commit(db)
dao.Commit(db, txDB)
retVal = []string{utils.Int64ToStr(num)}
return retVal, err
}, orderList)
@@ -1072,9 +1072,10 @@ func AddUpdateOrdersSupplement(ctx *jxcontext.Context, ordersSupplement *model.O
)
now := time.Now()
ordersSupplement.SupplementTime = &now
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -1101,7 +1102,7 @@ func AddUpdateOrdersSupplement(ctx *jxcontext.Context, ordersSupplement *model.O
dao.WrapAddIDCULDEntity(ordersSupplement, ctx.GetUserName())
err = dao.CreateEntity(db, ordersSupplement)
}
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}
@@ -1123,25 +1124,25 @@ func RefreshOrdersPriceInfo(ctx *jxcontext.Context, fromTime, toTime time.Time,
if err == nil {
db := dao.GetDB()
if err = FixedOrderManager.updateOrderOtherInfo(newOrder, db); err == nil {
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if _, err = dao.UpdateEntity(db, newOrder); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
for _, sku := range newOrder.Skus {
if _, err = dao.UpdateEntity(db, sku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
return retVal, err
@@ -1923,18 +1924,18 @@ func UpdateOrderInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int,
}
valid := dao.StrictMakeMapByStructObject(payload, order, ctx.GetUserName())
if len(valid) > 0 {
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if num, err = dao.UpdateEntityByKV(db, order, valid, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return num, err
}
@@ -1961,10 +1962,10 @@ func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID,
dao.UpdateEntity(db, v, "ShopPrice", "EarningPrice")
return err
}
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1989,6 +1990,6 @@ func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID,
order.ShopPrice = shopPrice
order.EarningPrice = earningPrice
num, err = dao.UpdateEntity(db, order, "ShopPrice", "EarningPrice")
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}

View File

@@ -10,7 +10,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
func (c *OrderManager) LoadAfsOrder(vendorAfsOrderID string, vendorID int) (afsOrder *model.AfsOrder, err error) {
@@ -62,10 +62,10 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
}
}
//
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -73,7 +73,7 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
globals.SugarLogger.Debugf("onAfsOrderNew afsOrderID:%s, isDuplicated:%t", afsOrder.AfsOrderID, isDuplicated)
if err != nil || isDuplicated {
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
}
return err
}
@@ -101,7 +101,7 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
}
}
dao.Commit(db)
dao.Commit(db, txDB)
scheduler.CurrentScheduler.OnAfsOrderNew(afsOrder, false)
return err
}
@@ -114,10 +114,10 @@ func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isD
if err = c.updateAfsOrderOtherInfo(db, afsOrder); err != nil {
return err
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -172,30 +172,30 @@ func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isD
} else {
globals.SugarLogger.Warnf("On SaveAfsOrder afsOrder.AfsOrderID:%s err: afsOrder have no sku", afsOrder.AfsOrderID)
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
func (c *OrderManager) OnAfsOrderStatusChanged(orderStatus *model.OrderStatus) (err error) {
db := dao.GetDB()
c.setAfsOrderID(db, orderStatus)
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
isDuplicated, afsOrder, err := c.addAfsOrderStatus(db, orderStatus)
if err != nil || isDuplicated {
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
scheduler.CurrentScheduler.OnAfsOrderStatusChanged(afsOrder, orderStatus, false)
return err
}

View File

@@ -70,11 +70,11 @@ func addOrderOrWaybillStatus(status *model.OrderStatus, db *dao.DaoDB) (isDuplic
} else {
globals.SugarLogger.Debugf("addOrderStatus afsOrder:%v", status)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
globals.SugarLogger.Debug("rollback")
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -98,7 +98,7 @@ func addOrderOrWaybillStatus(status *model.OrderStatus, db *dao.DaoDB) (isDuplic
// todo 这里居然会有主键重复错误,逻辑上是不应该的
globals.SugarLogger.Warnf("addOrderOrWaybillStatus status:%v, access db error:%v", status, err)
} else {
dao.Commit(db)
dao.Commit(db, txDB)
}
return isDuplicated, err
}

View File

@@ -24,7 +24,7 @@ import (
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api/apimanager"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (
@@ -570,10 +570,10 @@ func (c *OrderManager) GetWaybills(ctx *jxcontext.Context, fromDateStr, toDateSt
sqlParams = append(sqlParams, pageSize, offset)
var waybills []*tWaybillExt
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -583,7 +583,7 @@ func (c *OrderManager) GetWaybills(ctx *jxcontext.Context, fromDateStr, toDateSt
Data: waybills,
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return pagedInfo, err
}
@@ -703,10 +703,10 @@ func (c *OrderManager) GetOrdersFinancial(ctx *jxcontext.Context, fromDateStr, t
var orders []*model.OrderFinancialExt
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -716,7 +716,7 @@ func (c *OrderManager) GetOrdersFinancial(ctx *jxcontext.Context, fromDateStr, t
Data: orders,
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return pagedInfo, err
}
@@ -1020,10 +1020,10 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
var orders []*model.AfsOrder
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -1034,7 +1034,7 @@ func (c *OrderManager) GetAfsOrders(ctx *jxcontext.Context, keyword, afsOrderID,
TotalCount: dao.GetLastTotalRowCount(db),
Data: orders,
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return pagedInfo, err
}

View File

@@ -15,7 +15,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
var (
@@ -107,10 +107,10 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
}
bill.CourierMobile = jxutils.FormalizeMobile(bill.CourierMobile)
db := dao.GetDB()
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -133,21 +133,21 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
billCopy := *bill
billCopy.Status = model.WaybillStatusNew
if isDuplicated, err = w.onWaybillNew(&billCopy, db); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
// 进运单调度器OnWaybillStatusChanged之前要确保事务是提交了的否则会导致死锁
scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)
dao.Begin(db)
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err2
}
}
// 运单消息错序,之前已经结束了,直接返回
if existingBill.Status >= model.WaybillStatusEndBegin {
dao.Commit(db)
dao.Commit(db, txDB)
return nil
}
}
@@ -171,17 +171,17 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
}
duplicatedCount, err = w.addWaybillStatus(bill, db, addParams)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
if duplicatedCount == 0 {
scheduler.CurrentScheduler.OnWaybillStatusChanged(bill, false)
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
if bill.VendorOrderID == bill.VendorWaybillID {
if status, ok := waybillOrderStatusMap[bill.Status]; ok {

View File

@@ -35,7 +35,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (

View File

@@ -317,10 +317,10 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac
}
func addActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actStoreSkuList []*model.ActStoreSku, actStoreSkuMapList []*model.ActStoreSkuMap) (err error) {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -332,7 +332,7 @@ func addActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actStoreSkuList [
}
err = dao.CreateEntity(db, v)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
storeSkuMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] = v.ID
@@ -344,11 +344,11 @@ func addActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actStoreSkuList [
if len(actStoreSkuMapList) > 0 {
err = dao.CreateMultiEntities(db, actStoreSkuMapList)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -395,10 +395,10 @@ func AddActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, actSto
if err != nil {
return err
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -419,7 +419,7 @@ func AddActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, actSto
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -565,37 +565,37 @@ func CreateAct(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, vendorOr
// TODO
// 事务应该从ActStoreSkuParam2Model之后开始
// 创建Act也应该往后放
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(act, ctx.GetUserName())
err = dao.CreateEntity(db, act)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
validVendorIDs, actStoreSkuList, actStoreSkuMapList, conflictActStoreSku, err := ActStoreSkuParam2Model(ctx, db, act, vendorIDs, actStoreSku)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
if len(validVendorIDs) == 0 {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", fmt.Errorf("没有一个合法平台可以创建活动")
}
var neeSyncActIDs []int
if len(conflictActStoreSku) > 0 {
if act.OverlapRule == model.OverlapRuleNormal {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", jsonerr.New(conflictActStoreSku, model.ErrCodeJsonActSkuConflict)
}
if neeSyncActIDs, err = DeleteActStoreSkuList(ctx, db, conflictActStoreSku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
}
@@ -615,15 +615,15 @@ func CreateAct(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, vendorOr
}
err = dao.CreateMultiEntities(db, actMapList)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
if err = addActStoreSkuBind(ctx, db, actStoreSkuList, actStoreSkuMapList); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
dao.Commit(db)
dao.Commit(db, txDB)
neeSyncActIDs = append(neeSyncActIDs, act.ID)
task := tasksch.NewParallelTask(fmt.Sprintf("处理活动创建%d", act.ID), tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
@@ -722,10 +722,10 @@ func createActFromVendor(ctx *jxcontext.Context, db *dao.DaoDB, act2 *model.Act2
err = nil
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -734,26 +734,26 @@ func createActFromVendor(ctx *jxcontext.Context, db *dao.DaoDB, act2 *model.Act2
dao.WrapAddIDCULDEntity(act, ctx.GetUserName())
err = dao.CreateEntity(db, act)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
actMap.ActID = act.ID
err = dao.CreateEntity(db, actMap)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
actStoreSkuList, actStoreSkuMapList, err := vendorActInfo2Model(ctx, db, act2, actStoreSku)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if err = addActStoreSkuBind(ctx, db, actStoreSkuList, actStoreSkuMapList); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
return act.ID, nil
}
@@ -838,10 +838,10 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act
return 0, fmt.Errorf("当前活动状态:%s不能进行此操作或已过期", model.ActStatusName[act.Status])
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -929,7 +929,7 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act
// }
// }
}
dao.Commit(db)
dao.Commit(db, txDB)
return originSyncStatus, err
}
@@ -1069,10 +1069,10 @@ func RefreshPageActs(ctx *jxcontext.Context, vendorIDs []int, createdFrom time.T
needAddActSkuMap[actStoreSku.VendorActID] = append(needAddActSkuMap[actStoreSku.VendorActID], actStoreSku)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -1091,7 +1091,7 @@ func RefreshPageActs(ctx *jxcontext.Context, vendorIDs []int, createdFrom time.T
// return nil, err
// }
// }
dao.Commit(db)
dao.Commit(db, txDB)
}
return retVal, err
}, vendorIDs)
@@ -1308,10 +1308,10 @@ func ForceUpdateVendorPrice(ctx *jxcontext.Context, vendorID int, actType int, s
}
func SyncActStoreSku2StoreSkuAct(ctx *jxcontext.Context, db *dao.DaoDB, parentTask tasksch.ITask, act *model.Act2) (err error) {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -1392,7 +1392,7 @@ func SyncActStoreSku2StoreSkuAct(ctx *jxcontext.Context, db *dao.DaoDB, parentTa
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -1589,10 +1589,10 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) {
continue
}
actualStockOut, err = dao.GetOrderStoreSkusCount(db, actStoreSkuMap.StoreID, actStoreSkuMap.SkuID, time.Now().Add(-time.Minute*10), time.Now())
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -1621,7 +1621,7 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) {
if stock != -1 {
storeSku.Stock = stock
if _, err = dao.UpdateEntity(db, storeSku, "Stock"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
}
@@ -1629,7 +1629,7 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) {
actStoreSkuMap.ActualActPrice = actStoreSkuMap.VendorPrice
}
// if _, err = dao.UpdateEntity(db, actStoreSkuMap, "ActualActPrice"); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// }
//C >= 2N 涨价趋势,最高涨价到无折扣
if actualStockOut >= 2*shouldStockOut {
@@ -1647,7 +1647,7 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) {
}
actStoreSkuMap.TrendPrice = int(actualPrice)
if _, err = dao.UpdateEntity(db, actStoreSkuMap, "ActualActPrice", "TrendType", "TrendPrice"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
} else { //第二档时间内
pricePercentage = 0.1
@@ -1665,7 +1665,7 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) {
}
actStoreSkuMap.TrendPrice = int(actualPrice)
// if _, err = dao.UpdateEntity(db, actStoreSkuMap, "TrendType", "TrendPrcie"); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// }
actStoreSkuMap.ActualActPrice = actStoreSkuMap.ActualActPrice - actualPrice
if actStoreSkuMap.ActualActPrice <= minJxPrice {
@@ -1675,24 +1675,24 @@ func ChangeJxPriceByDiscountAct(ctx *jxcontext.Context) {
if stock != -1 {
storeSku.Stock = stock
if _, err = dao.UpdateEntity(db, storeSku, "Stock"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
//22:00 恢复库存为100,价格恢复原价
if time.Now().Hour() == 22 && time.Now().Minute() < 1 {
storeSku.Stock = 100
if _, err = dao.UpdateEntity(db, storeSku, "Stock"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
actStoreSkuMap.ActualActPrice = actStoreSkuMap.VendorPrice
actStoreSkuMap.TrendType = model.TrendTypeNothing
actStoreSkuMap.TrendPrice = 0
}
if _, err = dao.UpdateEntity(db, actStoreSkuMap, "ActualActPrice", "TrendType", "TrendPrice"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
}

View File

@@ -495,32 +495,32 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (hint s
hint = "1"
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
configList, err := dao.QueryConfigs(db, key, configType, "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
if _, err = dao.UpdateEntityLogically(db, configList[0], map[string]interface{}{
"Value": value,
}, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
switch configType {
case model.ConfigTypePricePack:
storeMapList, err := dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, key, "", "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
dao.Commit(db)
dao.Commit(db, txDB)
vendorStoreMap := make(map[int][]int)
for _, v := range storeMapList {
vendorStoreMap[v.VendorID] = append(vendorStoreMap[v.VendorID], v.StoreID)
@@ -533,7 +533,7 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (hint s
}
}
case model.ConfigTypeFreightPack:
dao.Commit(db)
dao.Commit(db, txDB)
storeMapList, err := dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, "", "", "")
if err != nil {
return "", err
@@ -559,7 +559,7 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (hint s
}
}
default:
dao.Commit(db)
dao.Commit(db, txDB)
}
if configType == model.ConfigTypeSys && err == nil {
err = onSysConfigChanged(key, value)

View File

@@ -65,8 +65,8 @@ func GetStoreMessages(ctx *jxcontext.Context, msgIDs, storeIDs, types []int, fro
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
db := dao.GetDB()
dao.Begin(db)
defer dao.Commit(db)
txDB , _ := dao.Begin(db)
defer dao.Commit(db, txDB)
var msgList []*model.Message
// globals.SugarLogger.Debug(sql)
if err = dao.GetRows(db, &msgList, sql, sqlParams...); err == nil {
@@ -124,8 +124,8 @@ func GetStoreMessageStatuses(ctx *jxcontext.Context, msgIDs, storeIDs, confirmSt
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, jxutils.FormalizePageSize(pageSize), offset)
db := dao.GetDB()
dao.Begin(db)
defer dao.Commit(db)
txDB , _ := dao.Begin(db)
defer dao.Commit(db, txDB)
var msgStatusList []*MessageStatusExt
// globals.SugarLogger.Debug(sql)
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))

View File

@@ -169,24 +169,24 @@ func AddCategory(ctx *jxcontext.Context, cat *model.SkuCategory, userName string
}
cat.Seq = maxSeq.MaxSeq + 1
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, cat); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if cat.IsExdSpec == model.NO {
if err = OnCreateThing(ctx, db, nil, int64(cat.ID), model.ThingTypeCategory, model.SyncFlagNewMask, false); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
outCat = cat
_, err = CurVendorSync.SyncCategory(ctx, nil, cat.ID, false, userName)
@@ -230,24 +230,24 @@ func UpdateCategory(ctx *jxcontext.Context, categoryID int, payload map[string]i
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if num, err = dao.UpdateEntityLogically(db, cat, valid, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if cat.IsExdSpec == model.NO {
if err = OnUpdateThing(ctx, db, nil, int64(categoryID), model.ThingTypeCategory); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
SetStoreCategorySyncStatus2(db, nil, []int{categoryID}, model.SyncFlagModifiedMask)
var skuIDs []int
@@ -326,16 +326,16 @@ func ReorderCategories(ctx *jxcontext.Context, parentID int, categoryIDs []int,
catsMap[cat.ID] = cat
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
for k, v := range categoryIDs {
if catsMap[v] == nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return fmt.Errorf("分类:%d不在%d分类下", v, parentID)
}
if isExd {
@@ -345,17 +345,17 @@ func ReorderCategories(ctx *jxcontext.Context, parentID int, categoryIDs []int,
}
catsMap[v].LastOperator = ctx.GetUserName()
if _, err = dao.UpdateEntity(db, catsMap[v]); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
if catsMap[v].IsExdSpec == model.NO {
if err = OnUpdateThing(ctx, db, nil, int64(catsMap[v].ID), model.ThingTypeCategory); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
SetStoreCategorySyncStatus2(db, nil, categoryIDs, model.SyncFlagModifiedMask)
if err == nil {
_, err = CurVendorSync.SyncReorderCategories(ctx, db, parentID, false, userName)
@@ -390,29 +390,29 @@ func DeleteCategory(ctx *jxcontext.Context, categoryID int, userName string) (nu
} else if countInfos[2].Ct != 0 {
return 0, errors.New("还有商品类别使用此类别,不能删除")
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if _, err = DeleteCategoryMap(ctx, db, categoryID); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if err = OnDeleteThing(ctx, db, nil, int64(categoryID), model.ThingTypeCategory); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if num, err = dao.DeleteEntityLogically(db, cat, map[string]interface{}{
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
model.FieldStatus: 0,
}, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
_, err = CurVendorSync.SyncCategory(ctx, db, cat.ID, false, userName)
}
return num, err
@@ -636,23 +636,23 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
offset = jxutils.FormalizePageOffset(offset)
sqlParams = append(sqlParams, pageSize, offset)
skuNamesInfo = &SkuNamesInfo{}
dao.Begin(db) // todo 这里用事务的原因是SQL_CALC_FOUND_ROWS会出错
txDB , _ := dao.Begin(db) // todo 这里用事务的原因是SQL_CALC_FOUND_ROWS会出错
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil {
skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db)
dao.Commit(db)
dao.Commit(db, txDB)
// var skuIDs []int
for _, skuName := range skuNamesInfo.SkuNames {
skuName.FullName = jxutils.ComposeSkuName(skuName.Prefix, skuName.Name, "", "", 0, "", 0, skuName.ExPrefix, skuName.ExPrefixBegin, skuName.ExPrefixEnd)
// if skuName.SkusStr != "" {
// if err = utils.UnmarshalUseNumber([]byte(skuName.SkusStr), &skuName.Skus); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// return nil, err
// }
// for _, v := range skuName.Skus {
@@ -661,7 +661,7 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
// }
// if skuName.PlacesStr != "" {
// if err = utils.UnmarshalUseNumber([]byte(skuName.PlacesStr), &skuName.Places); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// return nil, err
// }
// }
@@ -732,7 +732,7 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku, isQueryMidPric
}
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
return skuNamesInfo, err
}
@@ -857,20 +857,20 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(&skuNameExt.SkuName, userName)
if err = dao.CreateEntity(db, &skuNameExt.SkuName); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if err = OnCreateThing(ctx, db, nil, int64(skuNameExt.SkuName.ID), model.ThingTypeSkuName, model.SyncFlagNewMask, false); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
for _, v := range skuNameExt.Skus {
@@ -884,12 +884,12 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
}
sku.LadderBoxNum = 1
if err = dao.CreateEntity(db, sku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if sku.EclpID == "" {
if err = OnCreateThing(ctx, db, nil, int64(sku.ID), model.ThingTypeSku, 0, false); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
@@ -900,11 +900,11 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
placeBind.NameID = skuNameExt.ID
placeBind.PlaceCode = placeCode
if err = dao.CreateEntity(db, placeBind); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
tmpInfo, err := GetSkuNames(ctx, "", false, false, utils.Params2Map("nameID", skuNameExt.SkuName.ID), 0, 1)
if err != nil {
@@ -978,28 +978,28 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
if payload["eclpID"] != nil {
eclpID = payload["eclpID"].(string)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
// valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask | skuName.JdSyncStatus
if num, err = dao.UpdateEntityLogically(db, skuName, valid, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if !isExd && eclpID == "" {
if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil {
if places, ok := payload["places"].([]interface{}); ok {
if _, err = dao.DeleteSkuNamePlace(db, nameID, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
for _, placeCode := range places {
@@ -1010,7 +1010,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
placeBind.NameID = nameID
err = dao.CreateEntity(db, placeBind)
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, errors.New("地点代码非法")
}
}
@@ -1024,12 +1024,12 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
sku.LastOperator = userName
sku.UpdatedAt = time.Now()
if _, err = dao.UpdateEntity(db, sku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if sku.ExdSkuID == "" && sku.EclpID == "" {
if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
@@ -1037,22 +1037,22 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
}
skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID})
if err = err2; err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if len(skuIDs) > 0 {
if _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if valid["jdsStockSwitch"] != nil {
if _, err = SetStoreSkuSyncStatus2(db, []int{model.JdShopMainStoreID}, []int{model.VendorIDJDShop}, skuIDs, model.SyncFlagSaleMask); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
errList := errlist.New()
errList.AddErr(err)
@@ -1144,20 +1144,20 @@ func SetStoreSkuSyncStatus2(db *dao.DaoDB, storeIDs []int, vendorIDs, skuIDs []i
func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int64, err error) {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if _, err := dao.DeleteSkuNamePlace(db, nameID, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if _, err = DeleteStoreSku(ctx, db, nameID, 0); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
@@ -1166,21 +1166,21 @@ func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int
for _, v := range skuList {
sku := &v.Sku
if err = OnDeleteThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if _, err = dao.DeleteEntityLogically(db, sku, map[string]interface{}{
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
model.FieldStatus: model.SkuStatusDeleted,
}, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
}
if err = OnDeleteThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
@@ -1190,10 +1190,10 @@ func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
model.FieldStatus: model.SkuStatusDeleted,
}, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
if len(skuList) > 0 {
_, err = CurVendorSync.SyncSku(ctx, db, skuName.ID, -1, false, false, userName)
@@ -1223,22 +1223,22 @@ func AddSku(ctx *jxcontext.Context, nameID int, sku *model.Sku, userName string)
sku.LadderBoxPrice = 10
}
sku.LadderBoxNum = 1
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, sku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if err = OnCreateThing(ctx, db, nil, int64(sku.ID), model.ThingTypeSku, 0, false); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
dao.Commit(db)
dao.Commit(db, txDB)
result, err2 := GetSkuNames(ctx, "", false, false, utils.Params2Map("skuID", sku.ID), 0, 0)
if err = err2; err == nil {
@@ -1292,10 +1292,10 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
valid := dao.StrictMakeMapByStructObject(payload, sku, userName)
if len(valid) > 0 {
// globals.SugarLogger.Debug(utils.Format4Output(valid, false))
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1305,7 +1305,7 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
}
// valid[model.FieldJdSyncStatus] = maskValue | sku.JdSyncStatus
if num, err = dao.UpdateEntityLogically(db, sku, valid, userName, nil); err != nil || num == 0 {
dao.Rollback(db)
dao.Rollback(db, txDB)
if err == nil {
err = ErrEntityNotExist
}
@@ -1318,7 +1318,7 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
t1.spec_unit = t2.spec_unit
WHERE t1.deleted_at = ? AND t2.id = ? AND t1.unit <> ?
`, utils.DefaultTimeValue, skuID, model.SpecialUnit); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if err == nil {
err = ErrEntityNotExist
}
@@ -1326,11 +1326,11 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
}
if sku.ExdSkuID == "" && sku.EclpID == "" {
if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
if _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), []int{skuID}, model.SyncFlagModifiedMask); err == nil {
if maskValue&model.SyncFlagSpecMask != 0 {
@@ -1372,17 +1372,17 @@ func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err
storeSku.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), int(storeSku.Price))
storeSku.LastOperator = ctx.GetUserName()
storeSku.UpdatedAt = time.Now()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
}
}()
dao.UpdateEntity(db, storeSku, "Price", "JdSyncStatus", "MtwmSyncStatus", "EbaiSyncStatus", "JxPrice", "LastOperator")
dao.Commit(db)
dao.Commit(db, txDB)
return retVal, err
}, list)
tasksch.HandleTask(task, nil, true).Run()
@@ -1392,20 +1392,20 @@ func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err
func DeleteSku(ctx *jxcontext.Context, skuID int, userName string) (num int64, err error) {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if _, err = DeleteStoreSku(ctx, db, 0, skuID); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if err = OnDeleteThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
sku := &model.Sku{}
@@ -1414,10 +1414,10 @@ func DeleteSku(ctx *jxcontext.Context, skuID int, userName string) (num int64, e
model.FieldStatus: model.SkuStatusDeleted,
// model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
}, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
if num == 1 {
_, err = CurVendorSync.SyncSku(ctx, db, -1, sku.ID, false, false, userName)
}
@@ -1474,22 +1474,22 @@ func AddSkuNamePlace(ctx *jxcontext.Context, nameID, placeCode int, userName str
}
dao.WrapAddIDCULEntity(placeBind, userName)
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, placeBind); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
dao.Commit(db)
dao.Commit(db, txDB)
_, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName)
return placeBind, err
@@ -1501,25 +1501,25 @@ func DeleteSkuNamePlace(ctx *jxcontext.Context, nameID, placeCode int, userName
placeBind.NameID = nameID
placeBind.PlaceCode = placeCode
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if num, err = dao.DeleteEntity(db, placeBind, model.FieldNameID, model.FieldPlaceCode); err != nil || num == 0 {
dao.Rollback(db)
dao.Rollback(db, txDB)
if err == nil {
err = ErrEntityNotExist
}
return 0, err
}
if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
_, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName)
return num, err
@@ -1550,10 +1550,10 @@ func SortCategorySkus(ctx *jxcontext.Context, catID int, skuIDList []int) (err e
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1572,13 +1572,13 @@ func SortCategorySkus(ctx *jxcontext.Context, catID int, skuIDList []int) (err e
//_, err = CurVendorSync.SyncSkus(ctx, db, nameIDList, []int{}, false, false, userName)
if err == nil && len(nameIDList) > 0 {
dao.Commit(db)
dao.Commit(db, txDB)
skuIDs, err2 := dao.GetSkuIDByNames(db, nameIDList)
if err = err2; err == nil && len(skuIDs) > 0 {
_, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), skuIDs, model.SyncFlagModifiedMask)
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
return err
@@ -1718,15 +1718,15 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, imgWaterMark
skuName.ID = nameID
skuName.LastOperator = ctx.GetLoginID()
skuName.UpdatedAt = time.Now()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
_, err = dao.UpdateEntity(db, skuName, "ImgWatermark", "ExVendorID", "ExPrefix", "ExPrefixBegin", "ExPrefixEnd", "LastOperator", "UpdatedAt")
dao.Commit(db)
dao.Commit(db, txDB)
}
}
}
@@ -2689,25 +2689,25 @@ func AddVendorCategoryMap(ctx *jxcontext.Context, vendorCategoryMap *model.Vendo
vendorOrgCodes, _ := dao.GetVendorOrgCode(db, vendorCategoryMap.VendorID, vendorCategoryMap.VendorOrgCode, model.VendorOrgTypePlatform)
vendorCategoryMap.VendorCategoryName = strings.Trim(vendorCategoryMap.VendorCategoryName, " ")
dao.WrapAddIDCULDEntity(vendorCategoryMap, ctx.GetUserName())
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, vendorCategoryMap); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
//如果传了京西绑定要去thingmap里改同步标志
if vendorCategoryMap.CategoryID != 0 {
if err = OnCreateThing(ctx, db, vendorOrgCodes, int64(vendorCategoryMap.CategoryID), model.ThingTypeCategory, model.SyncFlagNewMask, true); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
result = vendorCategoryMap
if vendorCategoryMap.CategoryID != 0 {
SyncCategories(ctx, nil, []int{vendorCategoryMap.VendorID}, []string{vendorCategoryMap.VendorOrgCode}, []int{vendorCategoryMap.CategoryID}, true)
@@ -2800,22 +2800,22 @@ func UpdateVendorCategoryMap(ctx *jxcontext.Context, ID int, vendorCategoryMap *
}
}
vendorOrgCodes, err := dao.GetVendorOrgCode(db, vendorCategoryMap2.VendorID, vendorCategoryMap2.VendorOrgCode, model.VendorOrgTypePlatform)
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if num, err = dao.UpdateEntityLogically(db, vendorCategoryMap2, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if err = OnUpdateThing(ctx, db, vendorOrgCodes, int64(vendorCategoryID), model.ThingTypeCategory); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
SyncCategories(ctx, nil, []int{vendorCategoryMap.VendorID}, []string{vendorCategoryMap.VendorOrgCode}, []int{vendorCategoryID}, true)
return num, err
}
@@ -2834,26 +2834,26 @@ func ReorderVendorCategories(ctx *jxcontext.Context, parentID, vendorID int, ven
for _, cat := range vendorCatsMap {
catsMap[cat.CategoryID] = cat
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
for k, v := range categoryIDs {
if catsMap[v] == nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return fmt.Errorf("分类:%d不在%d分类下", v, parentID)
}
catsMap[v].VendorCategorySeq = k
catsMap[v].LastOperator = ctx.GetUserName()
if _, err = dao.UpdateEntity(db, catsMap[v]); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
err = SyncReorderCategories2(ctx, parentID, vendorID, vendorOrgCode)
return err
}
@@ -2871,10 +2871,10 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven
if vendorCatMap, _ := dao.GetVendorCategoryMap(db, -1, 0, vendorID, vendorOrgCode, 0); len(vendorCatMap) > 0 {
return fmt.Errorf("该账号下已有分类,请在这里修改!")
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -2885,7 +2885,7 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven
vendorID, vendorOrgCode,
}
if _, err = dao.ExecuteSQL(db, sql, sqlParams); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
sql2 := `
@@ -2903,10 +2903,10 @@ func LoadStoreVendorCategories(ctx *jxcontext.Context, vendorOrgCode string, ven
storeID,
}
if _, err = dao.ExecuteSQL(db, sql2, sqlParams2); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
catList, _ := dao.GetSkuCategoryWithVendor(db, []int{vendorID}, []string{vendorOrgCode}, -1, nil, false)
for _, v := range storeCats {
if len(catList) > 0 {

View File

@@ -962,9 +962,9 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
mapBefore := refutil.FindMapAndStructMixed(valid, beforStore)
err = AddEventDetail(db, ctx, model.OperateUpdate, storeID, model.ThingTypeStore, storeID, BuildDiffData(mapBefore), BuildDiffData(valid))
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
dao.Rollback(db)
dao.Rollback(db, txDB)
}()
if num, err = dao.UpdateEntityLogically(db, store, valid, userName, nil); err == nil && num == 1 {
if isUpdateStoreNeedSync(valid) {
@@ -979,7 +979,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
model.FieldStoreID: store.ID,
}, model.FieldSyncStatus, syncStatus)
if err = err2; err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
globals.SugarLogger.Debugf("UpdateStore track:%s, before call SyncStore", ctx.GetTrackInfo())
_, err = CurVendorSync.SyncStore(ctx, db, -1, store.ID, false, userName)
if valid["tel1"] != nil || valid["tel2"] != nil {
@@ -990,7 +990,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
}
}
} else {
dao.Commit(db)
dao.Commit(db, txDB)
}
notifyStoreOperatorChanged(store.ID, "京东运营", store.OperatorPhone, valid["operatorPhone"])
notifyStoreOperatorChanged(store.ID, "美团运营", store.OperatorPhone2, valid["operatorPhone2"])
@@ -1262,18 +1262,18 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
if db == nil {
db = dao.GetDB()
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, storeMap); err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
outStoreMap = storeMap
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
}
@@ -1408,10 +1408,10 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
if err == nil {
// globals.SugarLogger.Debug(utils.Format4Output(valid, false))
if len(valid) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1427,7 +1427,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
})
}
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
if num > 0 {
@@ -1441,7 +1441,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, storeSkuBind, nil, userName, map[string]interface{}{
model.FieldStoreID: storeID,
}, dao.GetSyncStatusStructField(model.VendorNames[vendorID]), model.SyncFlagPriceMask); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
@@ -1451,7 +1451,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
if isStoreMapNeedSync(vendorID, valid) {
_, err = CurVendorSync.SyncStore(ctx, db, vendorID, storeID, false, userName)
}
@@ -1485,8 +1485,8 @@ func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {
return 0, fmt.Errorf("删除京西门店前必须将所有门店解绑且门店处于关店状态")
}
dao.Begin(db)
defer dao.Rollback(db)
txDB , _ := dao.Begin(db)
defer dao.Rollback(db, txDB)
now := time.Now()
for _, tableName := range []string{"store_sku_bind", "store_sku_category_map", "store_op_request"} {
@@ -1509,7 +1509,7 @@ func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {
err = AddEventDetail(db, ctx, model.OperateDelete, storeID, model.ThingTypeStore, storeID, "", "")
}
DeleteStoreCategroies(ctx, db, storeID)
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
// return 0, errors.New("暂不支持删除京西门店")
}
@@ -1599,9 +1599,9 @@ func TmpGetJxBadCommentsByStoreId(ctx *jxcontext.Context, keyword string, storeI
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
var commentList []*JxBadCommentsExt
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
dao.Rollback(db)
dao.Rollback(db, txDB)
}()
// globals.SugarLogger.Debug(sql)
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))
@@ -1610,7 +1610,7 @@ func TmpGetJxBadCommentsByStoreId(ctx *jxcontext.Context, keyword string, storeI
"total": dao.GetLastTotalRowCount(db),
"list": commentList,
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return retVal, err
}
@@ -2110,10 +2110,10 @@ func updateVendorStoreStatusBySnapshot(db *dao.DaoDB, curSnapshotList []*model.V
for _, v := range curSnapshotList {
snapshotMap[jxutils.Combine2Int(v.StoreID, v.VendorID)] = v
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2130,7 +2130,7 @@ func updateVendorStoreStatusBySnapshot(db *dao.DaoDB, curSnapshotList []*model.V
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
utils.CallFuncAsync(func() {
for _, v := range storeMapList {
@@ -2147,10 +2147,10 @@ func updateVendorStoreStatusBySnapshot(db *dao.DaoDB, curSnapshotList []*model.V
}
func SaveStoresVendorSnapshot(db *dao.DaoDB, snapshotAt time.Time, curSnapshotList []*model.VendorStoreSnapshot) (err error) {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2167,7 +2167,7 @@ func SaveStoresVendorSnapshot(db *dao.DaoDB, snapshotAt time.Time, curSnapshotLi
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -2881,10 +2881,10 @@ func CreateStorePriceScore(ctx *jxcontext.Context) (err error) {
snapshotAt = utils.Time2Date(time.Now().AddDate(0, 0, -1))
storePriceScoreSnapshot, err := dao.GetStorePriceScoreSnapshot(db, snapshotAt)
if len(storePriceScoreSnapshot) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2901,7 +2901,7 @@ func CreateStorePriceScore(ctx *jxcontext.Context) (err error) {
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
globals.SugarLogger.Debugf("CreateStorePriceScore")
}
return err
@@ -2911,10 +2911,10 @@ func RefreshJdLevel(ctx *jxcontext.Context) (err error) {
db := dao.GetDB()
storeMapList, err := dao.GetStoresMapList(db, []int{model.VendorIDJD}, nil, nil, model.StoreStatusOpened, -1, "", "", "")
if len(storeMapList) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2946,7 +2946,7 @@ func RefreshJdLevel(ctx *jxcontext.Context) (err error) {
}, storeMapList)
tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0)
dao.Commit(db)
dao.Commit(db, txDB)
}
return err
}
@@ -3201,18 +3201,18 @@ func AddStoreCategoryMap(ctx *jxcontext.Context, storeCategoryMap *model.StoreCa
}
storeCategoryMap.StoreCategoryName = strings.Trim(storeCategoryMap.StoreCategoryName, " ")
dao.WrapAddIDCULDEntity(storeCategoryMap, ctx.GetUserName())
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, storeCategoryMap); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
dao.Commit(db)
dao.Commit(db, txDB)
result = storeCategoryMap
if storeCategoryMap.CategoryID != 0 {
SetStoreCategorySyncStatus2(db, []int{storeCategoryMap.StoreID}, []int{storeCategoryMap.CategoryID}, model.SyncFlagModifiedMask)
@@ -3311,18 +3311,18 @@ func UpdateStoreCategoryMap(ctx *jxcontext.Context, ID int, storeCategoryMap *mo
} else {
SetStoreCategorySyncStatus2(db, []int{storeCategoryMap2.StoreID}, []int{storeCategoryMap.CategoryID, storeCategoryMap2.CategoryID}, model.SyncFlagModifiedMask)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if num, err = dao.UpdateEntityLogically(db, storeCategoryMap2, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}
@@ -3340,26 +3340,26 @@ func ReorderStoreCategories(ctx *jxcontext.Context, parentID, storeID int, categ
for _, cat := range storeCatsMap {
catsMap[cat.CategoryID] = cat
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
for k, v := range categoryIDs {
if catsMap[v] == nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return fmt.Errorf("分类:%d不在%d分类下", v, parentID)
}
catsMap[v].StoreCategorySeq = k
catsMap[v].LastOperator = ctx.GetUserName()
if _, err = dao.UpdateEntity(db, catsMap[v]); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
SetStoreCategorySyncStatus2(db, nil, categoryIDs, model.SyncFlagModifiedMask)
if err == nil {
CurVendorSync.SyncStoresCategory(ctx, db, nil, nil, false, true, true)
@@ -3396,10 +3396,10 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
storeID := batchItemList[0].(int)
//证明是要全复制
if len(categoryIDs) == 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -3423,7 +3423,7 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
if _, err = dao.ExecuteSQL(db, sql2, sqlParams2); err != nil {
return retVal, err
}
dao.Commit(db)
dao.Commit(db, txDB)
} else {
for _, v := range categoryIDs {
list, err := dao.GetStoreCategoryMap(db, -1, 0, storeID, v)
@@ -3433,10 +3433,10 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
if len(list) > 0 {
return retVal, fmt.Errorf("该门店已有重复绑定的京西分类storeID: %v,categroyID: %v", storeID, v)
} else {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -3453,7 +3453,7 @@ func CopyStoreCategories(ctx *jxcontext.Context, fromStoreID int, toStoreIDs, ca
if _, err = dao.ExecuteSQL(db, sql2, sqlParams2); err != nil {
return retVal, err
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
}
@@ -3550,10 +3550,10 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
return fmt.Errorf("目前只允许扣点的门店修改调价包!")
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -3564,13 +3564,13 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
// _, err = UpdateConfig(ctx, pricePack, model.ConfigTypePricePack, string(realValue))
configList, err := dao.QueryConfigs(db, pricePack, model.ConfigTypePricePack, "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
if _, err = dao.UpdateEntityLogically(db, configList[0], map[string]interface{}{
"Value": string(realValue),
}, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
} else {
@@ -3581,12 +3581,12 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
//4、同步相关
pricePack = pricePack + "_" + utils.Int2Str(storeID) + "_" + storeDetail.Name
if err = AddConfig(ctx, pricePack, model.ConfigTypePricePack, value); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
storeMapList, err := dao.GetStoresMapList(db, []int{vendorID}, []int{storeID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
if len(storeMapList) > 0 {
@@ -3594,10 +3594,10 @@ func UpdateStorePricePack(ctx *jxcontext.Context, storeID, vendorID int, pricePa
dao.UpdateEntity(db, storeMapList[0], "PricePercentagePack")
}
}
dao.Commit(db)
dao.Commit(db, txDB)
storeMapList, err := dao.GetStoresMapList(db, nil, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, pricePack, "", "")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
vendorStoreMap := make(map[int][]int)
@@ -3936,17 +3936,17 @@ func UpdateBrand(ctx *jxcontext.Context, payload map[string]interface{}, isDel b
} else {
valid := dao.StrictMakeMapByStructObject(payload, brand, ctx.GetUserName())
if len(valid) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
if _, err = dao.UpdateEntityLogically(db, brand, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return
}
dao.Commit(db)
dao.Commit(db, txDB)
}()
}
}

View File

@@ -101,10 +101,10 @@ func (s *StoreAcctManager) UpdateStoreAcctBalance(ctx *jxcontext.Context, storeI
storeAcct := &model.StoreAcct{
StoreID: storeID,
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -114,7 +114,7 @@ func (s *StoreAcctManager) UpdateStoreAcctBalance(ctx *jxcontext.Context, storeI
//新增门店账单
dao.WrapAddIDCULEntity(storeAcct, ctx.GetUserName())
if err = dao.CreateEntity(db, storeAcct); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
} else {
@@ -125,12 +125,12 @@ func (s *StoreAcctManager) UpdateStoreAcctBalance(ctx *jxcontext.Context, storeI
storeAcct.AccountBalance -= price
}
if _, err = dao.UpdateEntity(db, storeAcct, "AccountBalance"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
globals.SugarLogger.Debugf("UpdateStoreAcctBalance2 storeID: [%v] , balance :[%v] ,", storeID, storeAcct.AccountBalance)
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}

View File

@@ -50,7 +50,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
"github.com/360EntSecGroup-Skylar/excelize"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (
@@ -369,8 +369,8 @@ func GetStoresSkusForStore(ctx *jxcontext.Context, storeID int, isFocus, isAct b
pageSize = jxutils.FormalizePageSize(pageSize)
offset = jxutils.FormalizePageOffset(offset)
sqlParams = append(sqlParams, pageSize, offset)
dao.Begin(db)
defer dao.Commit(db)
txDB , _ := dao.Begin(db)
defer dao.Commit(db, txDB)
if err = dao.GetRows(db, &SkuNames, sql, sqlParams...); err == nil {
skuNamesInfo = &dao.StoreSkuNamesInfo{
TotalCount: dao.GetLastTotalRowCount(db),
@@ -715,10 +715,10 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str
}
sqlParamsPage := []interface{}{sqlPageSize, sqlOffset}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -742,7 +742,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str
var storeNameList []*tStoreNameBind
beginTime := time.Now()
if err = dao.GetRows(db, &storeNameList, sql2, sqlParams2...); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
globals.SugarLogger.Debugf("GetStoresSkusNew get result1:%v", time.Now().Sub(beginTime))
@@ -785,13 +785,13 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str
var tmpList []*tGetStoresSkusInfo
beginTime := time.Now()
if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if isBySku {
skuNamesInfo.TotalCount = dao.GetLastTotalRowCount(db)
}
dao.Commit(db)
dao.Commit(db, txDB)
globals.SugarLogger.Debugf("GetStoresSkusNew get result2:%v", time.Now().Sub(beginTime))
storeNameMap := make(map[int64]*dao.StoreSkuNameExt)
for _, v := range tmpList {
@@ -1138,17 +1138,17 @@ func UpdateStoresSkusByBind(ctx *jxcontext.Context, parentTask tasksch.ITask, sk
var num int64
skuIDMap := make(map[int]int)
db := dao.GetDB()
// dao.Begin(db)
// txDB , _ := dao.Begin(db)
// defer func() {
// if r := recover(); r != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// panic(r)
// }
// }()
for _, storeID := range storeIDs {
skuIDs, err2 := updateStoresSkusWithoutSync(ctx, db, []int{storeID}, skuBindInfosMap[storeID], false, false)
if err = err2; err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
return "", err
}
for _, v := range skuIDs {
@@ -1156,7 +1156,7 @@ func UpdateStoresSkusByBind(ctx *jxcontext.Context, parentTask tasksch.ITask, sk
}
num += int64(len(skuIDs))
}
// dao.Commit(db)
// dao.Commit(db, txDB)
isAsync = asyncStoreSkuOpFilter(ctx, isAsync)
if num > 0 {
skuIDs := jxutils.IntMap2List(skuIDMap)
@@ -1258,10 +1258,10 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
needSyncIDMap := make(map[int]int)
isSyncSkus := false
var appCodeList []string
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1349,7 +1349,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
unitPrice := 0
if skuBindInfo.UnitPrice != 0 {
if skuBindInfo.UnitPrice > MaxSkuUnitPrice {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, fmt.Errorf("商品:%s价格:%s太夸张", allBinds[0].Name, jxutils.IntPrice2StandardCurrencyString(int64(skuBindInfo.UnitPrice)))
}
unitPrice = skuBindInfo.UnitPrice
@@ -1410,7 +1410,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
dao.WrapAddIDCULDEntity(skuBind, userName)
if deletedSku := dao.GetDeletedStoreSkuBind(db, skuBind.StoreID, skuBind.SkuID); deletedSku == nil {
if err = dao.CreateEntity(db, skuBind); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
num = 1
@@ -1422,7 +1422,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
skuBind.MtwmID = deletedSku.MtwmID
skuBind.EbaiID = deletedSku.EbaiID
if num, err = dao.UpdateEntity(db, skuBind); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
@@ -1479,7 +1479,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
model.FieldYbSyncStatus: model.SyncFlagDeletedMask,
model.FieldJdsSyncStatus: model.SyncFlagDeletedMask,
}, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
//删除待审核商品信息
@@ -1487,7 +1487,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
if len(storeAudits) > 0 {
storeAudits[0].DeletedAt = time.Now()
if _, err = dao.UpdateEntity(db, storeAudits[0], "DeletedAt"); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
@@ -1611,7 +1611,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
skuBind.AutoSaleAt = utils.DefaultTimeValue
}
if num, err = dao.UpdateEntity(db, skuBind /*, utils.Map2KeySlice(updateFieldMap)...*/); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
@@ -1623,12 +1623,12 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
}
}
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
skuIDs := jxutils.IntMap2List(needSyncIDMap)
if isSyncSkus {
_, err = SyncSkus(ctx, nil, []int{model.VendorIDJD}, appCodeList, nil, skuIDs, true)
@@ -1731,16 +1731,16 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind
skuBindSkuInfosMap[v.SkuID] = v
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
storeSkuList, err := dao.GetStoresSkusInfo(db, []int{storeID}, jxutils.IntMap2List(skuIDMap))
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
autoSaleTime = formatAutoSaleTime(autoSaleTime)
@@ -1782,7 +1782,7 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind
}
}
if num, err = dao.UpdateEntityLogically(db, skuBind, kvs, userName, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
if num == 1 {
@@ -1791,7 +1791,7 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
needSyncSkus = jxutils.IntMap2List(needSyncIDMap)
return needSyncSkus, err
}
@@ -1937,10 +1937,10 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
}
break
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db,txDB)
panic(r)
}
}()
@@ -1987,7 +1987,7 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
num2, err2 := dao.ExecuteSQL(db, sqlDelete, sqlDeleteParams)
if err = err2; err != nil {
errList.AddErr(err)
dao.Rollback(db)
dao.Rollback(db, txDB)
break
}
num += num2
@@ -2059,7 +2059,7 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
globals.SugarLogger.Debugf("CopyStoreSkus fromStoreID:%d, toStoreID:%d, trackInfo:%s num2:%d", fromStoreID, toStoreID, ctx.GetTrackInfo(), num2)
if err = err2; err != nil {
errList.AddErr(err)
dao.Rollback(db)
dao.Rollback(db, txDB)
break
}
num += num2
@@ -2109,7 +2109,7 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
num2, err = dao.ExecuteSQL(db, sql, sqlParams)
if err != nil {
errList.AddErr(err)
dao.Rollback(db)
dao.Rollback(db, txDB)
break
}
num += num2
@@ -2132,11 +2132,11 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID int, toStoreIDs []int, co
_, err = dao.ExecuteSQL(db, sql2, sqlParams2)
if err != nil {
errList.AddErr(err)
dao.Rollback(db)
dao.Rollback(db, txDB)
break
}
globals.SugarLogger.Debugf("CopyStoreSkus fromStoreID:%d, toStoreID:%d, trackInfo:%s num3:%d", fromStoreID, toStoreID, ctx.GetTrackInfo(), num2)
dao.Commit(db)
dao.Commit(db, txDB)
//同一商品若源门店的规格少于要复制到的门店则在复制的门店里的其他规格的unitprice不会变
//导致复制的门店的商品unitprice不尽相同这里先处理一下
@@ -2205,8 +2205,8 @@ func filterStorePriceChange(ctx *jxcontext.Context, storeIDs []int, skuBindInfos
globals.SugarLogger.Debug("filterStorePriceChange")
if globals.EnablePendingChange {
db := dao.GetDB()
dao.Begin(db)
defer dao.Rollback(db)
txDB , _ := dao.Begin(db)
defer dao.Rollback(db, txDB)
for _, storeID := range storeIDs {
for _, skuBindInfo := range skuBindInfos {
shouldPending, err2 := shouldPendingStorePriceChange(ctx, storeID, skuBindInfo)
@@ -2310,7 +2310,7 @@ func filterStorePriceChange(ctx *jxcontext.Context, storeIDs []int, skuBindInfos
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return storeIDs, skuBindInfos, nil
}
@@ -2448,8 +2448,8 @@ func GetStoreOpRequests(ctx *jxcontext.Context, fromTime, toTime time.Time, keyw
// globals.SugarLogger.Debug(sql)
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))
var requestList []*StoreOpRequestInfo
dao.Begin(db)
defer dao.Commit(db)
txDB , _ := dao.Begin(db)
defer dao.Commit(db, txDB)
if err = dao.GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: dao.GetLastTotalRowCount(db),
@@ -2507,8 +2507,8 @@ func changeStoreOpStatus(ctx *jxcontext.Context, reqIDs []int, status int8, reje
return err
}
db := dao.GetDB()
dao.Begin(db)
defer dao.Rollback(db)
txDB , _ := dao.Begin(db)
defer dao.Rollback(db, txDB)
for _, reqID := range reqIDs {
op := &model.StoreOpRequest{}
op.Remark = rejectReason
@@ -2524,7 +2524,7 @@ func changeStoreOpStatus(ctx *jxcontext.Context, reqIDs []int, status int8, reje
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
return err
@@ -2648,10 +2648,10 @@ func RefreshStoresSkuByVendor(ctx *jxcontext.Context, storeIDs []int, vendorID i
}
case 2:
if len(storeSkuList) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -2664,7 +2664,7 @@ func RefreshStoresSkuByVendor(ctx *jxcontext.Context, storeIDs []int, vendorID i
`+dao.GenQuestionMarks(len(storeIDs))+")", storeIDs); err == nil {
if err = dao.CreateMultiEntities(db, storeSkuList); err == nil {
hint = utils.Int2Str(len(storeSkuList))
dao.Commit(db)
dao.Commit(db, txDB)
}
}
}
@@ -3262,10 +3262,10 @@ func WriteToExcelJx(task *tasksch.SeqTask, dataSuccess []DataSuccess, dataFailed
func CreateOrUpdateStoreSkuNamePriceByExcel(db *dao.DaoDB, ctx *jxcontext.Context, storeSkuNamePriceList []*model.StoreSkuNamePrice, storeSkuNamePriceListOrg []*model.StoreSkuNamePrice) (err error) {
storeSkuNamePriceMap := StoreSkuNamePriceList2Map(ctx, storeSkuNamePriceListOrg)
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -3281,7 +3281,7 @@ func CreateOrUpdateStoreSkuNamePriceByExcel(db *dao.DaoDB, ctx *jxcontext.Contex
dao.CreateEntity(db, v)
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -4821,15 +4821,15 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
skuNameExt.DeletedAt = utils.DefaultTimeValue
skuNameExt.CreatedAt = time.Now()
skuNameExt.LastOperator = ctx.GetUserName()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, &skuNameExt.SkuName); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return retVal, err
}
// skuNameExt.Skus[0].ID = v.ID
@@ -4842,10 +4842,10 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
skuNameExt.Skus[0].CreatedAt = time.Now()
skuNameExt.Skus[0].LastOperator = ctx.GetUserName()
if err = dao.CreateEntity(db, skuNameExt.Skus[0].Sku); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return retVal, err
}
dao.Commit(db)
dao.Commit(db, txDB)
focusC4Matters(ctx, db, v)
}
}
@@ -4867,10 +4867,10 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
if len(skuNames) > 0 {
skuName = skuNames[0]
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -4882,7 +4882,7 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
`
sqlParams := []interface{}{v.SpecQuality, v.SpecUnit, v.EclpID, ctx.GetUserName(), v.EclpID, utils.DefaultTimeValue}
if _, err = dao.ExecuteSQL(db, sql, sqlParams); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return retVal, err
}
}
@@ -4898,11 +4898,11 @@ func SyncMatterC4ToGy(ctx *jxcontext.Context, isContinueWhenError, isAsync bool)
sqlParams := []interface{}{skuName.Name, skuName.Img, skuName.Img2, skuName.DescImg, skuName.Unit, skuName.Price,
ctx.GetUserName(), v.EclpID, utils.DefaultTimeValue}
if _, err = dao.ExecuteSQL(db, sql, sqlParams); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return retVal, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
focusC4Matters(ctx, db, v)
}
}
@@ -5433,10 +5433,10 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act
return 0, fmt.Errorf("当前活动状态:%s不能进行此操作或已过期", model.ActStatusName[act.Status])
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -5522,7 +5522,7 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act
return 0, err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return originSyncStatus, err
}

View File

@@ -1336,12 +1336,7 @@ func WriteToExcel(task *tasksch.SeqTask, data map[int][]DiffData, depotData map[
}
func SetJxPrice(jxSkuInfoDataMulti *dao.StoreSkuNamesInfo, storeId int, vendorid int) (err error) {
db := dao.GetDB()
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeId, vendorid, "")
if err != nil {
dao.Rollback(db)
return err
}
/*重新计算京西价格*/
for _, values := range jxSkuInfoDataMulti.SkuNames {
for _, value := range values.Skus {

View File

@@ -65,10 +65,10 @@ func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int,
}
}
if err == nil && (storeKV != nil || storeMapKV != nil) {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -106,7 +106,7 @@ func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int,
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
return err

View File

@@ -39,9 +39,10 @@ var (
func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int) (err error) {
globals.SugarLogger.Debugf("CreateStoreCategoryByStoreSku vendorID:%d, storeID:%d", vendorID, storeID)
db := dao.GetDB()
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -51,16 +52,15 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int
return err
}
if len(localCats) > 0 {
dao.Begin(db)
for _, v := range localCats {
if v.MapID == 0 {
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
return err

View File

@@ -299,24 +299,24 @@ func UploadFakeJdThingMap(ctx *jxcontext.Context, reader io.Reader, isSyncNow, i
}
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
_, err = dao.ExecuteSQL(db, "DELETE t1 FROM fake_jd_thing_map t1")
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
err = dao.CreateMultiEntities(db, thingMapList)
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
dao.Commit(db)
dao.Commit(db, txDB)
if isSyncNow {
if storeMap, skuMap, err2 := getFakeThingMap(ctx, db); err2 == nil {

View File

@@ -79,10 +79,10 @@ package cms
// if err = err2; err == nil || err == orm.ErrNoRows {
// user.JxStoreID = storeID
// if err == nil {
// dao.Begin(db)
// txDB , _ := dao.Begin(db)
// defer func() {
// if r := recover(); r != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// panic(r)
// }
// }()
@@ -90,9 +90,9 @@ package cms
// err = dao.SetWeiXinsEmpty2Null(db, user)
// }
// if err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// } else {
// dao.Commit(db)
// dao.Commit(db, txDB)
// }
// } else {
// // globals.SugarLogger.Debug(utils.Format4Output(user, false))

View File

@@ -626,25 +626,25 @@ func AddUserDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryA
address.AutoAddress, address.DistrictCode, address.CityCode, err = getAddressInfoFromCoord(db, lng, lat)
if err == nil {
globals.SugarLogger.Debugf("AddUserDeliveryAddress2 address:%s", utils.Format4Output(address, true))
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(address, ctx.GetUserName())
if address.IsDefault == 1 {
if err = dao.ClearUserDeliveryAddressDefault(db, address.UserID, 0); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return nil, err
}
}
if err = dao.CreateEntity(db, address); err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
outAddress = address
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
globals.SugarLogger.Debugf("AddUserDeliveryAddress3 address:%s", utils.Format4Output(address, true))
@@ -699,23 +699,23 @@ func UpdateUserDeliveryAddress(ctx *jxcontext.Context, userID string, addressID
return err
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if utils.ForceInterface2Int64(valid["isDefault"]) == 1 {
if err = dao.ClearUserDeliveryAddressDefault(db, userID, 0); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
}
if _, err = dao.UpdateEntityLogically(db, address, valid, ctx.GetUserName(), nil); err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
} else {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}
}
@@ -754,10 +754,10 @@ func SaveUserCart(ctx *jxcontext.Context, userID string, storeID int, cartItems
dao.WrapAddIDCULEntity(v, userID)
}
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -775,7 +775,7 @@ func SaveUserCart(ctx *jxcontext.Context, userID string, storeID int, cartItems
err = dao.CreateMultiEntities(db, cartItems)
}
if err == nil {
dao.Commit(db)
dao.Commit(db, txDB)
}
return err
}
@@ -1006,10 +1006,10 @@ func UpdateUserWxNoAndPercent(user *model.User, isReceiver bool) (num int64, err
if len(auth) == 0 {
return 0, fmt.Errorf("未找到此用户的微信验证方式用户ID[%v]\n", user.UserID)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -1019,12 +1019,12 @@ func UpdateUserWxNoAndPercent(user *model.User, isReceiver bool) (num int64, err
num2, err := dao.UpdateEntity(db, user2, "DividePercentage")
num += num2
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
if isReceiver {
}
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}

View File

@@ -256,18 +256,18 @@ func UpdateVendorOrgCode(ctx *jxcontext.Context, ID int, payload map[string]inte
valid["comment"] = valid["name"]
delete(valid, "name")
}
dao.Begin(db)
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if _, err = dao.UpdateEntityLogically(db, vendorOrgCode, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return err
}

View File

@@ -67,45 +67,45 @@ func AddOperateEvent(ctx *jxcontext.Context, accessUUID, jsonData string, errCod
ErrMsg: errMsg,
UseTime: useTime,
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
err = dao.CreateEntity(db, event)
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
func AddOperateEventDetail(db *dao.DaoDB, operateEventDetail *model.OperateEventDetail) (err error) {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
operateEventDetail.BeforeData = utils.LimitUTF8StringLen(operateEventDetail.BeforeData, 3200)
operateEventDetail.AfterData = utils.LimitUTF8StringLen(operateEventDetail.AfterData, 3200)
err = dao.CreateEntity(db, operateEventDetail)
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
func DeleteOperateEventAndDetail(ctx *jxcontext.Context, deleteTime time.Time) (err error) {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
dao.DeleteOperateEventDetail(db, deleteTime)
dao.DeleteOperateEvent(db, deleteTime)
dao.Commit(db)
dao.Commit(db, txDB)
return err
}

View File

@@ -50,10 +50,10 @@ func InitPlace(ctx *jxcontext.Context) (err error) {
}
placeList = placeList[0].Districts
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -129,7 +129,7 @@ func InitPlace(ctx *jxcontext.Context) (err error) {
return err
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -146,10 +146,10 @@ func InitVendorCategory(ctx *jxcontext.Context, vendorID int, isAsync bool) (hin
}
case 1:
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -169,7 +169,7 @@ func InitVendorCategory(ctx *jxcontext.Context, vendorID int, isAsync bool) (hin
if err = dao.CreateMultiEntities(db, cats); err != nil {
return nil, err
}
dao.Commit(db)
dao.Commit(db, txDB)
}
return nil, err
}, 2)

View File

@@ -43,16 +43,16 @@ func AddMenu(ctx *jxcontext.Context, menu *model.Menu) (err error) {
if len(menus) > 0 {
return fmt.Errorf("添加失败!已存在相同名称的 menu name : %v", menu.Name)
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(menu, ctx.GetUserName())
err = dao.CreateEntity(db, menu)
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -66,10 +66,10 @@ func UpdateMenu(ctx *jxcontext.Context, menuID int, payload map[string]interface
if err != nil {
return 0, err
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -77,7 +77,7 @@ func UpdateMenu(ctx *jxcontext.Context, menuID int, payload map[string]interface
valid := dao.StrictMakeMapByStructObject(payload, menu, ctx.GetUserName())
if len(valid) > 0 {
if num, err = dao.UpdateEntityLogically(db, menu, valid, ctx.GetUserName(), nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return 0, err
}
}
@@ -85,7 +85,7 @@ func UpdateMenu(ctx *jxcontext.Context, menuID int, payload map[string]interface
menu.DeletedAt = time.Now()
num, err = dao.UpdateEntity(db, menu, "DeletedAt")
}
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}
@@ -120,16 +120,16 @@ func AddRole(ctx *jxcontext.Context, name string) (err error) {
role := &model.Role{
Name: name,
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(role, ctx.GetUserName())
err = dao.CreateEntity(db, role)
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -154,10 +154,10 @@ func UpdateRole(ctx *jxcontext.Context, roleID int, name string, isDelete bool,
if err != nil {
return 0, err
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -173,7 +173,7 @@ func UpdateRole(ctx *jxcontext.Context, roleID int, name string, isDelete bool,
role.DeletedAt = time.Now()
num, err = dao.UpdateEntity(db, role, "DeletedAt")
}
dao.Commit(db)
dao.Commit(db, txDB)
return num, err
}
@@ -216,10 +216,10 @@ func UpdateUserRole(ctx *jxcontext.Context, userIDs []string, roleIDs []int) (er
}
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -253,7 +253,7 @@ func UpdateUserRole(ctx *jxcontext.Context, userIDs []string, roleIDs []int) (er
dao.UpdateEntity(db, user, "Type")
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
@@ -296,10 +296,10 @@ func UpdateRoleMenu(ctx *jxcontext.Context, roleIDs, menuIDs []int) (err error)
}
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -327,7 +327,7 @@ func UpdateRoleMenu(ctx *jxcontext.Context, roleIDs, menuIDs []int) (err error)
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}

View File

@@ -84,10 +84,10 @@ func BeginSavePriceRefer(ctx *jxcontext.Context, cityCodes, skuIDs []int, isAsyn
case 0:
priceReferSnapshot, err := dao.GetStatisticsReportForStoreSkusPrice(db, cityCodes, skuIDs)
if len(priceReferSnapshot) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -98,7 +98,7 @@ func BeginSavePriceRefer(ctx *jxcontext.Context, cityCodes, skuIDs []int, isAsyn
v.SnapshotAt = snapshotAt
}
dao.CreateMultiEntities(db, priceReferSnapshot)
dao.Commit(db)
dao.Commit(db, txDB)
}
case 1:
priceReferSnapshotList, err = dao.GetPriceReferSnapshotNoPage(db, nil, nil, nil, snapshotAt)
@@ -214,10 +214,10 @@ func BeginSavePriceRefer(ctx *jxcontext.Context, cityCodes, skuIDs []int, isAsyn
}
resultMap[k1] = skuNameMap
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -244,12 +244,12 @@ func BeginSavePriceRefer(ctx *jxcontext.Context, cityCodes, skuIDs []int, isAsyn
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
case 2:
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -265,7 +265,7 @@ func BeginSavePriceRefer(ctx *jxcontext.Context, cityCodes, skuIDs []int, isAsyn
dao.UpdateEntity(db, v, "MidPrice", "MaxPrice", "MinPrice", "AvgPrice")
}
}
dao.Commit(db)
dao.Commit(db, txDB)
//TODO 京东查询接口报错,暂时屏蔽了
// case 3:
// priceReferSnapshotList, err = dao.GetPriceReferSnapshotNoPage(db, []int{0}, nil, nil, snapshotAt)

View File

@@ -91,7 +91,7 @@ func Convert2JDSPU(ctx *jxcontext.Context, count int, isAsync, isContinueWhenErr
// }
// globals.SugarLogger.Debugf("Convert2JDSPU, skuName:%s, skuCount:%d", skuName.Name, len(skuList))
// dao.Begin(db)
// txDB , _ := dao.Begin(db)
// skuNameNew2 := *skuName
// skuNameNew := &skuNameNew2
// dao.WrapAddIDCULEntity(skuNameNew, ctx.GetUserName())
@@ -101,7 +101,7 @@ func Convert2JDSPU(ctx *jxcontext.Context, count int, isAsync, isContinueWhenErr
// skuNameNew.JdSyncStatus = model.SyncFlagNewMask
// // skuNameNew.Status = model.SkuStatusDontSale
// if err = dao.CreateEntity(db, skuNameNew); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// return "", err
// }
// if len(skuList) > 0 {
@@ -118,7 +118,7 @@ func Convert2JDSPU(ctx *jxcontext.Context, count int, isAsync, isContinueWhenErr
// }
// globals.SugarLogger.Debugf("Convert2JDSPU, sku:%s", utils.Format4Output(skuNew, false))
// if err = dao.CreateEntity(db, skuNew); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// return "", err
// }
// }
@@ -127,12 +127,12 @@ func Convert2JDSPU(ctx *jxcontext.Context, count int, isAsync, isContinueWhenErr
// placeBind.NameID = skuNameNew.ID
// globals.SugarLogger.Debugf("Convert2JDSPU, placeBind:%s", utils.Format4Output(placeBind, false))
// if err = dao.CreateEntity(db, placeBind); err != nil {
// dao.Rollback(db)
// dao.Rollback(db, txDB)
// return "", err
// }
// }
// }
// dao.Commit(db)
// dao.Commit(db, txDB)
// }
// sql = `
// SELECT DISTINCT t1.*
@@ -175,8 +175,8 @@ func Change2JDSPU4Store(ctx *jxcontext.Context, storeIDs []int, step int, isAsyn
// var sql string
// var sqlParams []interface{}
// dao.Begin(db)
// defer dao.Rollback(db)
// txDB , _ := dao.Begin(db)
// defer dao.Rollback(db, txDB)
// if step == 1 {
// sql = `
@@ -259,7 +259,7 @@ func Change2JDSPU4Store(ctx *jxcontext.Context, storeIDs []int, step int, isAsyn
// return "", err
// }
// globals.SugarLogger.Debug(num)
// dao.Commit(db)
// dao.Commit(db, txDB)
// var skuIDs []int
// if step == 1 {

View File

@@ -20,7 +20,7 @@ import (
"git.rosy.net.cn/jx-callback/globals"
beego "github.com/astaxie/beego/adapter"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (

View File

@@ -819,10 +819,10 @@ func SendStoreMessage(ctx *jxcontext.Context, title, content string, storeIDs []
storeIDs = storeIDs2
}
}
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -835,7 +835,7 @@ func SendStoreMessage(ctx *jxcontext.Context, title, content string, storeIDs []
}
dao.WrapAddIDCULDEntity(msg, ctx.GetUserName())
if err = dao.CreateEntity(db, msg); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
msgStatusList := make([]*model.MessageStatus, len(storeIDs))
@@ -847,12 +847,12 @@ func SendStoreMessage(ctx *jxcontext.Context, title, content string, storeIDs []
}
dao.WrapAddIDCULDEntity(msgStatus, ctx.GetUserName())
if err = dao.CreateEntity(db, msgStatus); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
msgStatusList[k] = msgStatus
}
dao.Commit(db)
dao.Commit(db, txDB)
rootTask := tasksch.NewParallelTask("SendStoreMessage", nil, ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
db := dao.GetDB()
@@ -920,10 +920,10 @@ func NotifyAdjustOrder(order *model.GoodsOrder) (err error) {
func SendUserMessage(ctx *jxcontext.Context, title, content string, userIDs []string, isAsync, isContinueWhenError bool) (hint string, err error) {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -934,7 +934,7 @@ func SendUserMessage(ctx *jxcontext.Context, title, content string, userIDs []st
}
dao.WrapAddIDCULDEntity(msg, ctx.GetUserName())
if err = dao.CreateEntity(db, msg); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
msgStatusList := make([]*model.MessageStatus, len(userIDs))
@@ -946,12 +946,12 @@ func SendUserMessage(ctx *jxcontext.Context, title, content string, userIDs []st
}
dao.WrapAddIDCULDEntity(msgStatus, ctx.GetUserName())
if err = dao.CreateEntity(db, msgStatus); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return "", err
}
msgStatusList[k] = msgStatus
}
dao.Commit(db)
dao.Commit(db, txDB)
rootTask := tasksch.NewParallelTask("SendUserMessage", nil, ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
db := dao.GetDB()

View File

@@ -151,8 +151,8 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs
// globals.SugarLogger.Debug(sql)
// globals.SugarLogger.Debug(utils.Format4Output(sqlParams, false))
// globals.SugarLogger.Debug(utils.Format4Output(actStoreSkuList, false))
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &actStoreSkuList, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}
@@ -292,20 +292,20 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, syncStatus int, keywo
sqlParams = append(sqlParams, pageSize, offset)
var idList []int
Begin(db)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil {
Rollback(db)
Rollback(db, txDB)
panic(r)
}
}()
// globals.SugarLogger.Debug(sql)
if err = GetRows(db, &idList, sql, sqlParams...); err != nil || len(idList) == 0 {
Rollback(db)
Rollback(db, txDB)
return pagedInfo, err
}
pagedInfo.TotalCount = GetLastTotalRowCount(db)
Commit(db)
Commit(db, txDB)
sql = `
SELECT

View File

@@ -8,7 +8,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (
@@ -65,15 +65,15 @@ func GetDB() *DaoDB {
return &DaoDB{Db: orm.NewOrm()}
}
func Begin(db *DaoDB) (err error) {
func Begin(db *DaoDB) (txDB orm.TxOrmer, err error) {
if db.transactionLevel == 0 {
err = db.Db.Begin()
txDB, err = db.Db.Begin()
if err == nil {
db.startWatchTransaction()
}
}
db.transactionLevel++
return err
return txDB, err
}
func (db *DaoDB) startWatchTransaction() {
@@ -93,11 +93,11 @@ func (db *DaoDB) stopWatchTransaction() {
}
}
func Commit(db *DaoDB) (err error) {
func Commit(db *DaoDB, txDB orm.TxOrmer) (err error) {
if db.transactionLevel == 1 {
db.stopWatchTransaction()
err = db.Db.Commit()
err = txDB.Commit()
// err = db.Db.Commit()
db.transactionLevel = 0
} else if db.transactionLevel > 1 {
db.transactionLevel--
@@ -105,11 +105,11 @@ func Commit(db *DaoDB) (err error) {
return err
}
func Rollback(db *DaoDB) (err error) {
func Rollback(db *DaoDB, txDB orm.TxOrmer) (err error) {
if db.transactionLevel > 0 {
db.stopWatchTransaction()
err = db.Db.Rollback()
err = txDB.Rollback()
// err = db.Db.Rollback()
}
db.transactionLevel = 0
return err

View File

@@ -1,7 +1,7 @@
package dao
import (
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
"github.com/go-sql-driver/mysql"
)

View File

@@ -969,8 +969,8 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
LIMIT ? OFFSET ?`
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &orders, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}
@@ -1154,8 +1154,8 @@ func GetOrdersSupplement(db *DaoDB, storIDs, vendorIDs, statuss []int, vendorOrd
sql += " ORDER BY supplement_time DESC"
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &orderSupplementFee, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}
@@ -1347,8 +1347,8 @@ func GetAfsOrdersByPage(db *DaoDB, vendorOrderID, afsOrderID, userID string, fro
LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &afsOrderList, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}

View File

@@ -94,8 +94,8 @@ func GetUsers(db *DaoDB, userType int, keyword string, userIDs, userID2s, mobile
}
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &userList, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}
@@ -211,8 +211,8 @@ func QueryUserDeliveryAddress(db *DaoDB, addressID int64, userIDs []string, offs
LIMIT ? OFFSET ?`
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &addressList, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}

View File

@@ -108,8 +108,8 @@ func GetOperateEvents(db *DaoDB, name string, apiFunctions []string, operateType
LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &operateEventExt, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}

View File

@@ -80,8 +80,8 @@ func QueryFoodRecipes(db *DaoDB, keyword string, recipeID int, authorID, userID
LIMIT ? OFFSET ?`
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &recipeList, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}

View File

@@ -81,10 +81,10 @@ func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStor
offset = jxutils.FormalizePageOffset(offset)
sqlParams = append(sqlParams, pageSize, offset)
var shopList []*PageShopWithPlaceName
Begin(db)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil {
Rollback(db)
Rollback(db, txDB)
panic(r)
}
}()
@@ -93,9 +93,9 @@ func QueryPageStores(db *DaoDB, pageSize, offset int, keyword string, vendorStor
TotalCount: GetLastTotalRowCount(db),
Data: shopList,
}
Commit(db)
Commit(db, txDB)
} else {
Rollback(db)
Rollback(db, txDB)
}
return pagedInfo, err
}

View File

@@ -2,7 +2,7 @@ package dao
import (
"git.rosy.net.cn/jx-callback/business/model"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (

View File

@@ -317,8 +317,8 @@ func GetPriceReferSnapshot(db *DaoDB, cityCodes, skuIDs []int, skuNameID int, sn
}
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &priceReferSnapshot, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}

View File

@@ -405,10 +405,10 @@ func FormalizeStoreStatus(db *DaoDB, storeID, storeStatus int) (err error) {
if err = GetRows(db, &statusList, sql, sqlParams...); err == nil {
if len(statusList) == 1 {
if statusList[0] != model.StoreStatusOpened {
Begin(db)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
Rollback(db)
Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -431,7 +431,7 @@ func FormalizeStoreStatus(db *DaoDB, storeID, storeStatus int) (err error) {
}); err != nil {
return err
}
Commit(db)
Commit(db, txDB)
}
}
}
@@ -712,8 +712,8 @@ func GetStorePriceScore(db *DaoDB, storeIDs, vendorIDs []int, fromScore, toScore
}
sql += " LIMIT ? OFFSET ?"
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &StorePriceScore, sql, sqlParams...); err == nil {
totalCount = GetLastTotalRowCount(db)
}
@@ -979,8 +979,8 @@ func GetStoreAuditPage(db *DaoDB, statuss []int, keyword string, applyTimeStart,
sql += " ORDER BY a.updated_at LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),
@@ -1241,8 +1241,8 @@ func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType
sql += " LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),

View File

@@ -1707,8 +1707,8 @@ func GetStoreSkuAudit(db *DaoDB, storeIDs, nameIDs, skuIDs, statuss, types []int
sql += " ORDER BY a.updated_at LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
txDB, _ := Begin(db)
defer Commit(db, txDB)
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),

View File

@@ -194,10 +194,10 @@ func GetAndStoreCitiesShops(ctx *jxcontext.Context, vendorIDs []int, cityCodeLis
globals.SugarLogger.Debugf("process city:%d", cityCode)
shopList, err := GetCityShops(ctx, task, vendorIDs, cityCode, radius, gridWith)
if err == nil {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -216,10 +216,10 @@ func GetAndStoreCitiesShops(ctx *jxcontext.Context, vendorIDs []int, cityCodeLis
}
}
if err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
} else {
hint = utils.Int2Str(len(shopList))
dao.Commit(db)
dao.Commit(db, txDB)
}
}
globals.SugarLogger.Debugf("process city:%d, len(shopList):%d, err:%v", cityCode, len(shopList), err)

View File

@@ -7,7 +7,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
beego "github.com/astaxie/beego/adapter"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/partner/delivery"

View File

@@ -21,7 +21,7 @@ import (
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
beego "github.com/astaxie/beego/adapter"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
const (

View File

@@ -1728,10 +1728,10 @@ func RefreshAllMatterOrderStatus(ctx *jxcontext.Context) (err error) {
}
if len(queryOrderStatus.OrderStatusList) > 0 {
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1742,7 +1742,7 @@ func RefreshAllMatterOrderStatus(ctx *jxcontext.Context) (err error) {
waybills[0].Status = model.WaybillStatusDelivered
dao.UpdateEntity(db, waybills[0], "Status")
}
dao.Commit(db)
dao.Commit(db, txDB)
changeOrderStatus(vv.VendorOrderID, model.OrderStatusFinished, "")
getTrackMessagePlusByOrderResult, _ := api.JdEclpAPI.GetTrackMessagePlusByOrder(vv.VendorOrderID)
updateJdWayBillInfo(db, vv, getTrackMessagePlusByOrderResult)
@@ -1755,10 +1755,10 @@ func RefreshAllMatterOrderStatus(ctx *jxcontext.Context) (err error) {
}
}
if len(goodsList2) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1773,7 +1773,7 @@ func RefreshAllMatterOrderStatus(ctx *jxcontext.Context) (err error) {
v.Status = model.OrderStatusCanceled
}
dao.UpdateEntity(db, v, "Status")
dao.Commit(db)
dao.Commit(db, txDB)
changeOrderStatus(v.VendorOrderID, v.Status, "")
}
} else {
@@ -1844,10 +1844,10 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
func updateMatterOrderStatus(db *dao.DaoDB, order *model.GoodsOrder, queryOrderStatus *jdeclpapi.QueryOrderStatusResult) {
code := queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode
if code == jdeclpapi.SoStatusCode10034 || code == jdeclpapi.SoStatusCode10038 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -1858,7 +1858,7 @@ func updateMatterOrderStatus(db *dao.DaoDB, order *model.GoodsOrder, queryOrderS
waybills[0].Status = model.WaybillStatusDelivered
dao.UpdateEntity(db, waybills[0], "Status")
}
dao.Commit(db)
dao.Commit(db, txDB)
changeOrderStatus(order.VendorOrderID, model.OrderStatusFinished, "")
}
}
@@ -2330,10 +2330,10 @@ func UpdateCoupons(ctx *jxcontext.Context, payload map[string]interface{}, store
} else {
valid := dao.StrictMakeMapByStructObject(payload, coupons, ctx.GetUserName())
if len(valid) > 0 {
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
@@ -2343,7 +2343,7 @@ func UpdateCoupons(ctx *jxcontext.Context, payload map[string]interface{}, store
}
}
if _, err = dao.UpdateEntityByKV(db, coupons, valid, nil); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return err
}
if valid["isAll"] != nil {
@@ -2364,7 +2364,7 @@ func UpdateCoupons(ctx *jxcontext.Context, payload map[string]interface{}, store
}
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}
}
return err
@@ -2481,16 +2481,16 @@ func CreateStoreAcctOrder(ctx *jxcontext.Context, orderType, storeID, price int,
GoodsVendorOrderID: goodsVendorOrderID,
}
dao.WrapAddIDCULEntity(order, ctx.GetUserName())
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, order); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
dao.Commit(db)
dao.Commit(db, txDB)
return order.VendorOrderID, err
}

View File

@@ -59,8 +59,8 @@ func GetJxShopUsers(ctx *jxcontext.Context, keyword, fromTime, toTime string, ve
sql += "LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
dao.Begin(db)
defer dao.Commit(db)
txDB , _ := dao.Begin(db)
defer dao.Commit(db, txDB)
if err = dao.GetRows(db, &requestList, sql, sqlParams...); err == nil {
pagedInfo = &model.PagedInfo{
TotalCount: dao.GetLastTotalRowCount(db),

View File

@@ -97,10 +97,10 @@ func CreateFoodRecipe(ctx *jxcontext.Context, foodRecipe *model.FoodRecipe, item
}
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -119,7 +119,7 @@ func CreateFoodRecipe(ctx *jxcontext.Context, foodRecipe *model.FoodRecipe, item
if err = updateFoodRecipeItemAndStep(ctx, db, foodRecipe.ID, itemList, stepList); err != nil {
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
tryRegisterDataRes4Recipe(ctx, foodRecipe.Name, foodRecipe.Img, stepList)
return err
@@ -135,10 +135,10 @@ func UpdateFoodRecipe(ctx *jxcontext.Context, recipeID int, mapData map[string]i
}
valid := dao.StrictMakeMapByStructObject(mapData, localRecipe, ctx.GetUserName())
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -176,7 +176,7 @@ func UpdateFoodRecipe(ctx *jxcontext.Context, recipeID int, mapData map[string]i
if err = updateFoodRecipeItemAndStep(ctx, db, recipeID, itemList, stepList); err != nil {
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
tryRegisterDataRes4Recipe(ctx, localRecipe.Name, utils.Interface2String(valid["img"]), stepList)
return err
@@ -284,10 +284,10 @@ func VoteFoodRecipe(ctx *jxcontext.Context, recipeID, voteType int) (err error)
}
recipe := &recipeList[0].FoodRecipe
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -338,16 +338,16 @@ func VoteFoodRecipe(ctx *jxcontext.Context, recipeID, voteType int) (err error)
return err
}
dao.Commit(db)
dao.Commit(db, txDB)
return err
}
func DeleteRecipes(ctx *jxcontext.Context, recipeIDs []int) (num int64, err error) {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
@@ -362,6 +362,6 @@ func DeleteRecipes(ctx *jxcontext.Context, recipeIDs []int) (num int64, err erro
}
num += num2
}
dao.Commit(db)
dao.Commit(db, txDB)
return 0, err
}

View File

@@ -240,26 +240,26 @@ func (c *ActController) UpdateActStoreSkuBind() {
err = fmt.Errorf("actStoreSkuAddList与actStoreSkuDeleteList不能都为空")
} else {
db := dao.GetDB()
dao.Begin(db)
txDB , _ := dao.Begin(db)
func() {
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
}
}()
if len(actStoreSkuAddList) > 0 {
if err = act.AddActStoreSkuBind(params.Ctx, db, params.ActID, actStoreSkuAddList); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return
}
}
if len(actStoreSkuDeleteList) > 0 {
if _, err = act.DeleteActStoreSkuBind(params.Ctx, db, params.ActID, actStoreSkuDeleteList); err != nil {
dao.Rollback(db)
dao.Rollback(db, txDB)
return
}
}
dao.Commit(db)
dao.Commit(db, txDB)
}()
if err == nil {
retVal, err = act.SyncAct(params.Ctx, nil, params.ActID, nil, params.IsAsync)

View File

@@ -5,12 +5,13 @@ import (
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
"git.rosy.net.cn/jx-callback/globals"
beego "github.com/astaxie/beego/adapter"
"github.com/astaxie/beego/adapter/orm"
"github.com/astaxie/beego/client/orm"
)
func Init() {
// set default database
orm.RegisterDataBase("default", "mysql", beego.AppConfig.String("dbConnectStr"), 30)
// orm.RegisterDataBase(aliasName, driverName, dataSource, params)
orm.RegisterDataBase("default", "mysql", beego.AppConfig.String("dbConnectStr"), nil)
orm.RegisterModel(new(legacymodel.Config))
orm.RegisterModel(new(legacymodel.BlackClient))
orm.RegisterModel(new(legacymodel.JxBadComments))