From ee061fa6e09dc7f59c81f9d639d880e43450bbe2 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 2 Mar 2023 16:41:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E9=89=B4=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/views/smithy.go | 31 ++++++++++++++++++++++++++++++- modules/smithy/api_tasklist.go | 16 ++++++++++------ modules/smithy/model_task.go | 15 ++++++++------- modules/worldtask/api_check.go | 2 -- 4 files changed, 48 insertions(+), 16 deletions(-) delete mode 100644 modules/worldtask/api_check.go diff --git a/cmd/v2/ui/views/smithy.go b/cmd/v2/ui/views/smithy.go index 7e989925e..1bf65876a 100644 --- a/cmd/v2/ui/views/smithy.go +++ b/cmd/v2/ui/views/smithy.go @@ -56,11 +56,40 @@ func (s *SmithyView) CreateView(t *model.TestCase) fyne.CanvasObject { return } } + + //图鉴任务 + tujiantask := func() { + if err := service.GetPttService().SendToClient( + t.MainType, + "tasklist", + &pb.SmithyTasklistReq{}, + ); err != nil { + logrus.Error(err) + return + } + } + + //领任务 + receiveTask := func() { + if err := service.GetPttService().SendToClient( + t.MainType, + "taskaward", + &pb.SmithyTaskAwardReq{ + TaskId: 10001, + }, + ); err != nil { + logrus.Error(err) + return + } + } + customerBtn := widget.NewButton("顾客", loadCustomer) refuseBtn := widget.NewButton("拒绝", refuse) jiaoyiBtn := widget.NewButton("交易", jiaoyi) + tujianBtn := widget.NewButton("图鉴任务", tujiantask) + receiveBtn := widget.NewButton("任务奖励", receiveTask) - btns := container.NewHBox(customerBtn, jiaoyiBtn, refuseBtn) + btns := container.NewHBox(customerBtn, jiaoyiBtn, refuseBtn, tujianBtn, receiveBtn) c := container.NewBorder(btns, nil, nil, nil) return c } diff --git a/modules/smithy/api_tasklist.go b/modules/smithy/api_tasklist.go index 3a87b3301..edb8e01ee 100644 --- a/modules/smithy/api_tasklist.go +++ b/modules/smithy/api_tasklist.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + "go.mongodb.org/mongo-driver/mongo" "google.golang.org/protobuf/proto" ) @@ -15,15 +16,18 @@ func (a *apiComp) Tasklist(session comm.IUserSession, req *pb.SmithyTasklistReq) if code = a.TasklistCheck(session, req); code != pb.ErrorCode_Success { return } + resp := &pb.SmithyTasklistResp{} dt, err := a.module.modelTask.getTaskRecord(session.GetUserId()) if err != nil { - code = pb.ErrorCode_DBError - return - } - - resp := &pb.SmithyTasklistResp{ - Tasks: dt, + if err == mongo.ErrNoDocuments { + resp.Tasks = []*pb.TujianTask{} + } else { + code = pb.ErrorCode_DBError + return + } + } else { + resp.Tasks = dt.Tasks } session.SendMsg(string(a.module.GetType()), "tasklist", resp) diff --git a/modules/smithy/model_task.go b/modules/smithy/model_task.go index b07a0f502..b583acfab 100644 --- a/modules/smithy/model_task.go +++ b/modules/smithy/model_task.go @@ -34,19 +34,20 @@ func (this *modelTask) getTaskRecord(uid string) (*pb.DBTujianTask, error) { } func (this *modelTask) updateTaskRecord(uid string, taskId int32) error { - if !this.CheckTaskStatus(uid, taskId) { + if !this.checkTaskStatus(uid, taskId) { return comm.NewCustomError(pb.ErrorCode_SmithyTaskNoFinished) } dt, err := this.getTaskRecord(uid) if err != nil { + if err == mongo.ErrNoDocuments { + tj := &pb.DBTujianTask{Uid: uid} + tj.Tasks = append(tj.Tasks, &pb.TujianTask{TaskId: taskId, Received: 2}) + return this.Add(uid, tj) + } return err } - if dt.Uid == "" { - tj := &pb.DBTujianTask{} - tj.Tasks = append(tj.Tasks, &pb.TujianTask{TaskId: taskId, Received: 2}) - return this.Add(uid, tj) - } else { + if dt.Uid != "" { for _, v := range dt.Tasks { if v.TaskId == taskId { // 已存在 重复领取 @@ -68,7 +69,7 @@ func (this *modelTask) updateTaskRecord(uid string, taskId int32) error { } // 检查任务状态 -func (this *modelTask) CheckTaskStatus(uid string, taskId int32) bool { +func (this *modelTask) checkTaskStatus(uid string, taskId int32) bool { conf := this.module.configure.GetSmithyTask(taskId) if conf == nil { return false diff --git a/modules/worldtask/api_check.go b/modules/worldtask/api_check.go deleted file mode 100644 index 5b158b61e..000000000 --- a/modules/worldtask/api_check.go +++ /dev/null @@ -1,2 +0,0 @@ -package worldtask -