revamp g withdraw
This commit is contained in:
parent
eb788b29f7
commit
8c3cae85f6
14
bot.go
14
bot.go
@ -931,12 +931,24 @@ func botGWithdraw(m *tb.Message) {
|
|||||||
|
|
||||||
r := regexp.MustCompile("^(( )*[a-z0-9]+ [0-9]+( )*)+$")
|
r := regexp.MustCompile("^(( )*[a-z0-9]+ [0-9]+( )*)+$")
|
||||||
if r.MatchString(m.Payload) {
|
if r.MatchString(m.Payload) {
|
||||||
|
rx := regexp.MustCompile("[a-z0-9]+ [0-9]+")
|
||||||
p := JobPayloadGWithdraw{
|
p := JobPayloadGWithdraw{
|
||||||
MsgID64: int64(m.ID),
|
MsgID64: int64(m.ID),
|
||||||
ChatID64: m.Chat.ID,
|
ChatID64: m.Chat.ID,
|
||||||
Request: m.Payload,
|
|
||||||
Status: 0,
|
Status: 0,
|
||||||
}
|
}
|
||||||
|
items := []ChatWarsItems{}
|
||||||
|
for _, l := range rx.FindAllStringSubmatch(m.Payload, -1) {
|
||||||
|
i := l[1]
|
||||||
|
q, _ := strconv.ParseInt(l[2], 10, 64)
|
||||||
|
item := ChatWarsItems{
|
||||||
|
Item: i,
|
||||||
|
Quantity: q,
|
||||||
|
}
|
||||||
|
items = append(items, item)
|
||||||
|
}
|
||||||
|
p.Request = items
|
||||||
|
|
||||||
b, _ := json.Marshal(p)
|
b, _ := json.Marshal(p)
|
||||||
t := time.Now().UTC()
|
t := time.Now().UTC()
|
||||||
_, err := createJob(cacheObjSubType[`job_gwithdraw`], objJobPriority, int64(m.Chat.ID), 0, t, b)
|
_, err := createJob(cacheObjSubType[`job_gwithdraw`], objJobPriority, int64(m.Chat.ID), 0, t, b)
|
||||||
|
3
def.go
3
def.go
@ -361,7 +361,8 @@ type JobPayloadGStock struct {
|
|||||||
type JobPayloadGWithdraw struct {
|
type JobPayloadGWithdraw struct {
|
||||||
MsgID64 int64 `json:"msg_id"`
|
MsgID64 int64 `json:"msg_id"`
|
||||||
ChatID64 int64 `json:"chat_id"`
|
ChatID64 int64 `json:"chat_id"`
|
||||||
Request string `json:"request"`
|
Request []ChatWarsItems `json:"request"`
|
||||||
|
Available []ChatWarsItems `json:"available"`
|
||||||
Status int64 `json:"status"`
|
Status int64 `json:"status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
53
job.go
53
job.go
@ -1272,19 +1272,46 @@ func jobGWithdraw(j Job) {
|
|||||||
err = json.Unmarshal(j.Payload, &p)
|
err = json.Unmarshal(j.Payload, &p)
|
||||||
logOnError(err, "jobGWithdraw : Unmarshal payload")
|
logOnError(err, "jobGWithdraw : Unmarshal payload")
|
||||||
|
|
||||||
r := regexp.MustCompile("[a-z0-9]+ [0-9]+")
|
if p.Status == 0 {
|
||||||
for _, l := range r.FindAllStringSubmatch(p.Request, -1) {
|
for i, item := range p.Request {
|
||||||
fmt.Printf("jobGWithdraw : %v\n", l)
|
id := getSilentObjItemID(item.Item, ``)
|
||||||
/*
|
if id != 0 {
|
||||||
i := getObjItemID(``, l[1])
|
obj, _ := getObjItem(id)
|
||||||
q, _ := strconv.ParseInt(l[2], 10, 64)
|
switch obj.ItemTypeID {
|
||||||
*/
|
case codeObjSubType[`item_res`]:
|
||||||
/*
|
p.Status = p.Status | 1
|
||||||
ChatWarsItems
|
case codeObjSubType[`item_alch`]:
|
||||||
b, _ := json.Marshal(p)
|
p.Status = p.Status | 2
|
||||||
t := time.Now().UTC()
|
case codeObjSubType[`item_misc`]:
|
||||||
_, err := createJob(cacheObjSubType[`job_gdeposit`], objJobPriority, int64(m.Chat.ID), 0, t, b)
|
p.Status = p.Status | 4
|
||||||
*/
|
case codeObjSubType[`item_recipe`]:
|
||||||
|
p.Status = p.Status | 8
|
||||||
|
case codeObjSubType[`item_part`]:
|
||||||
|
p.Status = p.Status | 16
|
||||||
|
case codeObjSubType[`item_other`]:
|
||||||
|
p.Status = p.Status | 32
|
||||||
|
default:
|
||||||
|
log.Printf("jobGWithdraw : No handler for item type #%d.\n", obj.ItemTypeID)
|
||||||
|
}
|
||||||
|
} else if ok, _ := regexp.MatchString(`^u[0-9]+`, code); ok {
|
||||||
|
p.Status = p.Status | 32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if p.Status < 64 {
|
||||||
|
if (p.Status & 1) == 1 {
|
||||||
|
log.Printf("jobGWithdraw : Requesting res.\n")
|
||||||
|
} else if (p.Status & 2) == 2 {
|
||||||
|
log.Printf("jobGWithdraw : Requesting alch.\n")
|
||||||
|
} else if (p.Status & 4) == 4 {
|
||||||
|
log.Printf("jobGWithdraw : Requesting misc.\n")
|
||||||
|
} else if (p.Status & 8) == 8 {
|
||||||
|
log.Printf("jobGWithdraw : Requesting recipe.\n")
|
||||||
|
} else if (p.Status & 16) == 16 {
|
||||||
|
log.Printf("jobGWithdraw : Requesting part.\n")
|
||||||
|
} else if (p.Status & 32) == 32 {
|
||||||
|
log.Printf("jobGWithdraw : Requesting other.\n")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = setJobDone(j.ID64)
|
err = setJobDone(j.ID64)
|
||||||
|
Loading…
Reference in New Issue
Block a user