- dao.FormalizeStoreStatus
This commit is contained in:
@@ -178,3 +178,49 @@ func GetStoreCourierList(db *DaoDB, storeID, status int) (courierStoreList []*mo
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 此函数在检测到一个门店的所有平台状态一样,且不为StoreStatusOpened时,
|
||||
// 将平台门店状态全部改为StoreStatusOpened,则把京西门店状态改为之前那个统一的平台门店状态
|
||||
func FormalizeStoreStatus(db *DaoDB, storeID, storeStatus int) (err error) {
|
||||
sql := `
|
||||
SELECT DISTINCT t1.status
|
||||
FROM store_map t1
|
||||
WHERE t1.deleted_at = ? AND t1.store_id = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
storeID,
|
||||
}
|
||||
var statusList []int
|
||||
Begin(db)
|
||||
defer func() {
|
||||
if err != nil {
|
||||
Rollback(db)
|
||||
}
|
||||
}()
|
||||
if err = GetRows(db, &statusList, sql, sqlParams...); err == nil {
|
||||
if len(statusList) == 1 {
|
||||
if statusList[0] != model.StoreStatusOpened {
|
||||
if storeStatus != statusList[0] {
|
||||
store := &model.Store{}
|
||||
store.ID = storeID
|
||||
if _, err = UpdateEntityLogically(db, store, map[string]interface{}{
|
||||
model.FieldStatus: statusList[0],
|
||||
}, model.AdminName, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if _, err = UpdateEntityLogically(db, &model.StoreMap{}, map[string]interface{}{
|
||||
model.FieldStatus: model.StoreStatusOpened,
|
||||
}, model.AdminName, map[string]interface{}{
|
||||
model.FieldStoreID: storeID,
|
||||
model.FieldDeletedAt: utils.DefaultTimeValue,
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
Commit(db)
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -120,8 +120,8 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, level int) (cats []*St
|
||||
LEFT JOIN sku_category t4p ON t4.parent_id = t4p.id
|
||||
LEFT JOIN store_sku_category_map t5p ON t4p.id = t5p.category_id AND t5.store_id = t5p.store_id AND t5p.deleted_at = ?
|
||||
WHERE t5.store_id = ? AND t4.level = ? AND t5.%s_sync_status <> 0 AND t5.deleted_at = ?
|
||||
`, fieldPrefix, fieldPrefix, fieldPrefix, utils.DefaultTimeValue)
|
||||
if err = GetRows(db, &cats, sql, utils.DefaultTimeValue, utils.DefaultTimeValue, storeID, level); err != nil {
|
||||
`, fieldPrefix, fieldPrefix, fieldPrefix)
|
||||
if err = GetRows(db, &cats, sql, utils.DefaultTimeValue, utils.DefaultTimeValue, storeID, level, utils.DefaultTimeValue); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return cats, err
|
||||
|
||||
@@ -23,3 +23,10 @@ func TestGetStoreCourierList(t *testing.T) {
|
||||
}
|
||||
globals.SugarLogger.Debug(utils.Format4Output(storeCourierList, false))
|
||||
}
|
||||
|
||||
func TestFormalizeStoreStatus(t *testing.T) {
|
||||
err := FormalizeStoreStatus(GetDB(), 100119, model.StoreStatusOpened)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user