#!/usr/bin/env bash
set -euo pipefail

BASE="${BASE:-http://192.211.45.168}"
HOST="${HOST:-127.0.0.1}"
IMG="${IMG:-/home/opsuser/微信图片_20260420175247_53_33.jpg}"
DEPT_UUID="${DEPT_UUID:-CECE4F8D-4520-1FC4-0861-935683D0E86B}"
PC_ACCOUNT="${PC_ACCOUNT:-admin}"
PC_PASSWORD="${PC_PASSWORD:-Cpt@1234}"

command -v php >/dev/null 2>&1 || { echo 'php command not found'; exit 10; }
[ -f "$IMG" ] || { echo "face image not found: $IMG"; exit 10; }

TS=$(date +%H%M%S)
MOBILE="138$(date +%m%d%H%M)"
STAFF_NAME="跨区人脸删除联调_${TS}"
PERSON_NO="FACEDEL${TS}"

echo '=== 1 LOGIN 63 -> 168 ==='
LOGIN=$(curl -sS --max-time 20 -X POST "$BASE/p/login/login" \
  -H "Host: $HOST" \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode "account=$PC_ACCOUNT" \
  --data-urlencode "pwd=$PC_PASSWORD")
printf '%s\n' "$LOGIN"
TOKEN=$(printf '%s' "$LOGIN" | php -r '$j=json_decode(stream_get_contents(STDIN),true); echo $j["data"]["_token"] ?? "";')
COOKIE_TOKEN=$(TOKEN="$TOKEN" php -r 'echo rawurlencode(getenv("TOKEN"));')
echo "TOKEN_LEN=${#TOKEN}"
[ -n "$TOKEN" ] || exit 11

echo '=== 2 CREATE TEST PERSON 63 -> 168 ==='
ADD=$(curl -sS --max-time 60 -X POST "$BASE/p/staff/add" \
  -H "Host: $HOST" \
  -H "Cookie: _token=$COOKIE_TOKEN" \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode "name=$STAFF_NAME" \
  --data-urlencode 'sex=1' \
  --data-urlencode 'height=170' \
  --data-urlencode 'weight=60' \
  --data-urlencode 'birthday=1990-01-01' \
  --data-urlencode "mobile=$MOBILE" \
  --data-urlencode "department_uuid=$DEPT_UUID" \
  --data-urlencode 'restaurant_id=1' \
  --data-urlencode 'job_status=1' \
  --data-urlencode 'identity_category_id=1' \
  --data-urlencode 'identity_number=' \
  --data-urlencode "personnel_umber=$PERSON_NO")
printf '%s\n' "$ADD"
STAFF_UUID=$(printf '%s' "$ADD" | php -r '$j=json_decode(stream_get_contents(STDIN),true); echo $j["data"]["uuid"] ?? "";')
AI_USER_ID=$(printf '%s' "$ADD" | php -r '$j=json_decode(stream_get_contents(STDIN),true); echo $j["data"]["ai_user_id"] ?? "";')
echo "TEST_NAME=$STAFF_NAME MOBILE=$MOBILE STAFF_UUID=$STAFF_UUID AI_USER_ID=$AI_USER_ID"
[ -n "$STAFF_UUID" ] || exit 12

echo '=== 3 UPLOAD FACE 63 -> 168 ==='
UPLOAD=$(curl -sS --max-time 120 -X POST "$BASE/m/Staff/saveFaceByMobile" \
  -H "Host: $HOST" \
  -F "mobile=$MOBILE" \
  -F "face_img=@$IMG")
printf '%s\n' "$UPLOAD"
UPLOAD_CODE=$(printf '%s' "$UPLOAD" | php -r '$j=json_decode(stream_get_contents(STDIN),true); echo $j["code"] ?? "";')
[ "$UPLOAD_CODE" = '0' ] || exit 13

echo '=== 4 DELETE PERSON 63 -> 168 ==='
DELETE_RESP=$(curl -sS --max-time 60 -X POST "$BASE/p/Staff/delete" \
  -H "Host: $HOST" \
  -H "Cookie: _token=$COOKIE_TOKEN" \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode "uuid=$STAFF_UUID")
printf '%s\n' "$DELETE_RESP"
DELETE_CODE=$(printf '%s' "$DELETE_RESP" | php -r '$j=json_decode(stream_get_contents(STDIN),true); echo $j["code"] ?? "";')
echo "FINAL MOBILE=$MOBILE STAFF_UUID=$STAFF_UUID AI_USER_ID=$AI_USER_ID UPLOAD_CODE=$UPLOAD_CODE DELETE_CODE=$DELETE_CODE"
[ "$DELETE_CODE" = '0' ] || exit 14
