add submenu
This commit is contained in:
parent
9b0f111f5b
commit
84f18b6141
5 changed files with 91 additions and 19 deletions
|
|
@ -186,6 +186,8 @@ func (d *Data) GetRecipe(countryID, filename string) *models.Recipe {
|
|||
|
||||
d.taoLogger.Log.Debug("invoke GetRecipe", zap.String("countryID", countryID), zap.String("filename", filename))
|
||||
|
||||
// TODO: concat submenu into recipe
|
||||
|
||||
if countryID == "" {
|
||||
return d.currentRecipe["tha"]
|
||||
}
|
||||
|
|
@ -273,6 +275,12 @@ func (d *Data) GetRecipe01ByProductCode(filename, countryID, productCode string)
|
|||
for _, v := range d.currentRecipe[countryID].Recipe01 {
|
||||
if v.ProductCode == productCode {
|
||||
return v, nil
|
||||
} else if len(v.SubMenu) > 0 {
|
||||
for _, subMenu := range v.SubMenu {
|
||||
if subMenu.ProductCode == productCode {
|
||||
return subMenu, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Println("No result in current recipe", countryID)
|
||||
|
|
@ -282,6 +290,13 @@ func (d *Data) GetRecipe01ByProductCode(filename, countryID, productCode string)
|
|||
if v.ProductCode == productCode {
|
||||
d.taoLogger.Log.Debug("GetRecipe01ByProductCode.getSuccess", zap.Any("fromFile", filename), zap.Any("whereSource", d.recipeMap))
|
||||
return v, nil
|
||||
} else if len(v.SubMenu) > 0 {
|
||||
for _, subMenu := range v.SubMenu {
|
||||
if subMenu.ProductCode == productCode {
|
||||
d.taoLogger.Log.Debug("GetRecipe01ByProductCode.getSuccess", zap.Any("fromFile", filename), zap.Any("whereSource", d.recipeMap))
|
||||
return subMenu, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
d.taoLogger.Log.Debug("GetRecipe01ByProductCode.getFail", zap.Any("fromFile", filename), zap.Any("whereSource", d.recipeMap))
|
||||
|
|
@ -312,6 +327,12 @@ func (d *Data) GetRecipe01ByProductCode(filename, countryID, productCode string)
|
|||
for _, v := range d.currentRecipe[countryID].Recipe01 {
|
||||
if v.ProductCode == productCode {
|
||||
return v, fmt.Errorf("[DEFAULT]-ERR")
|
||||
} else if len(v.SubMenu) > 0 {
|
||||
for _, subMenu := range v.SubMenu {
|
||||
if subMenu.ProductCode == productCode {
|
||||
return subMenu, fmt.Errorf("[DEFAULT]-ERR")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -343,6 +364,13 @@ func (d *Data) GetRecipe01ByProductCode(filename, countryID, productCode string)
|
|||
if v.ProductCode == productCode {
|
||||
// d.taoLogger.Log.Debug("GetRecipe01ByProductCode", zap.Any("productCode", productCode), zap.Any("result", v))
|
||||
return v, nil
|
||||
} else if len(v.SubMenu) > 0 {
|
||||
for _, subMenu := range v.SubMenu {
|
||||
if subMenu.ProductCode == productCode {
|
||||
// d.taoLogger.Log.Debug("GetRecipe01ByProductCode", zap.Any("productCode", productCode), zap.Any("result", subMenu))
|
||||
return subMenu, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -374,6 +402,26 @@ func (d *Data) SetValuesToRecipe(base_recipe []models.Recipe01, recipe models.Re
|
|||
|
||||
not_found = false
|
||||
break
|
||||
} else if len(v.SubMenu) > 0 {
|
||||
for _, sub := range v.SubMenu {
|
||||
if sub.ProductCode == recipe.ProductCode {
|
||||
// Log.Debug("SetValuesToRecipe.SubMenu", zap.Any("old", sub), zap.Any("new", recipe))
|
||||
// sub = recipe
|
||||
// TODO: change only changed values
|
||||
|
||||
// transform to map
|
||||
base_recipe01_Map := sub.ToMap()
|
||||
|
||||
recipe01_Map := recipe.ToMap()
|
||||
|
||||
for k, v := range recipe01_Map {
|
||||
if !reflect.DeepEqual(base_recipe01_Map[k], v) {
|
||||
d.taoLogger.Log.Debug("SetValuesToRecipe.SubMenu", zap.Any("key", k), zap.Any("old", base_recipe01_Map[k]), zap.Any("new", v))
|
||||
base_recipe01_Map[k] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
not_found = true
|
||||
global_idx = index
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue