diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 50ac7fb3a..0fac8a6f5 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -643,6 +643,26 @@ func CreateAct(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, vendorOr return hint, err } +func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, vendorOrgCode string, actStoreSku []*ActStoreSkuParam) (err error) { + setActDefault(act) + db := dao.GetDB() + txDB, _ := dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db, txDB) + panic(r) + } + }() + dao.WrapAddIDCULDEntity(act, ctx.GetUserName()) + err = dao.CreateEntityTx(txDB, act) + if err != nil { + dao.Rollback(db, txDB) + return err + } + + return err +} + func vendorActInfo2Model(ctx *jxcontext.Context, db *dao.DaoDB, act2 *model.Act2, actStoreSku []*model.ActStoreSku2) (actStoreSkuList []*model.ActStoreSku, actStoreSkuMapList []*model.ActStoreSkuMap, err error) { vendorStoreIDMap := make(map[string]int) vendorSkuIDMap := make(map[string]int) diff --git a/controllers/act.go b/controllers/act.go index a48c447bd..4fcd185fe 100644 --- a/controllers/act.go +++ b/controllers/act.go @@ -122,6 +122,47 @@ func (c *ActController) CreateAct() { }) } +// @Title 美团按顺序创建活动 +// @Description 美团按顺序创建活动 +// @Param token header string true "认证token" +// @Param name formData string true "活动名,必须唯一(所以名子上最好带上日期)" +// @Param type formData int true "活动类型,3:直降,4:秒杀(美团当前不支持秒杀),5:折扣(京西)" +// @Param vendorIDs formData string true "厂商ID,当前只支持,京东:0,京西(用于记录活动信息):99" +// @Param vendorOrgCode formData string false "厂商内组织代码" +// @Param beginAt formData string true "开始日期" +// @Param endAt formData string true "结束日期" +// @Param pricePercentage formData int true "活动价格比例" +// @Param advertising formData string true "广告语" +// @Param actStoreSkuList formData string true "活动门店商品信息" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /CreateActForMtByOrder [post] +func (c *ActController) CreateActForMtByOrder() { + c.callCreateActForMtByOrder(func(params *tActCreateActForMtByOrderParams) (retVal interface{}, errCode string, err error) { + var ( + vendorIDs []int + actStoreSkuList []*act.ActStoreSkuParam + ) + timeList, err := jxutils.BatchStr2Time(params.BeginAt, params.EndAt) + if err == nil { + if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDs, params.ActStoreSkuList, &actStoreSkuList); err == nil { + actObj := &model.Act{ + Name: params.Name, + Type: params.Type, + CreateType: model.ActCreateTypeAPI, + PricePercentage: params.PricePercentage, + BeginAt: timeList[0], + EndAt: timeList[1], + Advertising: params.Advertising, + } + //retVal, err = act.CreateAct(params.Ctx, actObj, vendorIDs, params.VendorOrgCode, nil, actStoreSkuList, params.IsAsync) + err = act.CreateActForMtByOrder(params.Ctx, actObj, vendorIDs, params.VendorOrgCode, actStoreSkuList) + } + } + return retVal, "", err + }) +} + // @Title 查询活动 // @Description 查询活动 // @Param token header string true "认证token" diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index bdac6a73f..810a60ecc 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -25,6 +25,15 @@ func init() { Filters: nil, Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"], + web.ControllerComments{ + Method: "CreateActForMtByOrder", + Router: `/CreateActForMtByOrder`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"], web.ControllerComments{ Method: "CreateActByExcel",