aa
This commit is contained in:
@@ -224,29 +224,29 @@ 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:
|
||||
|
||||
default:
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
if configType == model.ConfigTypeSys && err == nil {
|
||||
// err = onSysConfigChanged(key, value)
|
||||
|
||||
@@ -162,15 +162,15 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e
|
||||
job.Lat = jxutils.StandardCoordinate2Int(lat)
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(job, 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, job); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
for _, v := range jobExt.JobSteps {
|
||||
@@ -184,17 +184,17 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e
|
||||
err = dao.CreateEntity(db, v)
|
||||
}
|
||||
if err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//发布任务要扣除任务总额的保证金,不够扣就要进行充值
|
||||
if err == nil && job.Status != model.JobStatusFailed {
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDeposit, job.TotalPrice, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
content := new(strings.Builder)
|
||||
content.WriteString("您的任务:")
|
||||
content.WriteString(job.Title)
|
||||
@@ -220,10 +220,10 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
||||
if userBill == nil {
|
||||
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)
|
||||
}
|
||||
}()
|
||||
@@ -241,17 +241,17 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
||||
price = job.TotalPrice - price
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, price, jobID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//3、任务状态被取消
|
||||
job.Status = model.JobStatusFailed
|
||||
// job.DeletedAt = time.Now()
|
||||
if _, err = dao.UpdateEntity(db, job, "Status"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
content := new(strings.Builder)
|
||||
content.WriteString("您的任务:")
|
||||
content.WriteString(job.Title)
|
||||
@@ -398,44 +398,44 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi
|
||||
} else if job.JobCategoryID == model.JobCategoryIDUnion {
|
||||
jobOrder.Status = model.JobOrderStatusSpec
|
||||
}
|
||||
dao.Begin(db)
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
dao.WrapAddIDCULEntity(jobOrder, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, jobOrder); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//用户接受任务,任务剩余次数-1
|
||||
job.SurplusCount -= 1
|
||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
|
||||
if job.JobCategoryID == model.JobCategoryIDDropShipping {
|
||||
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 = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//一件代发
|
||||
if err = SubmitJob(ctx, jobOrder); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
} else {
|
||||
//任务限时完成
|
||||
timer := checkLimitJobOrders(db, job, jobOrder, model.JobTimerTypeAccept)
|
||||
@@ -468,10 +468,10 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
} else {
|
||||
content.WriteString(",已被取消。")
|
||||
}
|
||||
dao.Begin(db)
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
@@ -479,7 +479,7 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
if job.Status >= 0 {
|
||||
job.SurplusCount += 1
|
||||
if _, err = dao.UpdateEntity(db, job, "SurplusCount"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
@@ -492,7 +492,7 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
//是固定返现才会退一笔任务单价
|
||||
if job.CashbackType == model.JobCashbackPrice {
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, job.AvgPrice, jobID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -504,17 +504,17 @@ func CancelAcceptJob(ctx *jxcontext.Context, jobID int, jobOrderID int64) (err e
|
||||
return fmt.Errorf("未查询到该用户的账单!")
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, jobOrder.UserActualPrice, jobID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//3、任务订单状态被取消
|
||||
jobOrder.Status = model.JobOrderStatusCancel
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
event.SendSysMessageSimple(content.String(), jobOrder.UserID)
|
||||
return err
|
||||
}
|
||||
@@ -607,18 +607,18 @@ func UpdateDropShippingJobOrders(db *dao.DaoDB, timer *time.Timer, jobID int, jo
|
||||
//如果限时内还没发货
|
||||
if jobOrder.Status < model.JobOrderStatusFinish {
|
||||
userBill, err := dao.GetUserBill(db, jobOrder.UserID, "")
|
||||
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 = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeDropShippingDeposit, job.AvgPrice, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -736,15 +736,15 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
} else {
|
||||
content.WriteString(",商家已经审核")
|
||||
}
|
||||
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, jobOrder, "Status", "Comment", "AuditAt", "LastOperator"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
if status == model.JobOrderStatusAuditPass {
|
||||
@@ -769,19 +769,19 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
if messageGroupsResult[0].DividePercentage != 0 {
|
||||
if userBillGroupMaster, err := dao.GetUserBill(db, messageGroupsResult[0].UserID, ""); err == nil {
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeDivide, price*messageGroupsResult[0].DividePercentage/100, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJobDivide, price*(100-messageGroupsResult[0].DividePercentage)/100, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, price, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -790,14 +790,14 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
} else if len(messageGroupMembers) == 0 { //若没有在某个群组,则得到全部
|
||||
//接收人账户收入
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillJobOrder, model.BillTypeJob, price, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
jobOrder.Status = model.JobOrderStatusFinish
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
content.WriteString(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(price))))
|
||||
@@ -807,12 +807,12 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
jobOrder.VendorWaybillID = vendorWaybillID
|
||||
jobOrder.Status = model.JobOrderStatusFinish
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status", "VendorWaybillID"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeDropShippingDeposit, job.AvgPrice, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -826,7 +826,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
if job.CashbackType == model.JobCashbackPrice {
|
||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobAuditUnPassWithCancelOverdue, job.AvgPrice, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -834,7 +834,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
//审核不通过的话,要重新变成待上传,再重新开个定时器
|
||||
jobOrder.Status = model.JobOrderStatusAccept
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "Status"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//之前的定时表删了?
|
||||
@@ -843,7 +843,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
JobOrderID: jobOrder.JobOrderID,
|
||||
}
|
||||
if _, err = dao.DeleteEntity(db, jobTimer, "JobID", "JobOrderID"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
//任务限时完成
|
||||
@@ -854,7 +854,7 @@ func AuditJob(ctx *jxcontext.Context, jobOrderID, status int, comment, vendorWay
|
||||
}
|
||||
event.SendSysMessageSimple(content2.String(), jobOrder.UserID)
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
//任务定时器停止
|
||||
JobTimers.s.RLock()
|
||||
if JobTimers.JobAuditTimerMap[int64(jobOrderID)] != nil {
|
||||
@@ -896,10 +896,10 @@ func RefreshJobStatus(ctx *jxcontext.Context) (err error) {
|
||||
if userBill == nil {
|
||||
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)
|
||||
}
|
||||
}()
|
||||
@@ -917,7 +917,7 @@ func RefreshJobStatus(ctx *jxcontext.Context) (err error) {
|
||||
price = job.TotalPrice - price
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeJobCancelOverdue, price, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
//3、任务状态被取消
|
||||
@@ -928,11 +928,11 @@ func RefreshJobStatus(ctx *jxcontext.Context) (err error) {
|
||||
job2.Status = model.JobStatusOverdue
|
||||
// job.DeletedAt = time.Now()
|
||||
if _, err = dao.UpdateEntity(db, job2, "Status"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debugf("RefreshJobStatus end...")
|
||||
@@ -964,10 +964,10 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
|
||||
db2 = dao.GetDB()
|
||||
userID = ctx.GetUserID()
|
||||
)
|
||||
dao.Begin(db)
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
@@ -979,12 +979,12 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
|
||||
})
|
||||
}
|
||||
if err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return errCode, err
|
||||
}
|
||||
//验证微信绑定
|
||||
if err = auth2.CheckWeixinminiAuthBind(userID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return "", err
|
||||
}
|
||||
//特殊任务,如美团会员,是直接要支付
|
||||
@@ -997,15 +997,15 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
|
||||
}
|
||||
//账户支出
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, mtwmMemberPrice, 1); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return errCode, err
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
for {
|
||||
dao.Begin(db2)
|
||||
txDB, _ := dao.Begin(db2)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db2)
|
||||
dao.Rollback(db2, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
@@ -1016,7 +1016,7 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
|
||||
err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink)
|
||||
mtMember.DeletedAt = time.Now()
|
||||
dao.UpdateEntity(db2, mtMember, "DeletedAt")
|
||||
dao.Commit(db2)
|
||||
dao.Commit(db2, txDB)
|
||||
if err == nil {
|
||||
job, err := dao.GetJob(db2, nil, nil, nil, []int{model.JobTypeMtMember}, utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
_, errCode, err = AcceptJob(ctx, job.ID, 0, 0)
|
||||
@@ -1117,16 +1117,16 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
}
|
||||
dOrder.Status = model.OrderStatusNew
|
||||
dOrder.UserID = ctx.GetUserID()
|
||||
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 = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeSpJob, dOrder.PayPrice, 2); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dOrder.SendName = sendDelivery.ConsigneeName
|
||||
@@ -1146,10 +1146,10 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
dOrder.ReceiveLng = receiveDelivery.Lng
|
||||
dOrder.ReceiveLat = receiveDelivery.Lat
|
||||
if err = dao.CreateEntity(db, dOrder); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
utils.CallFuncAsync(func() {
|
||||
job, _ := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeJdDelivery}, utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
if jobOrderID, _, err := AcceptJob(ctx, job.ID, 0, 0); err == nil {
|
||||
@@ -1192,25 +1192,25 @@ func CancelJdDelivery(ctx *jxcontext.Context, vendorWaybillID, reason string) (e
|
||||
dOrder.Status = model.OrderStatusCanceled
|
||||
dOrder.OrderFinishedAt = time.Now()
|
||||
dOrder.Comment = reason
|
||||
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, dOrder, "Status", "OrderFinishedAt", "Comment"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeSpJob, dOrder.PayPrice, 2); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
if err = CancelAcceptJob(ctx, 2, utils.Str2Int64(dOrder.JobOrderID)); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1531,10 +1531,10 @@ func ConfirmDropShippingJob(ctx *jxcontext.Context, jobOrderID int) (err error)
|
||||
if ctx.GetUserID() != jobOrder.UserID && ctx.GetUserName() != "jxadmin" {
|
||||
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)
|
||||
}
|
||||
}()
|
||||
@@ -1543,15 +1543,15 @@ func ConfirmDropShippingJob(ctx *jxcontext.Context, jobOrderID int) (err error)
|
||||
jobOrder.DropShippingConfirmUser = ctx.GetUserName()
|
||||
jobOrder.Status = model.OrderStatusConfirm
|
||||
if _, err = dao.UpdateEntity(db, jobOrder, "DropShippingConfirmTime", "DropShippingConfirmUser", "Status"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
userBill, err := dao.GetUserBill(db, job.UserID, "")
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBill, model.BillTypeDropShipping, jobOrder.UserActualPrice, job.ID); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1628,15 +1628,15 @@ func UpdateJob(ctx *jxcontext.Context, payload map[string]interface{}) (err erro
|
||||
dao.GetEntity(db, job2)
|
||||
valid := dao.StrictMakeMapByStructObject(payload, job2, 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.UpdateEntityByKV(db, job2, valid, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
if len(jobExt.JobSteps) > 0 {
|
||||
@@ -1663,7 +1663,7 @@ func UpdateJob(ctx *jxcontext.Context, payload map[string]interface{}) (err erro
|
||||
dao.CreateEntity(db, v)
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -1762,163 +1762,163 @@ type Store struct {
|
||||
}
|
||||
|
||||
func TempJob() (err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
ctx = jxcontext.AdminCtx
|
||||
storesJD []*Store
|
||||
storesMT []*Store
|
||||
)
|
||||
db.Db.Using("c4")
|
||||
sql := `
|
||||
SELECT a.*, b.vendor_store_id
|
||||
FROM store a
|
||||
JOIN store_map b ON a.id = b.store_id AND b.vendor_id = 0 AND b.deleted_at = ? AND b.vendor_store_id <> ''
|
||||
WHERE a.deleted_at = ?
|
||||
AND a.id <> 667281
|
||||
AND a.id <> 667278
|
||||
AND a.status IN (1,0)
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue}
|
||||
if err = dao.GetRows(db, &storesJD, sql, sqlParams); err != nil {
|
||||
return err
|
||||
}
|
||||
sql2 := `
|
||||
SELECT a.*, b.vendor_store_id
|
||||
FROM store a
|
||||
JOIN store_map b ON a.id = b.store_id AND b.vendor_id = 1 AND b.deleted_at = ? AND b.vendor_store_id <> ''
|
||||
WHERE a.deleted_at = ?
|
||||
AND a.id <> 667281
|
||||
AND a.id <> 667278
|
||||
AND a.status IN (1,0)
|
||||
`
|
||||
sqlParams2 := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue}
|
||||
if err = dao.GetRows(db, &storesMT, sql2, sqlParams2); err != nil {
|
||||
return err
|
||||
}
|
||||
db.Db.Using("default")
|
||||
task := tasksch.NewParallelTask("TempJob", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||
func(task2 *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
step := batchItemList[0].(int)
|
||||
switch step {
|
||||
case 0:
|
||||
task := tasksch.NewParallelTask("TempJob1", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
store := batchItemList[0].(*Store)
|
||||
job := &model.Job{
|
||||
UserID: "906380C7390E11EB8831525400C36BDA",
|
||||
JobCategoryID: 3,
|
||||
Title: "京东(" + store.Name + ")",
|
||||
Content: "领取任务后,需要尽快去完成,并提交截图。如超时未完成,任务会被取消",
|
||||
Count: 1000,
|
||||
AvgPrice: 300,
|
||||
TotalPrice: 300000,
|
||||
Status: 0,
|
||||
Address: store.Address,
|
||||
StoreURL: store.VendorStoreID,
|
||||
SurplusCount: 1000,
|
||||
JobLimitAt: 72,
|
||||
AuditLimitAt: 168,
|
||||
LimitCountType: 3,
|
||||
VendorID: 0,
|
||||
CashbackType: 1,
|
||||
JobLat: jxutils.IntCoordinate2Standard(store.Lat),
|
||||
JobLng: jxutils.IntCoordinate2Standard(store.Lng),
|
||||
Lng: store.Lng,
|
||||
Lat: store.Lat,
|
||||
JobCityCode: store.CityCode,
|
||||
}
|
||||
finishAt := utils.Str2Time("2021-12-31 00:00:00")
|
||||
job.FinishedAt = &finishAt
|
||||
dao.WrapAddIDCULDEntity(job, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, job); err == nil {
|
||||
jobsteps, _ := dao.GetJobSteps(db, 171)
|
||||
for _, v := range jobsteps {
|
||||
jobStep := &model.JobStep{
|
||||
JobID: job.ID,
|
||||
StepCount: v.StepCount,
|
||||
Content: v.Content,
|
||||
Img: v.Img,
|
||||
Type: v.Type,
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(jobStep, ctx.GetUserName())
|
||||
err = dao.CreateEntity(db, jobStep)
|
||||
}
|
||||
jobImgs, _ := dao.GetJobImgs(db, 171)
|
||||
for _, v := range jobImgs {
|
||||
jobImg := &model.JobImg{
|
||||
JobID: job.ID,
|
||||
Img: v.Img,
|
||||
}
|
||||
dao.WrapAddIDCULEntity(jobImg, ctx.GetUserName())
|
||||
err = dao.CreateEntity(db, jobImg)
|
||||
}
|
||||
}
|
||||
return retVal, err
|
||||
}, storesJD)
|
||||
tasksch.HandleTask(task, task2, true).Run()
|
||||
task.GetResult(0)
|
||||
case 1:
|
||||
task := tasksch.NewParallelTask("TempJob2", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
store := batchItemList[0].(*Store)
|
||||
job := &model.Job{
|
||||
UserID: "906380C7390E11EB8831525400C36BDA",
|
||||
JobCategoryID: 3,
|
||||
Title: "美团(" + store.Name + ")",
|
||||
Content: "领取任务后,需要尽快去完成,并提交截图。如超时未完成,任务会被取消",
|
||||
Count: 1000,
|
||||
AvgPrice: 300,
|
||||
TotalPrice: 300000,
|
||||
Status: 0,
|
||||
Address: store.Address,
|
||||
StoreURL: store.VendorStoreID,
|
||||
SurplusCount: 1000,
|
||||
JobLimitAt: 72,
|
||||
AuditLimitAt: 168,
|
||||
LimitCountType: 3,
|
||||
VendorID: 1,
|
||||
CashbackType: 1,
|
||||
JobLat: jxutils.IntCoordinate2Standard(store.Lat),
|
||||
JobLng: jxutils.IntCoordinate2Standard(store.Lng),
|
||||
Lng: store.Lng,
|
||||
Lat: store.Lat,
|
||||
JobCityCode: store.CityCode,
|
||||
}
|
||||
finishAt := utils.Str2Time("2021-12-31 00:00:00")
|
||||
job.FinishedAt = &finishAt
|
||||
dao.WrapAddIDCULDEntity(job, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, job); err == nil {
|
||||
jobsteps, _ := dao.GetJobSteps(db, 173)
|
||||
for _, v := range jobsteps {
|
||||
jobStep := &model.JobStep{
|
||||
JobID: job.ID,
|
||||
StepCount: v.StepCount,
|
||||
Content: v.Content,
|
||||
Img: v.Img,
|
||||
Type: v.Type,
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(jobStep, ctx.GetUserName())
|
||||
err = dao.CreateEntity(db, jobStep)
|
||||
}
|
||||
jobImgs, _ := dao.GetJobImgs(db, 173)
|
||||
for _, v := range jobImgs {
|
||||
jobImg := &model.JobImg{
|
||||
JobID: job.ID,
|
||||
Img: v.Img,
|
||||
}
|
||||
dao.WrapAddIDCULEntity(jobImg, ctx.GetUserName())
|
||||
err = dao.CreateEntity(db, jobImg)
|
||||
}
|
||||
}
|
||||
return retVal, err
|
||||
}, storesMT)
|
||||
tasksch.HandleTask(task, task2, true).Run()
|
||||
task.GetResult(0)
|
||||
}
|
||||
return retVal, err
|
||||
}, []int{0, 1})
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
task.GetID()
|
||||
//var (
|
||||
// db = dao.GetDB()
|
||||
// ctx = jxcontext.AdminCtx
|
||||
// storesJD []*Store
|
||||
// storesMT []*Store
|
||||
//)
|
||||
//db.Db.Using("c4")
|
||||
//sql := `
|
||||
// SELECT a.*, b.vendor_store_id
|
||||
// FROM store a
|
||||
// JOIN store_map b ON a.id = b.store_id AND b.vendor_id = 0 AND b.deleted_at = ? AND b.vendor_store_id <> ''
|
||||
// WHERE a.deleted_at = ?
|
||||
// AND a.id <> 667281
|
||||
// AND a.id <> 667278
|
||||
// AND a.status IN (1,0)
|
||||
//`
|
||||
//sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue}
|
||||
//if err = dao.GetRows(db, &storesJD, sql, sqlParams); err != nil {
|
||||
// return err
|
||||
//}
|
||||
//sql2 := `
|
||||
// SELECT a.*, b.vendor_store_id
|
||||
// FROM store a
|
||||
// JOIN store_map b ON a.id = b.store_id AND b.vendor_id = 1 AND b.deleted_at = ? AND b.vendor_store_id <> ''
|
||||
// WHERE a.deleted_at = ?
|
||||
// AND a.id <> 667281
|
||||
// AND a.id <> 667278
|
||||
// AND a.status IN (1,0)
|
||||
//`
|
||||
//sqlParams2 := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue}
|
||||
//if err = dao.GetRows(db, &storesMT, sql2, sqlParams2); err != nil {
|
||||
// return err
|
||||
//}
|
||||
//db.Db.Using("default")
|
||||
//task := tasksch.NewParallelTask("TempJob", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||
// func(task2 *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
// step := batchItemList[0].(int)
|
||||
// switch step {
|
||||
// case 0:
|
||||
// task := tasksch.NewParallelTask("TempJob1", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
// store := batchItemList[0].(*Store)
|
||||
// job := &model.Job{
|
||||
// UserID: "906380C7390E11EB8831525400C36BDA",
|
||||
// JobCategoryID: 3,
|
||||
// Title: "京东(" + store.Name + ")",
|
||||
// Content: "领取任务后,需要尽快去完成,并提交截图。如超时未完成,任务会被取消",
|
||||
// Count: 1000,
|
||||
// AvgPrice: 300,
|
||||
// TotalPrice: 300000,
|
||||
// Status: 0,
|
||||
// Address: store.Address,
|
||||
// StoreURL: store.VendorStoreID,
|
||||
// SurplusCount: 1000,
|
||||
// JobLimitAt: 72,
|
||||
// AuditLimitAt: 168,
|
||||
// LimitCountType: 3,
|
||||
// VendorID: 0,
|
||||
// CashbackType: 1,
|
||||
// JobLat: jxutils.IntCoordinate2Standard(store.Lat),
|
||||
// JobLng: jxutils.IntCoordinate2Standard(store.Lng),
|
||||
// Lng: store.Lng,
|
||||
// Lat: store.Lat,
|
||||
// JobCityCode: store.CityCode,
|
||||
// }
|
||||
// finishAt := utils.Str2Time("2021-12-31 00:00:00")
|
||||
// job.FinishedAt = &finishAt
|
||||
// dao.WrapAddIDCULDEntity(job, ctx.GetUserName())
|
||||
// if err = dao.CreateEntity(db, job); err == nil {
|
||||
// jobsteps, _ := dao.GetJobSteps(db, 171)
|
||||
// for _, v := range jobsteps {
|
||||
// jobStep := &model.JobStep{
|
||||
// JobID: job.ID,
|
||||
// StepCount: v.StepCount,
|
||||
// Content: v.Content,
|
||||
// Img: v.Img,
|
||||
// Type: v.Type,
|
||||
// }
|
||||
// dao.WrapAddIDCULDEntity(jobStep, ctx.GetUserName())
|
||||
// err = dao.CreateEntity(db, jobStep)
|
||||
// }
|
||||
// jobImgs, _ := dao.GetJobImgs(db, 171)
|
||||
// for _, v := range jobImgs {
|
||||
// jobImg := &model.JobImg{
|
||||
// JobID: job.ID,
|
||||
// Img: v.Img,
|
||||
// }
|
||||
// dao.WrapAddIDCULEntity(jobImg, ctx.GetUserName())
|
||||
// err = dao.CreateEntity(db, jobImg)
|
||||
// }
|
||||
// }
|
||||
// return retVal, err
|
||||
// }, storesJD)
|
||||
// tasksch.HandleTask(task, task2, true).Run()
|
||||
// task.GetResult(0)
|
||||
// case 1:
|
||||
// task := tasksch.NewParallelTask("TempJob2", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
|
||||
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
// store := batchItemList[0].(*Store)
|
||||
// job := &model.Job{
|
||||
// UserID: "906380C7390E11EB8831525400C36BDA",
|
||||
// JobCategoryID: 3,
|
||||
// Title: "美团(" + store.Name + ")",
|
||||
// Content: "领取任务后,需要尽快去完成,并提交截图。如超时未完成,任务会被取消",
|
||||
// Count: 1000,
|
||||
// AvgPrice: 300,
|
||||
// TotalPrice: 300000,
|
||||
// Status: 0,
|
||||
// Address: store.Address,
|
||||
// StoreURL: store.VendorStoreID,
|
||||
// SurplusCount: 1000,
|
||||
// JobLimitAt: 72,
|
||||
// AuditLimitAt: 168,
|
||||
// LimitCountType: 3,
|
||||
// VendorID: 1,
|
||||
// CashbackType: 1,
|
||||
// JobLat: jxutils.IntCoordinate2Standard(store.Lat),
|
||||
// JobLng: jxutils.IntCoordinate2Standard(store.Lng),
|
||||
// Lng: store.Lng,
|
||||
// Lat: store.Lat,
|
||||
// JobCityCode: store.CityCode,
|
||||
// }
|
||||
// finishAt := utils.Str2Time("2021-12-31 00:00:00")
|
||||
// job.FinishedAt = &finishAt
|
||||
// dao.WrapAddIDCULDEntity(job, ctx.GetUserName())
|
||||
// if err = dao.CreateEntity(db, job); err == nil {
|
||||
// jobsteps, _ := dao.GetJobSteps(db, 173)
|
||||
// for _, v := range jobsteps {
|
||||
// jobStep := &model.JobStep{
|
||||
// JobID: job.ID,
|
||||
// StepCount: v.StepCount,
|
||||
// Content: v.Content,
|
||||
// Img: v.Img,
|
||||
// Type: v.Type,
|
||||
// }
|
||||
// dao.WrapAddIDCULDEntity(jobStep, ctx.GetUserName())
|
||||
// err = dao.CreateEntity(db, jobStep)
|
||||
// }
|
||||
// jobImgs, _ := dao.GetJobImgs(db, 173)
|
||||
// for _, v := range jobImgs {
|
||||
// jobImg := &model.JobImg{
|
||||
// JobID: job.ID,
|
||||
// Img: v.Img,
|
||||
// }
|
||||
// dao.WrapAddIDCULEntity(jobImg, ctx.GetUserName())
|
||||
// err = dao.CreateEntity(db, jobImg)
|
||||
// }
|
||||
// }
|
||||
// return retVal, err
|
||||
// }, storesMT)
|
||||
// tasksch.HandleTask(task, task2, true).Run()
|
||||
// task.GetResult(0)
|
||||
// }
|
||||
// return retVal, err
|
||||
// }, []int{0, 1})
|
||||
//tasksch.HandleTask(task, nil, true).Run()
|
||||
//task.GetID()
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1929,6 +1929,18 @@ func GetUnionActList(ctx *jxcontext.Context, vendorID, actType int) (actList []*
|
||||
return actList, err
|
||||
}
|
||||
|
||||
func ShareUnionLink(ctx *jxcontext.Context, vendorID, linkType int) (link string, err error) {
|
||||
return partner.GetHandler(vendorID).ShareUnionLink(ctx, linkType)
|
||||
func ShareUnionLink(ctx *jxcontext.Context, jobID, linkType int) (link string, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
job = &model.Job{}
|
||||
)
|
||||
job.ID = jobID
|
||||
err = dao.GetEntity(db, job)
|
||||
if err != nil {
|
||||
return link, err
|
||||
}
|
||||
if handler := partner.GetHandler(job.VendorID); handler != nil {
|
||||
handler.ShareUnionLink(ctx, linkType)
|
||||
}
|
||||
return link, err
|
||||
}
|
||||
|
||||
@@ -65,13 +65,13 @@ 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 {
|
||||
if err = dao.GetRowsTx(txDB, &msgList, sql, sqlParams...); err == nil {
|
||||
pagedInfo = &model.PagedInfo{
|
||||
TotalCount: dao.GetLastTotalRowCount(db),
|
||||
TotalCount: dao.GetLastTotalRowCountTx(txDB),
|
||||
Data: msgList,
|
||||
}
|
||||
}
|
||||
@@ -120,14 +120,14 @@ func GetStoreMessageStatuses(ctx *jxcontext.Context, msgIDs, storeIDs []int, fro
|
||||
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))
|
||||
if err = dao.GetRows(db, &msgStatusList, sql, sqlParams...); err == nil {
|
||||
if err = dao.GetRowsTx(txDB, &msgStatusList, sql, sqlParams...); err == nil {
|
||||
pagedInfo = &model.PagedInfo{
|
||||
TotalCount: dao.GetLastTotalRowCount(db),
|
||||
TotalCount: dao.GetLastTotalRowCountTx(txDB),
|
||||
Data: msgStatusList,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,17 +63,17 @@ func CreateOrder(ctx *jxcontext.Context, type1, orderType int, way string, price
|
||||
CityCode: cCode,
|
||||
}
|
||||
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.OrderID, errCode, err
|
||||
}
|
||||
|
||||
|
||||
@@ -31,16 +31,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
|
||||
}
|
||||
|
||||
@@ -54,10 +54,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)
|
||||
}
|
||||
}()
|
||||
@@ -65,7 +65,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
|
||||
}
|
||||
}
|
||||
@@ -73,7 +73,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
|
||||
}
|
||||
|
||||
@@ -92,16 +92,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
|
||||
}
|
||||
|
||||
@@ -118,10 +118,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)
|
||||
}
|
||||
}()
|
||||
@@ -134,7 +134,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
|
||||
}
|
||||
|
||||
@@ -177,10 +177,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)
|
||||
}
|
||||
}()
|
||||
@@ -208,7 +208,7 @@ func UpdateUserRole(ctx *jxcontext.Context, userIDs []string, roleIDs []int) (er
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -251,10 +251,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)
|
||||
}
|
||||
}()
|
||||
@@ -282,6 +282,6 @@ func UpdateRoleMenu(ctx *jxcontext.Context, roleIDs, menuIDs []int) (err error)
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -361,23 +361,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)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -417,25 +417,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))
|
||||
@@ -452,10 +452,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)
|
||||
}
|
||||
@@ -473,7 +473,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
|
||||
}
|
||||
@@ -563,10 +563,10 @@ func InvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree bo
|
||||
return model.ErrCodeAccountBalanceNotEnough, 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)
|
||||
}
|
||||
}()
|
||||
@@ -579,7 +579,7 @@ func InvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree bo
|
||||
userMember.EndAt = userMember.EndAt.AddDate(1, 0, 0)
|
||||
}
|
||||
if _, err = dao.UpdateEntity(db, userMember, "EndAt"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
@@ -595,18 +595,18 @@ func InvestMember(ctx *jxcontext.Context, memberID int, userID string, isFree bo
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(userMember2, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, userMember2); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
}
|
||||
if !isFree {
|
||||
//支出明细
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeMember, memberCard.Price, 0); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return errCode, err
|
||||
}
|
||||
|
||||
@@ -648,18 +648,18 @@ func UpdateUser(ctx *jxcontext.Context, payload map[string]interface{}) (err err
|
||||
}
|
||||
valid := dao.StrictMakeMapByStructObject(payload, user, 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.UpdateEntityByKV(db, user, valid, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
if payload["popUser"] != nil {
|
||||
// InvestMemberAndUpdate := func(user *model.User) (err error) {
|
||||
|
||||
@@ -217,45 +217,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
|
||||
}
|
||||
|
||||
@@ -538,18 +538,18 @@ func UpdateMessageGroup(ctx *jxcontext.Context, groupID int, payload map[string]
|
||||
}
|
||||
valid := dao.StrictMakeMapByStructObject(payload, messageGroup, 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.UpdateEntityLogically(db, messageGroup, 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
|
||||
}
|
||||
@@ -600,24 +600,24 @@ func DeleteMessageGroup(ctx *jxcontext.Context, groupID int, userID string, flag
|
||||
if userBill.AccountBalance < quitPrice {
|
||||
return model.ErrCodeAccountBalanceNotEnough, 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)
|
||||
}
|
||||
}()
|
||||
//账户支出
|
||||
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeQuitGroup, quitPrice, 0); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return errCode, err
|
||||
}
|
||||
//群主收到退团金额
|
||||
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeQuitGroup, quitPrice, 0); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return errCode, err
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
}
|
||||
messageGroupMembers, err := dao.GetMessageGroupMembers(db, groupID, 0, userID)
|
||||
if err != nil {
|
||||
@@ -654,22 +654,22 @@ func TransferMessageGroupMaster(ctx *jxcontext.Context, groupID int, userID stri
|
||||
messageGroupMember := messageGroupMembers[0]
|
||||
messageGroupMember.MemberUserID = ctx.GetUserID()
|
||||
messageGroupMember.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.UpdateEntity(db, messageGroup, "UserID", "LastOperator"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
if _, err = dao.UpdateEntity(db, messageGroupMember, "MemberUserID", "LastOperator"); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -40,10 +40,10 @@ func OnPayFinished(order *model.Order) (err error) {
|
||||
db = dao.GetDB()
|
||||
)
|
||||
globals.SugarLogger.Debugf("OnPayFinished begin modify account order: %v", utils.Format4Output(order, false))
|
||||
dao.Begin(db)
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
@@ -59,13 +59,13 @@ func OnPayFinished(order *model.Order) (err error) {
|
||||
//如果是账户充值(发布任务等)
|
||||
//账户收入
|
||||
if err = AddIncomeUpdateAccount(db, userBill, model.BillTypeInvest, order.PayPrice, 0); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
}
|
||||
default:
|
||||
globals.SugarLogger.Debugf("OnPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false))
|
||||
return fmt.Errorf("暂不支持此订单类型!")
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
globals.SugarLogger.Debugf("OnPayFinished end modify account ...")
|
||||
return err
|
||||
}
|
||||
@@ -75,10 +75,10 @@ func OnCashFinished(order *model.Order) (err error) {
|
||||
db = dao.GetDB()
|
||||
)
|
||||
globals.SugarLogger.Debugf("OnCashFinished begin modify account order: %v", utils.Format4Output(order, false))
|
||||
dao.Begin(db)
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
@@ -94,13 +94,13 @@ func OnCashFinished(order *model.Order) (err error) {
|
||||
//如果是账户提现
|
||||
//账户支出
|
||||
if err = AddExpendUpdateAccount(db, userBill, model.BillTypeCash, order.PayPrice, 0); err != nil {
|
||||
dao.Rollback(db)
|
||||
dao.Rollback(db, txDB)
|
||||
}
|
||||
default:
|
||||
globals.SugarLogger.Debugf("OnPayFinished 暂不支持此订单类型 order: %v", utils.Format4Output(order, false))
|
||||
return fmt.Errorf("暂不支持此订单类型!")
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
globals.SugarLogger.Debugf("OnCashFinished end modify account ...")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -48,10 +48,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)
|
||||
}
|
||||
@@ -67,7 +67,7 @@ func InitPlace(ctx *jxcontext.Context) (err error) {
|
||||
if err = insertPlace(ctx, db, nil, placeList); err != nil {
|
||||
return err
|
||||
}
|
||||
dao.Commit(db)
|
||||
dao.Commit(db, txDB)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user