作者 tangxvhui

调整弹窗内容显示

@@ -142,12 +142,15 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G @@ -142,12 +142,15 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G
142 taskDao := dao.NewTaskDao(map[string]interface{}{"transactionContext": transactionContext}) 142 taskDao := dao.NewTaskDao(map[string]interface{}{"transactionContext": transactionContext})
143 // 我作为任务负责人的提醒 143 // 我作为任务负责人的提醒
144 leaderIds := []string{strconv.Itoa(param.UserId)} 144 leaderIds := []string{strconv.Itoa(param.UserId)}
145 - taskStageList, err := taskDao.TaskStageAnomaly(leaderIds) 145 + taskStageList, err := taskDao.TaskStageAnomalyByLeader(leaderIds)
146 if err != nil { 146 if err != nil {
147 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) 147 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
148 } 148 }
149 // 我作为任务相关方 149 // 我作为任务相关方
150 - 150 + taskStageList0, err := taskDao.TaskStageAnomalyByRelatedUser(param.UserId)
  151 + if err != nil {
  152 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
  153 + }
151 childUser, err := userDao.AllChildUser(param.UserId) 154 childUser, err := userDao.AllChildUser(param.UserId)
152 if err != nil { 155 if err != nil {
153 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取下级员工"+err.Error()) 156 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取下级员工"+err.Error())
@@ -161,7 +164,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G @@ -161,7 +164,7 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G
161 // 作为上级,我的下级员工的异常里程碑 164 // 作为上级,我的下级员工的异常里程碑
162 var taskStageList2 []dao.TaskStageData 165 var taskStageList2 []dao.TaskStageData
163 if len(childUserId) == 0 { 166 if len(childUserId) == 0 {
164 - taskStageList2, err = taskDao.TaskStageAnomaly(childUserId) 167 + taskStageList2, err = taskDao.TaskStageAnomalyByLeader(childUserId)
165 if err != nil { 168 if err != nil {
166 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) 169 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
167 } 170 }
@@ -175,11 +178,12 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G @@ -175,11 +178,12 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G
175 // 作为上级, 我的下下级员工的异常里程碑 178 // 作为上级, 我的下下级员工的异常里程碑
176 var taskStageList3 []dao.TaskStageData 179 var taskStageList3 []dao.TaskStageData
177 if len(childUserId) == 0 { 180 if len(childUserId) == 0 {
178 - taskStageList3, err = taskDao.TaskStageAnomaly(childUserId2) 181 + taskStageList3, err = taskDao.TaskStageAnomalyByLeader(childUserId2)
179 if err != nil { 182 if err != nil {
180 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) 183 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
181 } 184 }
182 } 185 }
  186 +
183 msgList := []adapter.MessageListAdapter{} 187 msgList := []adapter.MessageListAdapter{}
184 for _, val := range taskStageList { 188 for _, val := range taskStageList {
185 s := fmt.Sprintf("【您负责的项目【%s】里程碑未按时完成,请重点关注,积极寻找上级辅导。】", val.Name) 189 s := fmt.Sprintf("【您负责的项目【%s】里程碑未按时完成,请重点关注,积极寻找上级辅导。】", val.Name)
@@ -256,7 +260,32 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G @@ -256,7 +260,32 @@ func (srv *MessagePersonalService) TodayMessageTaskStageAnomaly(param *command.G
256 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 260 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
257 } 261 }
258 } 262 }
259 - 263 + //我作为任务相关人
  264 + for _, val := range taskStageList0 {
  265 + s := fmt.Sprintf("【您下级%s关注的项目【%s】里程碑未按时完成,请前往辅导。】", val.LeaderName, val.Name)
  266 + msgList = append(msgList, adapter.MessageListAdapter{
  267 + Content: s,
  268 + })
  269 + payload := map[string]string{
  270 + "id": strconv.Itoa(val.Id),
  271 + }
  272 + payloadStr, _ := json.Marshal(payload)
  273 + newMessage := domain.MessagePersonal{
  274 + Id: 0,
  275 + Types: domain.MessageTypesTaskStage,
  276 + TargetUserId: param.UserId,
  277 + ReadFlag: domain.MessageIsRead,
  278 + Title: s,
  279 + Content: s,
  280 + CreatedAt: time.Time{},
  281 + UpdatedAt: time.Time{},
  282 + Payload: string(payloadStr),
  283 + }
  284 + err = messageRepo.Save(&newMessage)
  285 + if err != nil {
  286 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  287 + }
  288 + }
260 if err := transactionContext.CommitTransaction(); err != nil { 289 if err := transactionContext.CommitTransaction(); err != nil {
261 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 290 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
262 } 291 }
@@ -306,12 +335,13 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. @@ -306,12 +335,13 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command.
306 userDao := dao.NewUserDao(map[string]interface{}{"transactionContext": transactionContext}) 335 userDao := dao.NewUserDao(map[string]interface{}{"transactionContext": transactionContext})
307 336
308 taskDao := dao.NewTaskDao(map[string]interface{}{"transactionContext": transactionContext}) 337 taskDao := dao.NewTaskDao(map[string]interface{}{"transactionContext": transactionContext})
309 - // 针对任务负责人 338 + // 我作为任务负责人
310 leaderIds := []string{strconv.Itoa(param.UserId)} 339 leaderIds := []string{strconv.Itoa(param.UserId)}
311 - taskStageList, err := taskDao.TaskAnomaly(leaderIds, 2) 340 + taskStageList, err := taskDao.TaskAnomalyByLeader(leaderIds, 2)
312 if err != nil { 341 if err != nil {
313 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) 342 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
314 } 343 }
  344 + //获取员工全部子集
315 childUser, err := userDao.AllChildUser(param.UserId) 345 childUser, err := userDao.AllChildUser(param.UserId)
316 if err != nil { 346 if err != nil {
317 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取下级员工"+err.Error()) 347 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取下级员工"+err.Error())
@@ -322,10 +352,10 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. @@ -322,10 +352,10 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command.
322 childUserId = append(childUserId, strconv.Itoa(val.Id)) 352 childUserId = append(childUserId, strconv.Itoa(val.Id))
323 } 353 }
324 } 354 }
325 - // 针对上级 355 + //我作为上级, 获取我的下一级的异常任务
326 var taskStageList2 []dao.TaskData2 356 var taskStageList2 []dao.TaskData2
327 if len(childUserId) == 0 { 357 if len(childUserId) == 0 {
328 - taskStageList2, err = taskDao.TaskAnomaly(childUserId, 4) 358 + taskStageList2, err = taskDao.TaskAnomalyByLeader(childUserId, 4)
329 if err != nil { 359 if err != nil {
330 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) 360 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
331 } 361 }
@@ -336,10 +366,10 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. @@ -336,10 +366,10 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command.
336 childUserId = append(childUserId, strconv.Itoa(val.Id)) 366 childUserId = append(childUserId, strconv.Itoa(val.Id))
337 } 367 }
338 } 368 }
339 - // 针对上上级 369 + // 我作为上级,获取我的下下级的异常任务
340 var taskStageList3 []dao.TaskData2 370 var taskStageList3 []dao.TaskData2
341 if len(childUserId) == 0 { 371 if len(childUserId) == 0 {
342 - taskStageList3, err = taskDao.TaskAnomaly(childUserId2, 5) 372 + taskStageList3, err = taskDao.TaskAnomalyByLeader(childUserId2, 5)
343 if err != nil { 373 if err != nil {
344 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error()) 374 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "检查任务里程碑异常的消息"+err.Error())
345 } 375 }
@@ -347,7 +377,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. @@ -347,7 +377,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command.
347 377
348 msgList := []adapter.MessageListAdapter{} 378 msgList := []adapter.MessageListAdapter{}
349 for _, val := range taskStageList { 379 for _, val := range taskStageList {
350 - s := fmt.Sprintf("【您负责的项目【%s】已超过N日未反馈进度,请前往该战略任务进行反馈。】", val.Name) 380 + s := fmt.Sprintf("【您负责的项目【%s】已超过%s日未反馈进度,请前往该战略任务进行反馈。】", val.Name, val.Anomaly)
351 msgList = append(msgList, adapter.MessageListAdapter{ 381 msgList = append(msgList, adapter.MessageListAdapter{
352 Content: s, 382 Content: s,
353 }) 383 })
@@ -372,7 +402,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. @@ -372,7 +402,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command.
372 } 402 }
373 } 403 }
374 for _, val := range taskStageList2 { 404 for _, val := range taskStageList2 {
375 - s := fmt.Sprintf("【您下级%s负责的项目【%s】已超过N日未反馈进度,请前往辅导。】", val.LeaderName, val.Name) 405 + s := fmt.Sprintf("【您下级%s负责的项目【%s】已超过%s日未反馈进度,请前往辅导。】", val.LeaderName, val.Name, val.Anomaly)
376 msgList = append(msgList, adapter.MessageListAdapter{ 406 msgList = append(msgList, adapter.MessageListAdapter{
377 Content: s, 407 Content: s,
378 }) 408 })
@@ -397,7 +427,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command. @@ -397,7 +427,7 @@ func (srv *MessagePersonalService) TodayMessageTaskRecordAnomaly(param *command.
397 } 427 }
398 } 428 }
399 for _, val := range taskStageList3 { 429 for _, val := range taskStageList3 {
400 - s := fmt.Sprintf("【您下级%s关注的项目【%s】已超过N日未反馈进度,请前往辅导。】", val.LeaderName, val.Name) 430 + s := fmt.Sprintf("【您下级%s关注的项目【%s】已超过%s日未反馈进度,请前往辅导。】", val.LeaderName, val.Name, val.Anomaly)
401 msgList = append(msgList, adapter.MessageListAdapter{ 431 msgList = append(msgList, adapter.MessageListAdapter{
402 Content: s, 432 Content: s,
403 }) 433 })
@@ -391,8 +391,8 @@ type TaskStageData struct { @@ -391,8 +391,8 @@ type TaskStageData struct {
391 LeaderName string 391 LeaderName string
392 } 392 }
393 393
394 -// 根据负责人异常的里程碑任务  
395 -func (d *TaskDao) TaskStageAnomaly(leaderId []string) ([]TaskStageData, error) { 394 +// 根据负责人获取超期未完成的异常的里程碑任务
  395 +func (d *TaskDao) TaskStageAnomalyByLeader(leaderId []string) ([]TaskStageData, error) {
396 sqlStr := `select 396 sqlStr := `select
397 task_stage.id, 397 task_stage.id,
398 task_stage."name" , 398 task_stage."name" ,
@@ -408,6 +408,25 @@ func (d *TaskDao) TaskStageAnomaly(leaderId []string) ([]TaskStageData, error) { @@ -408,6 +408,25 @@ func (d *TaskDao) TaskStageAnomaly(leaderId []string) ([]TaskStageData, error) {
408 return result, err 408 return result, err
409 } 409 }
410 410
  411 +// 根据任务相关人获取超期未完成的异常的里程碑任务
  412 +func (d *TaskDao) TaskStageAnomalyByRelatedUser(relatedUserId int) ([]TaskStageData, error) {
  413 + sqlStr := `select
  414 + task_stage.id,
  415 + task_stage."name" ,
  416 + task.leader ->>'name' as leader_name
  417 + from task_stage
  418 + join task on task.id=task_stage.task_id
  419 + where 1=1
  420 + and task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now())
  421 + and task.related_user @>? `
  422 +
  423 + relatedUser := fmt.Sprintf("[%d]", relatedUserId)
  424 + result := []TaskStageData{}
  425 + tx := d.transactionContext.PgTx
  426 + _, err := tx.Query(&result, sqlStr, relatedUser)
  427 + return result, err
  428 +}
  429 +
411 type TaskData2 struct { 430 type TaskData2 struct {
412 Id int `pg:"id"` 431 Id int `pg:"id"`
413 Name string `pg:"name"` 432 Name string `pg:"name"`
@@ -416,8 +435,8 @@ type TaskData2 struct { @@ -416,8 +435,8 @@ type TaskData2 struct {
416 Anomaly string `pg:"anomaly"` 435 Anomaly string `pg:"anomaly"`
417 } 436 }
418 437
419 -// 异常的任务  
420 -func (d *TaskDao) TaskAnomaly(leaderId []string, anomaly int) ([]TaskData2, error) { 438 +// 根据任务负责任务获取异常的任务
  439 +func (d *TaskDao) TaskAnomalyByLeader(leaderId []string, anomaly int) ([]TaskData2, error) {
421 sqlStr := `select 440 sqlStr := `select
422 task."id", 441 task."id",
423 task."name" , 442 task."name" ,