group task typing message
parent
ecc1f94942
commit
033a05a9b5
|
@ -10,14 +10,14 @@ import (
|
||||||
var lockedGroupTaskSteps []*structs.LockedGroupTaskSteps
|
var lockedGroupTaskSteps []*structs.LockedGroupTaskSteps
|
||||||
var lgtMu sync.RWMutex
|
var lgtMu sync.RWMutex
|
||||||
|
|
||||||
func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) (IsAlreadyInList bool) {
|
func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) {
|
||||||
lgtMu.Lock()
|
lgtMu.Lock()
|
||||||
|
|
||||||
var isAlreadyInList = false
|
var isAlreadyInList = false
|
||||||
|
|
||||||
for i, step := range lockedGroupTaskSteps {
|
for i, step := range lockedGroupTaskSteps {
|
||||||
if step.GroupTaskId == lockedGroupTaskStep.GroupTaskId &&
|
if step.GroupTaskId == lockedGroupTaskStep.GroupTaskId &&
|
||||||
step.LockedByUserId == lockedGroupTaskStep.LockedByUserId {
|
lockedGroupTaskSteps[i].LockedByUserId == lockedGroupTaskStep.LockedByUserId {
|
||||||
isAlreadyInList = true
|
isAlreadyInList = true
|
||||||
lockedGroupTaskSteps[i].LockedAt = time.Now()
|
lockedGroupTaskSteps[i].LockedAt = time.Now()
|
||||||
lockedGroupTaskSteps[i].RememberId = lockedGroupTaskStep.RememberId
|
lockedGroupTaskSteps[i].RememberId = lockedGroupTaskStep.RememberId
|
||||||
|
@ -30,8 +30,6 @@ func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) (I
|
||||||
}
|
}
|
||||||
|
|
||||||
lgtMu.Unlock()
|
lgtMu.Unlock()
|
||||||
|
|
||||||
return isAlreadyInList
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func RemoveLockedGroupTaskStep(i int) {
|
func RemoveLockedGroupTaskStep(i int) {
|
||||||
|
|
|
@ -45,12 +45,11 @@ const (
|
||||||
|
|
||||||
// commands received from web clients
|
// commands received from web clients
|
||||||
const (
|
const (
|
||||||
ReceivedCmdStartGroupTasks = 1
|
ReceivedCmdStartGroupTasks = 1
|
||||||
ReceivedCmdTaskFailedTryAgainRunTaskStep = 2
|
ReceivedCmdTaskFailedTryAgainRunTaskStep = 2
|
||||||
ReceivedCmdTaskContinueTaskStep = 3
|
ReceivedCmdTaskContinueTaskStep = 3
|
||||||
ReceivedCmdReloadGroupTasks = 4
|
ReceivedCmdReloadGroupTasks = 4
|
||||||
ReceivedCmdTaskLocking = 5
|
ReceivedCmdTaskLocking = 5
|
||||||
ReceivedCmdUpdateGroupTaskStepUserInputValue = 6
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -155,9 +155,7 @@ func RunHub() {
|
||||||
|
|
||||||
break
|
break
|
||||||
case utils.ReceivedCmdTaskLocking:
|
case utils.ReceivedCmdTaskLocking:
|
||||||
log.Info().Msgf("task locking %s", receivedMessage.Body)
|
cache.AddLockedGroupTaskStep(structs.LockedGroupTaskSteps{
|
||||||
|
|
||||||
isAlreadyInList := cache.AddLockedGroupTaskStep(structs.LockedGroupTaskSteps{
|
|
||||||
LockedByUserId: receivedMessage.Body["lockedByUserId"].(string),
|
LockedByUserId: receivedMessage.Body["lockedByUserId"].(string),
|
||||||
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
|
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
|
||||||
Step: uint8(receivedMessage.Body["step"].(float64)),
|
Step: uint8(receivedMessage.Body["step"].(float64)),
|
||||||
|
@ -165,32 +163,19 @@ func RunHub() {
|
||||||
RememberId: receivedMessage.Body["rememberId"].(string),
|
RememberId: receivedMessage.Body["rememberId"].(string),
|
||||||
})
|
})
|
||||||
|
|
||||||
if !isAlreadyInList {
|
|
||||||
socketclients.BroadcastMessage(structs.SendSocketMessage{
|
|
||||||
Cmd: utils.SentCmdTaskLocked,
|
|
||||||
Body: receivedMessage.Body,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
break
|
|
||||||
case utils.ReceivedCmdUpdateGroupTaskStepUserInputValue:
|
|
||||||
socketclients.BroadcastMessage(structs.SendSocketMessage{
|
socketclients.BroadcastMessage(structs.SendSocketMessage{
|
||||||
Cmd: utils.SentCmdUpdateGroupTaskStepUserInputValue,
|
Cmd: utils.SentCmdTaskLocked,
|
||||||
Body: receivedMessage.Body,
|
Body: receivedMessage.Body,
|
||||||
})
|
})
|
||||||
|
|
||||||
cache.ExtendLockedGroupTaskStepLockedAtTime(structs.LockedGroupTaskSteps{
|
|
||||||
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
|
|
||||||
})
|
|
||||||
|
|
||||||
cache.AddGroupTaskStepsInput(structs.GroupTaskStepsInput{
|
cache.AddGroupTaskStepsInput(structs.GroupTaskStepsInput{
|
||||||
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
|
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
|
||||||
Step: uint8(receivedMessage.Body["step"].(float64)),
|
Step: uint8(receivedMessage.Body["step"].(float64)),
|
||||||
ParameterName: receivedMessage.Body["parameterName"].(string),
|
ParameterName: receivedMessage.Body["parameterName"].(string),
|
||||||
Value: receivedMessage.Body["value"],
|
Value: receivedMessage.Body["value"],
|
||||||
})
|
})
|
||||||
break
|
|
||||||
|
|
||||||
|
break
|
||||||
default:
|
default:
|
||||||
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
||||||
break
|
break
|
||||||
|
|
Loading…
Reference in New Issue