Compare commits
No commits in common. "cd3e4eb14e58e75054569570660af454a69881a2" and "bfbb7b69a01e9e56ac075a3f5abfc5e33394c80b" have entirely different histories.
cd3e4eb14e
...
bfbb7b69a0
@ -25,6 +25,7 @@ func (this *apiComp) TaskAward(session comm.IUserSession, req *pb.SmithyTaskAwar
|
|||||||
if err := this.module.modelTask.updateTaskRecord(session.GetUserId(), req.TaskId); err != nil {
|
if err := this.module.modelTask.updateTaskRecord(session.GetUserId(), req.TaskId); err != nil {
|
||||||
var errCustom = new(comm.CustomError)
|
var errCustom = new(comm.CustomError)
|
||||||
if errors.As(err, &errCustom) {
|
if errors.As(err, &errCustom) {
|
||||||
|
//code = errCustom.Code
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: errCustom.Code,
|
Code: errCustom.Code,
|
||||||
Title: errCustom.Code.ToString(),
|
Title: errCustom.Code.ToString(),
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package smithy
|
package smithy
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
)
|
)
|
||||||
@ -23,19 +22,10 @@ func (this *apiComp) Refuse(session comm.IUserSession, req *pb.SmithyRefuseReq)
|
|||||||
|
|
||||||
cus, err := this.module.modelTrade.updateCustomer(session.GetUserId(), req.CustomerId)
|
cus, err := this.module.modelTrade.updateCustomer(session.GetUserId(), req.CustomerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
var errCustom = new(comm.CustomError)
|
errdata = &pb.ErrorData{
|
||||||
if errors.As(err, &errCustom) {
|
Code: pb.ErrorCode_DBError,
|
||||||
errdata = &pb.ErrorData{
|
Title: pb.ErrorCode_DBError.ToString(),
|
||||||
Code: errCustom.Code,
|
Message: err.Error(),
|
||||||
Title: errCustom.Code.ToString(),
|
|
||||||
Message: err.Error(),
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
errdata = &pb.ErrorData{
|
|
||||||
Code: pb.ErrorCode_DBError,
|
|
||||||
Title: pb.ErrorCode_DBError.ToString(),
|
|
||||||
Message: err.Error(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -86,35 +86,29 @@ func (this *modelTask) TCondFinishNotify(uid string, conds []*pb.ConIProgress) {
|
|||||||
tt.Received = 1
|
tt.Received = 1
|
||||||
}
|
}
|
||||||
dt.Tasks = append(dt.Tasks, tt)
|
dt.Tasks = append(dt.Tasks, tt)
|
||||||
}
|
update["tasks"] = dt.Tasks
|
||||||
update["tasks"] = dt.Tasks
|
if err := this.Change(uid, update); err != nil {
|
||||||
if err := this.Change(uid, update); err != nil {
|
this.module.Error(err.Error())
|
||||||
this.module.Error(err.Error())
|
return
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var newTask []*pb.TujianTask
|
for _, t := range dt.Tasks {
|
||||||
existTaskMap := make(map[int32]*pb.TujianTask)
|
for k, v := range condMap {
|
||||||
for _, task := range dt.Tasks {
|
// update
|
||||||
existTaskMap[task.TaskId] = task
|
if t.TaskId == k {
|
||||||
}
|
t.Cond = v
|
||||||
|
} else {
|
||||||
for k, v := range condMap {
|
//add
|
||||||
if task, ok := existTaskMap[k]; ok {
|
dt.Tasks = append(dt.Tasks, &pb.TujianTask{
|
||||||
task.Cond = v
|
TaskId: k,
|
||||||
if v.State == pb.BuriedItemFinishState_buried_finish {
|
Cond: v,
|
||||||
task.Received = 1
|
})
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
newTask = append(newTask, &pb.TujianTask{
|
|
||||||
TaskId: k,
|
|
||||||
Cond: v,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dt.Tasks = append(dt.Tasks, newTask...)
|
|
||||||
update["tasks"] = dt.Tasks
|
update["tasks"] = dt.Tasks
|
||||||
|
|
||||||
if len(update) > 0 {
|
if len(update) > 0 {
|
||||||
@ -126,30 +120,44 @@ func (this *modelTask) TCondFinishNotify(uid string, conds []*pb.ConIProgress) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *modelTask) updateTaskRecord(uid string, taskId int32) error {
|
func (this *modelTask) updateTaskRecord(uid string, taskId int32) error {
|
||||||
|
// if !this.checkTaskStatus(uid, taskId) {
|
||||||
|
// return comm.NewCustomError(pb.ErrorCode_SmithyTaskNoFinished)
|
||||||
|
// }
|
||||||
dt, err := this.getTaskRecord(uid)
|
dt, err := this.getTaskRecord(uid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == mongo.ErrNoDocuments {
|
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 comm.NewCustomError(pb.ErrorCode_SmithyTaskNoFinished)
|
return comm.NewCustomError(pb.ErrorCode_SmithyTaskNoFinished)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// taskMap := make(map[int32]int32)
|
||||||
update := make(map[string]interface{})
|
update := make(map[string]interface{})
|
||||||
|
|
||||||
if dt.Uid != "" {
|
if dt.Uid != "" {
|
||||||
for _, v := range dt.Tasks {
|
for _, v := range dt.Tasks {
|
||||||
if v.TaskId == taskId {
|
if v.TaskId == taskId {
|
||||||
if v.Received == 1 {
|
if v.Cond != nil && v.Cond.State == pb.BuriedItemFinishState_buried_finish {
|
||||||
v.Received = 2
|
v.Received = 2
|
||||||
} else if v.Received == 2 {
|
|
||||||
return comm.NewCustomError(pb.ErrorCode_SmithyTaskReceived)
|
|
||||||
} else {
|
|
||||||
return comm.NewCustomError(pb.ErrorCode_SmithyTaskNoFinished)
|
|
||||||
}
|
}
|
||||||
break
|
} else {
|
||||||
|
return comm.NewCustomError(pb.ErrorCode_SmithyTaskNoFinished)
|
||||||
}
|
}
|
||||||
|
// 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
|
update["tasks"] = dt.Tasks
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,3 +183,15 @@ func (this *modelTask) checkReddot17107(uid string) bool {
|
|||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 检查任务状态
|
||||||
|
// func (this *modelTask) checkTaskStatus(uid string, taskId int32) bool {
|
||||||
|
// conf, _ := this.module.configure.GetSmithyTask(taskId)
|
||||||
|
// if conf == nil {
|
||||||
|
// return false
|
||||||
|
// }
|
||||||
|
// // if ec := this.module.ModuleRtask.CheckCondi(uid, conf.TypeId); ec != nil {
|
||||||
|
// // return false
|
||||||
|
// // }
|
||||||
|
// return true
|
||||||
|
// }
|
||||||
|
@ -136,7 +136,7 @@ func (s *modelTrade) updateCustomer(uid string, customerId int32) (*pb.DBCustome
|
|||||||
//上限
|
//上限
|
||||||
limit := s.module.modelStove.StoveSkillAddCustomer(uid)
|
limit := s.module.modelStove.StoveSkillAddCustomer(uid)
|
||||||
left := limit - cus.Total
|
left := limit - cus.Total
|
||||||
if left < 0 {
|
if left <= 0 {
|
||||||
return nil, comm.NewCustomError(pb.ErrorCode_SmithyCustomerLimit)
|
return nil, comm.NewCustomError(pb.ErrorCode_SmithyCustomerLimit)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@ import (
|
|||||||
"go_dreamfactory/utils"
|
"go_dreamfactory/utils"
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/mongo"
|
"go.mongodb.org/mongo-driver/mongo"
|
||||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type ModelWorldtask struct {
|
type ModelWorldtask struct {
|
||||||
@ -26,9 +25,6 @@ func (this *ModelWorldtask) Init(service core.IService, module core.IModule, com
|
|||||||
this.TableName = comm.TableWorldtask
|
this.TableName = comm.TableWorldtask
|
||||||
this.moduleWorldtask = module.(*Worldtask)
|
this.moduleWorldtask = module.(*Worldtask)
|
||||||
this.service = service
|
this.service = service
|
||||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
|
||||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
|
||||||
})
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user