#!/bin/bash

# 当前时间戳
NOW=1781190207

# 2小时 = 7200秒
TWO_HOURS=7200

# 48小时 = 172800秒
FORTY_EIGHT_HOURS=172800

# 代码评审专家ID
CODE_REVIEWER_ID="34d7c53d-bd70-45a8-bbbb-77dbb1da16b5"

# 读取issues数据
ISSUES_FILE="/home/multica/.claude/projects/-home-multica-multica-workspaces-b5fdce19-2a82-455d-b644-5b83da2b3078-3e8180af-workdir/aa77f517-c9db-4762-8214-ad55e93b39b7/tool-results/bxspfwjkh.txt"

# 提取未完成的任务
jq -r '.issues[] | select(.status != "done" and .status != "cancelled" and .status != "backlog") | @json' "$ISSUES_FILE" | while read -r issue; do
    id=$(echo "$issue" | jq -r '.id')
    identifier=$(echo "$issue" | jq -r '.identifier')
    title=$(echo "$issue" | jq -r '.title')
    status=$(echo "$issue" | jq -r '.status')
    assignee_id=$(echo "$issue" | jq -r '.assignee_id')
    assignee_type=$(echo "$issue" | jq -r '.assignee_type')
    updated_at=$(echo "$issue" | jq -r '.updated_at')
    
    # 转换更新时间为时间戳
    updated_ts=$(date -d "$updated_at" +%s 2>/dev/null || echo 0)
    time_diff=$((NOW - updated_ts))
    
    # 输出检查结果
    echo "[$identifier] $title"
    echo "  状态: $status | 分配给: $assignee_type ($assignee_id)"
    echo "  最后更新: $updated_at ($(($time_diff / 3600))小时前)"
    
    # 检查规则1: in_review 状态必须分配给代码评审专家
    if [ "$status" = "in_review" ] && [ "$assignee_id" != "$CODE_REVIEWER_ID" ]; then
        echo "  ⚠️  问题: in_review 状态但未分配给代码评审专家"
        echo "  建议: 重新分配给 $CODE_REVIEWER_ID"
    fi
    
    # 检查规则2: todo 状态且有 assignee，超过2小时未更新
    if [ "$status" = "todo" ] && [ "$assignee_id" != "null" ] && [ $time_diff -gt $TWO_HOURS ]; then
        echo "  ⚠️  问题: todo 状态超过2小时未更新"
        echo "  建议: 添加 mention 提醒 assignee 开始工作"
    fi
    
    # 检查规则3: in_progress 状态超过48小时未更新
    if [ "$status" = "in_progress" ] && [ $time_diff -gt $FORTY_EIGHT_HOURS ]; then
        echo "  ⚠️  问题: in_progress 状态超过48小时未更新"
        echo "  建议: 添加 mention 提醒 assignee"
    fi
    
    # 检查规则4: 任何状态但 assignee 为 null
    if [ "$assignee_id" = "null" ]; then
        echo "  ⚠️  问题: 无人负责"
        echo "  建议: 根据状态分配负责人"
    fi
    
    echo ""
done
