diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index e8b579d1c..275d4bec9 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -727,7 +727,7 @@ func CheckHasSensitiveWord(word string) (bool, error) { } func IsSensitiveWordInList(str string) (bool, string) { - wordList, err := dao.GetSensitiveWordList() + wordList, err := dao.GetSensitiveWordList(-1) if err == nil { for _, value := range wordList { keyWord := value.Word diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 99f1b3f47..aa8ad151e 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -455,16 +455,18 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool sql += ")" } } - /*前台传入的最大值和最小值设置*/ - if params["highestPrice"] != "" && params["highestPrice"] != nil { - //highestPrice := utils.Interface2Float64WithDefault(params["highestPrice"], 0) * 100 - sql += " AND t4.unit_price <= ? " - sqlParams = append(sqlParams, params["highestPrice"]) - } - if params["minimumPrice"] != "" && params["minimumPrice"] != nil { - //minimumPrice := utils.Interface2Float64WithDefault(params["minimumPrice"], 0) * 100 - sql += " AND t4.unit_price >= ? " - sqlParams = append(sqlParams, params["minimumPrice"]) + if isFocus { + /*前台传入的最大值和最小值设置*/ + if params["highestPrice"] != "" && params["highestPrice"] != nil { + //highestPrice := utils.Interface2Float64WithDefault(params["highestPrice"], 0) * 100 + sql += " AND t4.unit_price <= ? " + sqlParams = append(sqlParams, params["highestPrice"]) + } + if params["minimumPrice"] != "" && params["minimumPrice"] != nil { + //minimumPrice := utils.Interface2Float64WithDefault(params["minimumPrice"], 0) * 100 + sql += " AND t4.unit_price >= ? " + sqlParams = append(sqlParams, params["minimumPrice"]) + } } return sql, sqlParams, err } diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index f96f22a8b..e4c15ba95 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "strconv" + "strings" "sync" "time" @@ -1284,26 +1285,85 @@ func SetMTPSStatus(ctx *jxcontext.Context, storeId, courierStatus int) { /*获取美团门店信息*/ //&& CourierStatus != 0 if storeId != 0 { + var ShopName string StoreLists, _ := dao.GetStoreList(nil, []int{storeId}, nil, nil, nil, "") - StoreInfoList, _ := api.MtpsAPI.GetStoreStatus(StoreLists[0].Name) - globals.SugarLogger.Debug("美团查询结果", StoreInfoList) - if StoreInfoList == nil || StoreInfoList.DataList == nil { + ShopName = StoreLists[0].Name + StoreInfoList := new(mtpsapi.GetStoreStatusResultAll) + StoreInfoList, _ = api.MtpsAPI.GetStoreStatus(ShopName) + /*通过名字找到了,正常情况*/ + if StoreInfoList != nil && StoreInfoList.DataList != nil { + goto ifExist + } else { + /*如果通过名字找不到,那就先通过ID去找名字*/ + ShopInfo, _ := api.MtpsAPI.ShopQuery(strconv.Itoa(storeId)) + if ShopInfo != nil { + ShopName = ShopInfo.ShopName + StoreInfoList, _ = api.MtpsAPI.GetStoreStatus(ShopName) + if StoreInfoList != nil && StoreInfoList.DataList != nil { + goto ifExist + } else { + /*如果通过API返回的名字也找不到*/ + goto ifNotExist + } + } else { + /*如果通过ID找不到,那就直接去判断名字*/ + goto NameProblem + } + NameProblem: + { + var NotOpen int + if strings.Contains(StoreLists[0].Name, "不做") || strings.Contains(StoreLists[0].Name, "不想做") { + NotOpen = strings.Index(StoreLists[0].Name, "-") + if strings.Index(StoreLists[0].Name, "-") > 0 { + StoreLists[0].Name = StoreLists[0].Name[:NotOpen-1] + } + NotOpen = strings.Index(StoreLists[0].Name, "不") + if strings.Index(StoreLists[0].Name, "不") > 0 { + StoreLists[0].Name = StoreLists[0].Name[:NotOpen-1] + } + NotOpen = strings.Index(StoreLists[0].Name, "(") + if strings.Index(StoreLists[0].Name, "(") > 0 { + StoreLists[0].Name = StoreLists[0].Name[:NotOpen-1] + } + NotOpen = strings.Index(StoreLists[0].Name, "(") + if strings.Index(StoreLists[0].Name, "(") > 0 { + StoreLists[0].Name = StoreLists[0].Name[:NotOpen-1] + } + NotOpen = strings.Index(StoreLists[0].Name, " ") + if NotOpen > 0 { + StoreLists[0].Name = StoreLists[0].Name[:NotOpen-1] + } + ShopName = StoreLists[0].Name + StoreInfoList, _ = api.MtpsAPI.GetStoreStatus(ShopName) + if StoreInfoList != nil && StoreInfoList.DataList != nil { + goto ifExist + } else { + goto ifNotExist + } + } + } + } + ifNotExist: + { sl := make(map[string]interface{}) sl["vendorStatus"] = 0 globals.SugarLogger.Debug("因为没找到被修改配送状态的VendorStoreID是", StoreLists[0].Name, storeId) UpdateStoreCourierMap(ctx, nil, storeId, model.VendorIDMTPS, sl, ctx.GetUserName()) return } - if StoreInfoList.DataList[0].OuterPoiID != "" { - //若存在且名字不为空,就是找到了 - if StoreInfoList.DataList[0].OpenType != courierStatus { - sl := make(map[string]interface{}) - sl["vendorStoreID"] = StoreInfoList.DataList[0].OuterPoiID - sl["status"] = StoreInfoList.DataList[0].OpenType - sl["vendorStatus"] = StoreInfoList.DataList[0].OpenType - globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", - StoreInfoList.DataList[0].OuterPoiID, StoreInfoList.DataList[0].PoiName, strconv.Itoa(StoreInfoList.DataList[0].OpenType), strconv.Itoa(StoreLists[0].Status)) - UpdateStoreCourierMap(ctx, nil, storeId, model.VendorIDMTPS, sl, ctx.GetUserName()) + ifExist: + { + if StoreInfoList.DataList[0].OuterPoiID != "" { + //若存在且名字不为空,就是找到了 + if StoreInfoList.DataList[0].OpenType != courierStatus { + sl := make(map[string]interface{}) + sl["vendorStoreID"] = StoreInfoList.DataList[0].OuterPoiID + sl["status"] = StoreInfoList.DataList[0].OpenType + sl["vendorStatus"] = StoreInfoList.DataList[0].OpenType + globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", + StoreInfoList.DataList[0].OuterPoiID, StoreInfoList.DataList[0].PoiName, strconv.Itoa(StoreInfoList.DataList[0].OpenType), strconv.Itoa(StoreLists[0].Status)) + UpdateStoreCourierMap(ctx, nil, storeId, model.VendorIDMTPS, sl, ctx.GetUserName()) + } } } } else { diff --git a/business/model/dao/sensitive_words.go b/business/model/dao/sensitive_words.go index 47055aa75..e7e5f893f 100644 --- a/business/model/dao/sensitive_words.go +++ b/business/model/dao/sensitive_words.go @@ -1,29 +1,43 @@ package dao import ( - "errors" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" "time" ) -func GetSensitiveWordList() (wordList []*model.SensitiveWord, err error) { - sql := `SELECT * FROM sensitive_word WHERE deleted_at = ?` - err = GetRows(nil, &wordList, sql, utils.DefaultTimeValue) +/*VendorID = -2 的时候是通用,-1 查询所有,保留之前的1,看后面会不会有扩展*/ +func GetSensitiveWordList(vendorID int) (wordList []*model.SensitiveWord, err error) { + if vendorID == 0 { + vendorID = -2 + } + if vendorID == -1 { + sql := `SELECT * FROM sensitive_word WHERE deleted_at = ?` + err = GetRows(nil, &wordList, sql, utils.DefaultTimeValue) + } else { + sql := `SELECT * FROM sensitive_word WHERE deleted_at = ? AND vendor_id = ?` + err = GetRows(nil, &wordList, sql, utils.DefaultTimeValue, vendorID) + } return wordList, err } func InsertSensitiveWord(word string, vendorID int, userName string) error { + if vendorID == 0 { + vendorID = -2 + } sensitiveWord := &model.SensitiveWord{Word: word, VendorID: vendorID} WrapAddIDCULDEntity(sensitiveWord, userName) return CreateEntity(nil, sensitiveWord) } -func DeleteSensitiveWord(wordList *model.SensitiveWord, id int, userName string) (word *model.SensitiveWord, err error) { - if id == 0 { - return nil, errors.New("入参错误,找不到相应ID") +func DeleteSensitiveWord(wordList *model.SensitiveWord, id int, userName string, vendorID int) (word *model.SensitiveWord, err error) { + if vendorID == 0 { + vendorID = -2 } - wordList.ID = id + if id != 0 { + wordList.ID = id + } + wordList.VendorID = id wordList.DeletedAt = time.Now() wordList.LastOperator = userName if _, err := UpdateEntity(nil, wordList, "deleted_at", "id", "last_operator", "vendor_id"); err != nil { @@ -32,11 +46,14 @@ func DeleteSensitiveWord(wordList *model.SensitiveWord, id int, userName string) return wordList, nil } -func UpdateSensitiveWord(wordList *model.SensitiveWord, id int, userName string, params ...string) (word *model.SensitiveWord, err error) { - if id == 0 { - return nil, errors.New("入参错误,找不到相应ID") +func UpdateSensitiveWord(wordList *model.SensitiveWord, vendorID int, id int, userName string, params ...string) (word *model.SensitiveWord, err error) { + if vendorID == 0 { + vendorID = -2 } - wordList.ID = id + if id != 0 { + wordList.ID = id + } + wordList.VendorID = vendorID wordList.UpdatedAt = time.Now() wordList.LastOperator = userName if _, err := UpdateEntity(nil, wordList, params...); err != nil { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 8a4a5adca..d25127852 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -338,12 +338,13 @@ func (c *SkuController) SyncSku() { // @Title 获取敏感词列表 // @Description 获取敏感词列表 // @Param token header string true "认证token" +// @Param vendorID query int false "VendorID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetSensitiveWordList [get] func (c *SkuController) GetSensitiveWordList() { c.callGetSensitiveWordList(func(params *tSkuGetSensitiveWordListParams) (retVal interface{}, errCode string, err error) { - sensitiveWordList, err := dao.GetSensitiveWordList() + sensitiveWordList, err := dao.GetSensitiveWordList(params.VendorID) var wordList []string for _, value := range sensitiveWordList { wordList = append(wordList, value.Word) @@ -373,7 +374,7 @@ func (c *SkuController) InsertSensitiveWord() { // @Param token header string true "认证token" // @Param word query string true "关键词名字" // @Param vendorID query int false "VendorID" -// @Param ID query int true "关键词ID" +// @Param ID query int false "关键词ID" // @Param Status query int false "状态,0为修改默认,1为删除" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult @@ -388,9 +389,9 @@ func (c *SkuController) UpdateSensitiveWord() { }, } if params.Status == 1 { - retVal, err = dao.DeleteSensitiveWord(word, params.ID, params.Ctx.GetUserName()) + retVal, err = dao.DeleteSensitiveWord(word, params.ID, params.Ctx.GetUserName(), params.VendorID) } else { - retVal, err = dao.UpdateSensitiveWord(word, params.ID, params.Ctx.GetUserName(), "id", "word", "vendor_id", "last_operator") + retVal, err = dao.UpdateSensitiveWord(word, params.VendorID, params.ID, params.Ctx.GetUserName(), "id", "word", "vendor_id", "last_operator") } return retVal, "", err })