上传工会任务进度问题
This commit is contained in:
parent
eeadeb379b
commit
01efe7f3f4
@ -108,3 +108,7 @@ func (this *buriedModel) updateUserBurieds(uid string, data *pb.DBBuried) (err e
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (this *buriedModel) userlock(uid string) (result *redis.RedisMutex, err error) {
|
||||
return this.model.Redis.NewRedisMutex(fmt.Sprintf("ulockburied:%s", uid))
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ func (this *Buried) ActiveCondition(uid string, condiIds ...int32) (err error) {
|
||||
return
|
||||
}
|
||||
this.Debug("激活埋点!", log.Field{Key: "condiIds", Value: condiIds})
|
||||
lock, _ := this.modelBuried.userlock(uid)
|
||||
lock, _ := model.userlock(uid)
|
||||
err = lock.Lock()
|
||||
if err != nil {
|
||||
this.Error("埋点分布式锁失效 err!", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
|
||||
@ -228,7 +228,7 @@ func (this *Buried) FinishConditionAndCheck(uid string, finishcondiIds []int32,
|
||||
}
|
||||
|
||||
this.Debug("完成埋点!", log.Field{Key: "finishcondiIds", Value: finishcondiIds})
|
||||
lock, _ := this.modelBuried.userlock(uid)
|
||||
lock, _ := model.userlock(uid)
|
||||
err = lock.Lock()
|
||||
if err != nil {
|
||||
this.Error("埋点分布式锁失效 err!", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
|
||||
|
@ -1,6 +1,7 @@
|
||||
package sociaty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/pb"
|
||||
@ -13,61 +14,74 @@ func (this *apiComp) TaskListCheck(session comm.IUserSession, req *pb.SociatyTas
|
||||
}
|
||||
|
||||
func (this *apiComp) TaskList(session comm.IUserSession, req *pb.SociatyTaskListReq) (errdata *pb.ErrorData) {
|
||||
uid := session.GetUserId()
|
||||
var (
|
||||
sociatyTask *pb.DBSociatyTask
|
||||
condis []*pb.ConIProgress
|
||||
condisMap map[int32]*pb.ConIProgress = make(map[int32]*pb.ConIProgress)
|
||||
comid *pb.ConIProgress
|
||||
ok bool
|
||||
tasklist []int32
|
||||
err error
|
||||
)
|
||||
|
||||
sociaty := this.module.modelSociaty.getUserSociaty(uid)
|
||||
sociaty := this.module.modelSociaty.getUserSociaty(session.GetUserId())
|
||||
if sociaty == nil {
|
||||
|
||||
this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: uid})
|
||||
this.module.Error("当前玩家所在的公会未找到", log.Field{Key: "uid", Value: session.GetUserId()})
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_SociatyNoFound,
|
||||
Title: pb.ErrorCode_SociatyNoFound.ToString(),
|
||||
Message: fmt.Sprintf("no found Sociaty!"),
|
||||
}
|
||||
return
|
||||
}
|
||||
rsp := &pb.SociatyTaskListResp{}
|
||||
|
||||
sociatyTask := this.module.modelSociatyTask.getUserTask(uid, sociaty.Id)
|
||||
if sociatyTask.SociatyId != "" {
|
||||
var taskList []*pb.SociatyTask
|
||||
|
||||
for _, v := range sociatyTask.TaskList {
|
||||
// if _, ok := this.module.modelSociaty.validTask(uid, v.TaskId); ok {
|
||||
// status = 1 //完成
|
||||
// }
|
||||
|
||||
conds, err := this.module.ModuleBuried.CheckCondition(uid, v.TaskId)
|
||||
if err != nil {
|
||||
this.module.Error(err.Error())
|
||||
continue
|
||||
}
|
||||
|
||||
for _, cond := range conds {
|
||||
v.Cond = cond
|
||||
if cond.State == pb.BuriedItemFinishState_buried_finish {
|
||||
v.Status = 1
|
||||
}
|
||||
}
|
||||
|
||||
taskList = append(taskList, &pb.SociatyTask{
|
||||
TaskId: v.TaskId,
|
||||
Status: v.Status,
|
||||
Received: v.Received,
|
||||
Cond: v.Cond,
|
||||
})
|
||||
if sociatyTask = this.module.modelSociatyTask.getUserTask(session.GetUserId(), sociaty.Id); sociatyTask.SociatyId == "" {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
Message: "no found task!",
|
||||
}
|
||||
rsp.List = taskList
|
||||
return
|
||||
}
|
||||
for _, v := range sociatyTask.TaskList {
|
||||
if v.Status == 0 {
|
||||
tasklist = append(tasklist, v.TaskId)
|
||||
}
|
||||
}
|
||||
condis, err = this.module.ModuleBuried.CheckCondition(session.GetUserId(), tasklist...)
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ExternalModule,
|
||||
Title: pb.ErrorCode_ExternalModule.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
for _, v := range condis {
|
||||
condisMap[v.Conid] = v
|
||||
}
|
||||
|
||||
if err := this.module.modelSociatyTask.updateTaskList(sociaty.Id, uid, taskList); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
Message: err.Error(),
|
||||
for _, v := range sociatyTask.TaskList {
|
||||
if comid, ok = condisMap[v.TaskId]; ok {
|
||||
v.Cond = comid
|
||||
if comid.State == pb.BuriedItemFinishState_buried_finish {
|
||||
v.Status = 1
|
||||
}
|
||||
|
||||
this.module.Error("更新公会任务列表失败",
|
||||
log.Field{Key: "uid", Value: uid},
|
||||
log.Field{Key: "sociatyId", Value: sociaty.Id},
|
||||
log.Field{Key: "err", Value: err.Error()})
|
||||
}
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), SociatySubTypeTasklist, rsp)
|
||||
if err := this.module.modelSociatyTask.updateTaskList(sociaty.Id, session.GetUserId(), sociatyTask.TaskList); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
|
||||
this.module.Error("更新公会任务列表失败",
|
||||
log.Field{Key: "uid", Value: session.GetUserId()},
|
||||
log.Field{Key: "sociatyId", Value: sociaty.Id},
|
||||
log.Field{Key: "err", Value: err.Error()})
|
||||
}
|
||||
session.SendMsg(string(this.module.GetType()), SociatySubTypeTasklist, &pb.SociatyTaskListResp{List: sociatyTask.TaskList})
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user