From b6837feb2cb3d37209514b9122375c1917f1489a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 20 Oct 2020 17:30:39 +0800 Subject: [PATCH] mtmember --- business/jxstore/cms/job.go | 17 +++++++++++++++++ business/model/dao/dao_job.go | 12 ++++++++++++ business/model/job.go | 1 + controllers/job_controller.go | 14 ++++++++++++++ globals/api/api.go | 5 ++++- routers/commentsRouter_controllers.go | 9 +++++++++ 6 files changed, 57 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 363dad0f4..ac4cb2f4d 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -2,6 +2,7 @@ package cms import ( "fmt" + "strings" "time" "git.rosy.net.cn/jx-callback/globals" @@ -481,6 +482,7 @@ func ImprotMtMembers(ctx *jxcontext.Context, mtMembers []*model.MtMember) (err e db = dao.GetDB() ) for _, v := range mtMembers { + v.ShortLink = v.URL[strings.LastIndex(v.URL, "/")+1 : len(v.URL)] dao.WrapAddIDCULDEntity(v, ctx.GetUserName()) } if err = dao.CreateMultiEntities(db, mtMembers); err == nil { @@ -494,3 +496,18 @@ func ImprotMtMembers(ctx *jxcontext.Context, mtMembers []*model.MtMember) (err e } return err } + +func RechargeMtMembers(ctx *jxcontext.Context, phone int) (err error) { + var ( + db = dao.GetDB() + ) + mtMember, err := dao.GetMtMember(db) + if err != nil { + return err + } + if err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink); err == nil { + mtMember.DeletedAt = time.Now() + dao.UpdateEntity(db, mtMember, "DeletedAt") + } + return err +} diff --git a/business/model/dao/dao_job.go b/business/model/dao/dao_job.go index 549f592f0..9f818744c 100644 --- a/business/model/dao/dao_job.go +++ b/business/model/dao/dao_job.go @@ -246,3 +246,15 @@ func GetJobOrders(db *DaoDB, jobID int, jobOrderID int64, userID string, statusC } return pagedInfo, err } + +func GetMtMember(db *DaoDB) (mtMember *model.MtMember, err error) { + sql := ` + SELECT * + FROM mt_member + WHERE deleted_at = ? + LIMIT 1 + ` + sqlParams := []interface{}{utils.DefaultTimeValue} + err = GetRow(db, &mtMember, sql, sqlParams) + return mtMember, err +} diff --git a/business/model/job.go b/business/model/job.go index 0dcc76d11..35c0cd4f6 100644 --- a/business/model/job.go +++ b/business/model/job.go @@ -113,6 +113,7 @@ type MtMember struct { URL string `orm:"column(url)" json:"url"` //网址 ExpiryDate time.Time `json:"expiryDate"` //有效期 + ShortLink string `json:"shortLink"` //密钥? } func (v *MtMember) TableUnique() [][]string { diff --git a/controllers/job_controller.go b/controllers/job_controller.go index d28070f02..11fad487a 100644 --- a/controllers/job_controller.go +++ b/controllers/job_controller.go @@ -203,3 +203,17 @@ func (c *JobController) ImprotMtMembers() { return retVal, "", err }) } + +// @Title 充值美团会员 +// @Description 充值美团会员 +// @Param token header string true "认证token" +// @Param phone formData int true "电话" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /RechargeMtMembers [post] +func (c *JobController) RechargeMtMembers() { + c.callRechargeMtMembers(func(params *tJobRechargeMtMembersParams) (retVal interface{}, errCode string, err error) { + err = cms.RechargeMtMembers(params.Ctx, params.Phone) + return retVal, "", err + }) +} diff --git a/globals/api/api.go b/globals/api/api.go index a1efdd0c9..f614d86c8 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -3,6 +3,8 @@ package api import ( "time" + "git.rosy.net.cn/baseapi/platformapi/mtmemberapi" + "git.rosy.net.cn/baseapi/platformapi/unipushapi" "git.rosy.net.cn/baseapi/platformapi/jdshopapi" @@ -68,6 +70,7 @@ var ( WeixinMiniAppID3 string WxpayAPI *wxpayapi.API // 微信支付API TLpayAPI *tonglianpayapi.API //通联收银宝api + MtMemberAPI *mtmemberapi.API YinBaoAPI *yinbaoapi.API //银豹平台api @@ -253,6 +256,6 @@ func Init() { YilianyunAPI2 = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID2", ""), beego.AppConfig.DefaultString("yilianyunClientSecret2", "")) ZhongwuAPI = zhongwuapi.New(beego.AppConfig.DefaultInt("zhongwuAppID", 0), beego.AppConfig.DefaultString("zhongwuAppSecret", "")) PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", "")) - + MtMemberAPI = mtmemberapi.New() SMSClient = aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/") } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 0f048505d..4faa38ae9 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -250,6 +250,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"], + beego.ControllerComments{ + Method: "RechargeMtMembers", + Router: `/RechargeMtMembers`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JobController"], beego.ControllerComments{ Method: "SubmitJob",