From 433b980c52b4fd960d1d8fb79c335cd303e0baca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 21 Apr 2021 17:30:28 +0800 Subject: [PATCH] aa --- business/jxstore/cms/job.go | 93 ++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 42 deletions(-) diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 7da751b00..2a50082bc 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -117,12 +117,51 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e if job.Count <= 0 { return errCode, fmt.Errorf("任务数量不能为0!") } + fmt.Println("1111111111111111111111111111111111", ctx.GetToken()) job.SurplusCount = job.Count if job.UserID == "" { return errCode, fmt.Errorf("任务发起人不能为空!") } - if ctx.GetUserID() != job.UserID { - return errCode, fmt.Errorf("用户信息已过期,请重新登录!") + var ( + userBill *model.UserBill + ) + + if ctx.GetToken() != jxcontext.RsmDefultToken { + if ctx.GetUserID() != job.UserID { + return errCode, fmt.Errorf("用户信息已过期,请重新登录!") + } + + //验证微信绑定 + if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { + return "", err + } + //发布任务要扣除任务总额的保证金,不够扣就要进行充值 + userBill, _ = dao.GetUserBill(db, job.UserID, "") + if userBill == nil { + return errCode, fmt.Errorf("未查询到该用户的账单!") + } + job.TotalPrice = job.Count * job.AvgPrice + if userBill.AccountBalance < job.TotalPrice { + return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足!") + } + jobs, _ := dao.GetJobsNoPage(db, []string{job.UserID}, nil, nil, nil, DayTimeBegin, DayTimeEnd, 0, false) + if len(jobs) > 0 { + members, err := dao.GetUserMember(db, job.UserID, model.MemberTypeNormal) + if err != nil { + return errCode, err + } + if len(members) <= 0 { + return errCode, fmt.Errorf("非会员一天只能发布一起任务,请确认!") + } + } + if job.Address != "" && (job.Lng == 0 || job.Lat == 0) { + lng, lat, _ := api.AutonaviAPI.GetCoordinateFromAddressByPage(job.Address, job.JobCityCode) + if lng == 0 || lat == 0 { + return errCode, fmt.Errorf("请填写完整且正确的门店地址!") + } + job.Lng = jxutils.StandardCoordinate2Int(lng) + job.Lat = jxutils.StandardCoordinate2Int(lat) + } } if job.FinishedAt.Sub(time.Now()) <= 0 { return errCode, fmt.Errorf("任务截止日期必须大于今天!") @@ -133,39 +172,7 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e if job.JobCityCode != model.JobCountrywideCode { _, _, job.JobCityCode, err = getAddressInfoFromCoord(db, job.JobLng, job.JobLat) } - //验证微信绑定 - if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { - return "", err - } - fmt.Println("1111111111111111111111111111111111", ctx.GetLoginType()) - //发布任务要扣除任务总额的保证金,不够扣就要进行充值 - userBill, err := dao.GetUserBill(db, job.UserID, "") - if userBill == nil { - return errCode, fmt.Errorf("未查询到该用户的账单!") - } - job.TotalPrice = job.Count * job.AvgPrice - if userBill.AccountBalance < job.TotalPrice { - return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足!") - } - jobs, err := dao.GetJobsNoPage(db, []string{job.UserID}, nil, nil, nil, DayTimeBegin, DayTimeEnd, 0, false) - if len(jobs) > 0 { - members, err := dao.GetUserMember(db, job.UserID, model.MemberTypeNormal) - if err != nil { - return errCode, err - } - if len(members) <= 0 { - return errCode, fmt.Errorf("非会员一天只能发布一起任务,请确认!") - } - } - if job.Address != "" && (job.Lng == 0 || job.Lat == 0) { - lng, lat, _ := api.AutonaviAPI.GetCoordinateFromAddressByPage(job.Address, job.JobCityCode) - if lng == 0 || lat == 0 { - return errCode, fmt.Errorf("请填写完整且正确的门店地址!") - } - job.Lng = jxutils.StandardCoordinate2Int(lng) - job.Lat = jxutils.StandardCoordinate2Int(lat) - } dao.WrapAddIDCULDEntity(job, ctx.GetUserName()) txDB, _ := dao.Begin(db) defer func() { @@ -193,20 +200,22 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e return } //发布任务要扣除任务总额的保证金,不够扣就要进行充值 - if err == nil && job.Status != model.JobStatusFailed { + if err == nil && job.Status != model.JobStatusFailed && ctx.GetToken() != jxcontext.RsmDefultToken { if err = financial.AddExpendUpdateAccount(txDB, userBill, model.BillTypeDeposit, job.TotalPrice, job.ID); err != nil { dao.Rollback(db, txDB) return } } dao.Commit(db, txDB) - content := new(strings.Builder) - content.WriteString("您的任务:") - content.WriteString(job.Title) - content.WriteString("。已发布成功,已扣除您的余额:") - content.WriteString(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(job.TotalPrice)))) - content.WriteString("元") - event.SendSysMessageSimple(content.String(), job.UserID) + if ctx.GetToken() != jxcontext.RsmDefultToken { + content := new(strings.Builder) + content.WriteString("您的任务:") + content.WriteString(job.Title) + content.WriteString("。已发布成功,已扣除您的余额:") + content.WriteString(utils.Float64ToStr(jxutils.IntPrice2Standard(int64(job.TotalPrice)))) + content.WriteString("元") + event.SendSysMessageSimple(content.String(), job.UserID) + } return errCode, err }