test g withdraw inspect
This commit is contained in:
parent
0e4ca45b80
commit
1d2af2ee69
36
job.go
36
job.go
@ -1435,6 +1435,7 @@ func jobGWithdraw(j Job) {
|
|||||||
p JobPayloadGWithdraw
|
p JobPayloadGWithdraw
|
||||||
reqTab map[int64]int64
|
reqTab map[int64]int64
|
||||||
doneTab map[int64]int64
|
doneTab map[int64]int64
|
||||||
|
inspectTab map[string]bool
|
||||||
)
|
)
|
||||||
|
|
||||||
log.Printf("jobGWithdraw[%d] : Starting.\n", j.ID64)
|
log.Printf("jobGWithdraw[%d] : Starting.\n", j.ID64)
|
||||||
@ -1455,6 +1456,8 @@ func jobGWithdraw(j Job) {
|
|||||||
doneTab[cacheObjSubType[`item_part`]] = 1 << 14
|
doneTab[cacheObjSubType[`item_part`]] = 1 << 14
|
||||||
doneTab[cacheObjSubType[`item_other`]] = 1 << 15
|
doneTab[cacheObjSubType[`item_other`]] = 1 << 15
|
||||||
|
|
||||||
|
inspectTab = make(map[string]bool)
|
||||||
|
|
||||||
err := setJobStart(j.ID64)
|
err := setJobStart(j.ID64)
|
||||||
logOnError(err, "jobGWithdraw : setJobStart")
|
logOnError(err, "jobGWithdraw : setJobStart")
|
||||||
|
|
||||||
@ -1462,12 +1465,13 @@ func jobGWithdraw(j Job) {
|
|||||||
logOnError(err, "jobGWithdraw : Unmarshal payload")
|
logOnError(err, "jobGWithdraw : Unmarshal payload")
|
||||||
|
|
||||||
if p.Status == 0 {
|
if p.Status == 0 {
|
||||||
for _, item := range p.Items {
|
for k, item := range p.Items {
|
||||||
id := getSilentObjItemID(item.Code, ``)
|
id := getSilentObjItemID(item.Code, ``)
|
||||||
if id != 0 {
|
if id != 0 {
|
||||||
obj, _ := getObjItem(id)
|
obj, _ := getObjItem(id)
|
||||||
p.Status = p.Status | reqTab[obj.ItemTypeID]
|
p.Status = p.Status | reqTab[obj.ItemTypeID]
|
||||||
} else if ok, _ := regexp.MatchString(`^u[0-9]+$`, item.Code); ok {
|
} else if ok, _ := regexp.MatchString(`^u[0-9]+$`, item.Code); ok {
|
||||||
|
p.Items[k].Inspect = true
|
||||||
p.Status = p.Status | reqTab[cacheObjSubType[`item_other`]]
|
p.Status = p.Status | reqTab[cacheObjSubType[`item_other`]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1497,6 +1501,7 @@ func jobGWithdraw(j Job) {
|
|||||||
logOnError(err, "jobGWithdraw : getObjSubType("+strconv.FormatInt(j.Trigger, 10)+")")
|
logOnError(err, "jobGWithdraw : getObjSubType("+strconv.FormatInt(j.Trigger, 10)+")")
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if id == cacheObjSubType[`msg_gstock_any_ack`] {
|
if id == cacheObjSubType[`msg_gstock_any_ack`] {
|
||||||
|
var isUnique bool
|
||||||
m, err := getObjMsg(j.Trigger)
|
m, err := getObjMsg(j.Trigger)
|
||||||
logOnError(err, "jobGWithdraw : getObjMsg")
|
logOnError(err, "jobGWithdraw : getObjMsg")
|
||||||
rule, err := getMsgParsingRule(m)
|
rule, err := getMsgParsingRule(m)
|
||||||
@ -1509,8 +1514,12 @@ func jobGWithdraw(j Job) {
|
|||||||
if req.Code == disp.Code {
|
if req.Code == disp.Code {
|
||||||
p.Items[k].Available = disp.Quantity
|
p.Items[k].Available = disp.Quantity
|
||||||
p.Items[k].Name = disp.Name
|
p.Items[k].Name = disp.Name
|
||||||
|
p.Items[k].Inspect = false
|
||||||
log.Printf("jobGWithdraw[%d] : Found %s - %s : %d.\n", j.ID64, disp.Code, disp.Name, disp.Quantity)
|
log.Printf("jobGWithdraw[%d] : Found %s - %s : %d.\n", j.ID64, disp.Code, disp.Name, disp.Quantity)
|
||||||
}
|
}
|
||||||
|
if ok, _ := regexp.MatchString(`^u[0-9]+$`, disp.Code); ok {
|
||||||
|
isUnique = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1520,6 +1529,31 @@ func jobGWithdraw(j Job) {
|
|||||||
}
|
}
|
||||||
b2, _ := json.Marshal(p2)
|
b2, _ := json.Marshal(p2)
|
||||||
createJob(cacheObjSubType[`job_msg_del`], objJobPriority, j.UserID64, 0, time.Now().UTC(), b2)
|
createJob(cacheObjSubType[`job_msg_del`], objJobPriority, j.UserID64, 0, time.Now().UTC(), b2)
|
||||||
|
|
||||||
|
for k, req := range p.Items {
|
||||||
|
if req.Inspect {
|
||||||
|
p2 = JobPayloadMsgDel{
|
||||||
|
MsgTypeID64: cacheObjSubType[`msg_g_inspect_req`],
|
||||||
|
Delay: (10 * time.Second),
|
||||||
|
ObjMsgID64: 0,
|
||||||
|
}
|
||||||
|
b2, _ = json.Marshal(p2)
|
||||||
|
createJobCallback(cacheObjSubType[`job_msg_del`], j.UserID64, p2.MsgTypeID64, b2, time.Minute)
|
||||||
|
|
||||||
|
p.Inspecting = req.Code
|
||||||
|
b, _ := json.Marshal(p)
|
||||||
|
|
||||||
|
id, err := createJob(cacheObjSubType[`job_gwithdraw`], objJobPriority, j.UserID64, 0, time.Unix(maxUnixTimestamp, 0).UTC(), b)
|
||||||
|
logOnError(err, "jobGWithdraw : createJob")
|
||||||
|
setJobCallback(id, int64(bot.Me.ID), cacheObjSubType[`msg_invalid_action`])
|
||||||
|
setJobCallback(id, int64(bot.Me.ID), cacheObjSubType[`msg_inspect_ack`])
|
||||||
|
clientSendCWMsg(j.UserID64, fmt.Sprintf("/g_inspect_%s", p.Inspecting))
|
||||||
|
err = setJobDone(j.ID64)
|
||||||
|
logOnError(err, "jobGWithdraw : setJobDone")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if id == cacheObjSubType[`msg_msg_job_gwithdraw_ack`] {
|
if id == cacheObjSubType[`msg_msg_job_gwithdraw_ack`] {
|
||||||
|
Loading…
Reference in New Issue
Block a user