From 666749a69951fb9437c670986f94d6a097f6842d Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Wed, 10 May 2023 10:31:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BE=E9=89=B4=E9=A2=86?= =?UTF-8?q?=E5=8F=96=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/views/smithy.go | 17 +++++++++++++++-- modules/smithy/model_task.go | 34 ++++++++++++++++++++-------------- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/cmd/v2/ui/views/smithy.go b/cmd/v2/ui/views/smithy.go index 1bf65876a..6619c744b 100644 --- a/cmd/v2/ui/views/smithy.go +++ b/cmd/v2/ui/views/smithy.go @@ -7,8 +7,10 @@ import ( "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" "github.com/sirupsen/logrus" + "github.com/spf13/cast" ) type SmithyView struct { @@ -70,12 +72,17 @@ func (s *SmithyView) CreateView(t *model.TestCase) fyne.CanvasObject { } //领任务 - receiveTask := func() { + taskId := widget.NewEntry() + form := widget.NewForm( + widget.NewFormItem("任务ID", taskId), + ) + + form.OnSubmit = func() { if err := service.GetPttService().SendToClient( t.MainType, "taskaward", &pb.SmithyTaskAwardReq{ - TaskId: 10001, + TaskId: cast.ToInt32(taskId.Text), }, ); err != nil { logrus.Error(err) @@ -83,6 +90,12 @@ func (s *SmithyView) CreateView(t *model.TestCase) fyne.CanvasObject { } } + receiveTask := func() { + paiWin := dialog.NewCustom("领任务", "关闭", form, s.w) + paiWin.Resize(fyne.NewSize(600, 300)) + paiWin.Show() + } + customerBtn := widget.NewButton("顾客", loadCustomer) refuseBtn := widget.NewButton("拒绝", refuse) jiaoyiBtn := widget.NewButton("交易", jiaoyi) diff --git a/modules/smithy/model_task.go b/modules/smithy/model_task.go index b583acfab..4f9b785a5 100644 --- a/modules/smithy/model_task.go +++ b/modules/smithy/model_task.go @@ -47,24 +47,30 @@ func (this *modelTask) updateTaskRecord(uid string, taskId int32) error { return err } + taskMap := make(map[int32]int32) + update := make(map[string]interface{}) + if dt.Uid != "" { for _, v := range dt.Tasks { - if v.TaskId == taskId { - // 已存在 重复领取 - if v.Received == 2 { - return comm.NewCustomError(pb.ErrorCode_SmithyTaskReceived) - } else { - update := map[string]interface{}{ - "received": 2, - } - if err := this.Change(uid, update); err != nil { - return err - } - } - } + taskMap[v.TaskId] = v.Received } - } + + if t, ok := taskMap[taskId]; ok { + if t == 2 { + return comm.NewCustomError(pb.ErrorCode_SmithyTaskReceived) + } else { + update["received"] = 2 + } + } else { + dt.Tasks = append(dt.Tasks, &pb.TujianTask{TaskId: taskId, Received: 2}) + update["tasks"] = dt.Tasks + } + + if err := this.Change(uid, update); err != nil { + return err + } + return nil }