From 9ba5208600cff8182502002f32d6ced666b3aa46 Mon Sep 17 00:00:00 2001 From: shoopea Date: Sun, 26 Jan 2020 16:52:50 +0800 Subject: [PATCH] test --- item.go | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/item.go b/item.go index c6a0169..c354a41 100644 --- a/item.go +++ b/item.go @@ -173,7 +173,6 @@ func getSilentObjItemID(code string, name string) int64 { } func setObjItemWeight(objID64 int64, weight int64) error { - log.Printf("setObjItemWeight[%d] : %d\n", objID64, weight) stmt, err := db.Prepare(`UPDATE obj_item oi SET oi.weight = ? WHERE oi.obj_id = ?;`) logOnError(err, "setObjItemWeight : prepare update obj_item") if err != nil { @@ -190,7 +189,6 @@ func setObjItemWeight(objID64 int64, weight int64) error { } func setObjItemCraft(objID64 int64, cmd string, mana int64) error { - log.Printf("setObjItemCraft[%d] : %s - %d\n", objID64, cmd, mana) stmt, err := db.Prepare(`INSERT INTO obj_craft (obj_id, cmd, mana) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE cmd = ?, mana = ?;`) @@ -209,6 +207,40 @@ func setObjItemCraft(objID64 int64, cmd string, mana int64) error { return nil } +func emptyObjItemCraftItem(objID64 int64) error { + stmt, err := db.Prepare(`DELETE FROM obj_craft_item WHERE obj_id = ?;`) + logOnError(err, "emptyObjItemCraftItem : prepare delete obj_craft_item") + if err != nil { + return err + } + defer stmt.Close() + + _, err = stmt.Exec(objID64) + logOnError(err, fmt.Sprintf("setObjItemWeight : delete obj_craft_item(%d)", objID64)) + if err != nil { + return err + } + return nil +} + +func addObjItemCraftItem(objID64 int64, itemID64 int64, quantity int64) error { + stmt, err := db.Prepare(`INSERT INTO obj_craft_item (obj_id, item_id, mana) + VALUES (?, ?, ?);`) + + logOnError(err, "addObjItemCraftItem : prepare update obj_craft_item") + if err != nil { + return err + } + defer stmt.Close() + + _, err = stmt.Exec(objID64, obj_craft_item, quantity) + logOnError(err, fmt.Sprintf("addObjItemCraftItem : update obj_craft_item(%d)", objID64)) + if err != nil { + return err + } + return nil +} + func loadObjItem() error { var ( obj_id int64 @@ -317,6 +349,12 @@ func loadObjItem() error { if objItems[i].Craft != nil { log.Printf("loadObjItem : %s : loading craft for %s.\n", objItems[i].Code, objItems[i].Names[0]) setObjItemCraft(objItems[i].ObjID64, objItems[i].Craft.Command, objItems[i].Craft.Mana) + for k, o := range objItems[i].Craft.Items { + objItems[i].Craft.Items[k].ItemID64 = getObjItemID(o.Code, ``) + } + for _, o := range objItems[i].Craft.Items { + addObjItemCraftItem(objItems[i].ObjID64, o.ItemID64, o.Quantity) + } } }