diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 2275246f5..0fbadda48 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -169,7 +169,8 @@ type tUpdateStoresSkus struct { } type tStoreSkusSecKill struct { - StoreID int + StoreID int `orm:"column(store_id)"` + VendorID int `orm:"column(vendor_id)"` SecKillCount int SecKillCount2 int } @@ -3347,7 +3348,7 @@ func getCellForSpecTag(rowNum int, row []string, storeSkuMap map[int][]*partner. storeSkuMap[storeID] = append(storeSkuMap[storeID], skuMap) } -func SendSeckillSkusCountMsg(ctx *jxcontext.Context, vendorIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) { +func SendSeckillSkusCountMsg(ctx *jxcontext.Context, vendorIDs []int, isAsync, isContinueWhenError bool) (hint interface{}, err error) { // 1. 如果爆品低于8个,报警 type1 // 2. 爆品价格低于1元商品小于5个,报警 type2 var ( @@ -3391,7 +3392,7 @@ func SendSeckillSkusCountMsg(ctx *jxcontext.Context, vendorIDs []int, isAsync, i } } case model.VendorIDJD: - var storeSecKill *tStoreSkusSecKill + var storeSecKill = &tStoreSkusSecKill{} sql := ` SELECT t1.store_id,count(*) sec_kill_count, count(t1.price < 100 or NULL) sec_kill_count2 FROM( @@ -3411,7 +3412,6 @@ func SendSeckillSkusCountMsg(ctx *jxcontext.Context, vendorIDs []int, isAsync, i GROUP BY 1 ` sqlParams := []interface{}{ - model.ActSkuSecKill, store.ID, vendorID, model.ActSkuSecKill, model.StoreSkuBindStatusNormal, utils.DefaultTimeValue, @@ -3421,15 +3421,21 @@ func SendSeckillSkusCountMsg(ctx *jxcontext.Context, vendorIDs []int, isAsync, i type2 = storeSecKill.SecKillCount2 } if type1 < type1Count || type2 < type2Count { + var storeSecKill2 = &tStoreSkusSecKill{} + storeSecKill2.StoreID = store.ID + storeSecKill2.VendorID = vendorID + storeSecKill2.SecKillCount = type1 + storeSecKill2.SecKillCount2 = type2 + retVal = []*tStoreSkusSecKill{storeSecKill2} err = sendDDMsgBySpecSkusCount(db, type1, type2, storeDetial, vendorID) } - fmt.Println(type1, type2, vendorID) } return retVal, err }, storeList) tasksch.HandleTask(task, nil, true).Run() if !isAsync { - _, err = task.GetResult(0) + result, err := task.GetResult(0) + return result, err } else { hint = task.GetID() } diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index 0a7d7c542..313280bf8 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -649,3 +649,22 @@ func (c *StoreSkuController) UpdateStoreSkusSpecTag() { return retVal, "", err }) } + +// @Title 手动爆品预警 +// @Description 手动爆品预警 +// @Param token header string true "认证token" +// @Param vendorIDs formData string true "厂商ID列表" +// @Param isAsync formData bool true "是否异步,缺省是同步" +// @Param isContinueWhenError formData bool true "单个同步失败是否继续,缺省false" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /SendSeckillSkusCountMsg [post] +func (c *StoreSkuController) SendSeckillSkusCountMsg() { + var vendorIDList []int + c.callSendSeckillSkusCountMsg(func(params *tStoreSkuSendSeckillSkusCountMsgParams) (retVal interface{}, errCode string, err error) { + if jxutils.Strings2Objs(params.VendorIDs, &vendorIDList); err == nil { + retVal, err = cms.SendSeckillSkusCountMsg(params.Ctx, vendorIDList, params.IsAsync, params.IsContinueWhenError) + } + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 05688d600..348f548af 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1845,6 +1845,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], + beego.ControllerComments{ + Method: "SendSeckillSkusCountMsg", + Router: `/SendSeckillSkusCountMsg`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], beego.ControllerComments{ Method: "SyncJdStoreProducts",