diff --git a/def.go b/def.go index 6c12ff5..0df690f 100644 --- a/def.go +++ b/def.go @@ -346,6 +346,14 @@ type JobPayloadBackupImport struct { ChatID64 int64 `json:"chat_id"` } +type JobPayloadVaultStatus struct { + UserListID64 []int64 `json:"user_list"` + ItemTypeListID64 []int64 `json:"item_type_list"` + DepositChatID64 int64 `json:"deposit_chat_id"` + MsgID64 int64 `json:"msg_id"` + ChatID64 int64 `json:"chat_id"` +} + const ( userID64ChtWrsBot = 408101137 @@ -494,6 +502,7 @@ const ( objSubTypeJobGDeposit = 612 objSubTypeJobGDepositForward = 613 objSubTypeJobSaveRes = 614 + objSubTypeJobVaultStatus = 615 objSubTypeItemResource = 701 objSubTypeItemAlch = 702 objSubTypeItemMisc = 703 diff --git a/job.go b/job.go index 304ea49..36dd317 100644 --- a/job.go +++ b/job.go @@ -892,6 +892,20 @@ func jobGDeposit(j Job) { return } +func jobVaultStatus(j Job) { + var p JobPayloadVaultStatus + err := setJobStart(j.ID64) + logOnError(err, "jobVaultStatus : setJobStart") + + err = json.Unmarshal(j.Payload, &p) + logOnError(err, "jobVaultStatus : Unmarshal payload") + + err = setJobDone(j.ID64) + logOnError(err, "jobVaultStatus : setJobDone") + + return +} + func jobGWithdraw(j Job) { var p JobPayloadGWithdraw err := setJobStart(j.ID64) diff --git a/sql.go b/sql.go index 943fcf1..6e760c4 100644 --- a/sql.go +++ b/sql.go @@ -563,6 +563,7 @@ func initDB() { ,(` + strconv.Itoa(objSubTypeJobGDeposit) + `, "job_gdeposit", "GDeposit job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobGDepositForward) + `, "job_gdeposit_fwd", "GDeposit Forward job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobSaveRes) + `, "job_save_res", "Save resources job", ` + strconv.Itoa(objTypeJob) + `) + ,(` + strconv.Itoa(objSubTypeJobVaultStatus) + `, "job_vault_status", "Vault Status job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeItemResource) + `, "item_res", "Time", ` + strconv.Itoa(objTypeItem) + `) ,(` + strconv.Itoa(objSubTypeItemAlch) + `, "item_alch", "Time", ` + strconv.Itoa(objTypeItem) + `) ,(` + strconv.Itoa(objSubTypeItemMisc) + `, "item_misc", "Time", ` + strconv.Itoa(objTypeItem) + `) @@ -584,6 +585,7 @@ func initDB() { _, err = db.Exec(`CREATE VIEW obj_msg_vault_v AS SELECT om.sender_user_id user_id ,om.chat_id + ,o.obj_sub_type_id msg_type_id ,omi.item_id ,omi.quantity FROM obj o diff --git a/workers.go b/workers.go index f8d4751..721dbd7 100644 --- a/workers.go +++ b/workers.go @@ -553,6 +553,8 @@ func JobWorker(id int, jobs <-chan Job) { jobGDepositForward(j) case objSubTypeJobGWithdraw: jobGWithdraw(j) + case objSubTypeJobVaultStatus: + jobVaultStatus(j) default: log.Printf("jobWorker["+strconv.Itoa(id)+"] : No handler for job type #%d.\n", j.JobTypeID) }