This commit is contained in:
苏尹岚
2021-04-20 15:12:39 +08:00
parent c43039abca
commit 5772bdcd1e
10 changed files with 45 additions and 27 deletions

View File

@@ -439,7 +439,7 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi
return
}
dao.Commit(db, txDB)
} else {
} else if job.JobCategoryID != model.JobCategoryIDUnion {
//任务限时完成
timer := checkLimitJobOrders(db, job, jobOrder, model.JobTimerTypeAccept)
JobTimers.s.Lock()
@@ -1951,16 +1951,19 @@ func GetUnionActList(ctx *jxcontext.Context, vendorID, actType int) (actList []*
func ShareUnionLink(ctx *jxcontext.Context, jobID, linkType int) (link string, err error) {
var (
db = dao.GetDB()
job = &model.Job{}
db = dao.GetDB()
job = &model.Job{}
jobOrder = &model.JobOrder{}
)
job.ID = jobID
err = dao.GetEntity(db, job)
if err != nil {
return link, err
}
jobOrder.JobID = job.ID
err = dao.GetEntity(db, jobOrder, "JobID")
if handler := partner.GetHandler(job.VendorID); handler != nil {
handler.ShareUnionLink(ctx, linkType)
handler.ShareUnionLink(ctx, linkType, job.UnionActID, jobOrder.UserID)
}
return link, err
}

View File

@@ -29,11 +29,18 @@ func CreateOrder(ctx *jxcontext.Context, type1, orderType int, way string, price
if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil {
return "", errCode, err
}
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db, txDB)
panic(r)
}
}()
if type1 == model.OrderTypeCash {
//如果用户没有对应账单信息就给他生成一条
userBill, err := dao.GetUserBill(db, ctx.GetUserID(), "")
if userBill == nil {
err = financial.AddUserBill(db, jxutils.GenBillID(), ctx.GetUserID())
err = financial.AddUserBill(txDB, jxutils.GenBillID(), ctx.GetUserID())
}
if userBill.AccountBalance < price {
return "", model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足!")
@@ -63,14 +70,7 @@ func CreateOrder(ctx *jxcontext.Context, type1, orderType int, way string, price
CityCode: cCode,
}
dao.WrapAddIDCULEntity(order, ctx.GetUserName())
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db, txDB)
panic(r)
}
}()
if err = dao.CreateEntity(db, order); err != nil {
if err = dao.CreateEntityTx(txDB, order); err != nil {
dao.Rollback(db, txDB)
}
dao.Commit(db, txDB)
@@ -96,11 +96,19 @@ func Pay(ctx *jxcontext.Context, orderID string, payType int, vendorPayType stri
}
payHandler.Order = order
//如果用户没有对应账单信息就给他生成一条
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db, txDB)
panic(r)
}
}()
userBill, err := dao.GetUserBill(db, order.UserID, "")
if userBill == nil {
err = financial.AddUserBill(db, jxutils.GenBillID(), order.UserID)
err = financial.AddUserBill(txDB, jxutils.GenBillID(), order.UserID)
}
err = payHandler.CreatePay()
err = payHandler.CreatePay(txDB)
dao.Commit(db, txDB)
globals.SugarLogger.Debugf("result : %v", utils.Format4Output(payHandler.WxPayParam, false))
return payHandler.WxPayParam, err
}

View File

@@ -601,7 +601,7 @@ func InvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree bo
}
if !isFree {
//支出明细
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeMember, memberCard.Price, 0); err != nil {
if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeMember, memberCard.Price, 0); err != nil {
dao.Rollback(db, txDB)
return
}