Files
Leantime/.dev/remote-deploy/45_verify_ref.sh

60 lines
2.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -u
cd /var/www/onebot
JAR=/tmp/ob45.txt
rm -f $JAR
BODY=$(curl -s -c $JAR http://127.0.0.1:8081/auth/login)
CSRF=$(echo "$BODY" | grep -oE 'name="csrf-token" content="[^"]*"' | sed 's/.*content="//;s/"//')
curl -s -b $JAR -c $JAR -X POST http://127.0.0.1:8081/auth/login \
-d "username=ruiguo_wang@163.com" -d "password=wrg521113.." -d "_token=$CSRF" \
-H "X-CSRF-TOKEN: $CSRF" -o /dev/null -w "login HTTP=%{http_code}\n"
MASTER_ID=$(mysql -uonebot -p'OneBot_Db_7xKpQ9z' -h127.0.0.1 onebot -N -e "SELECT id FROM zp_bom WHERE bomNo='1' ORDER BY id DESC LIMIT 1;" 2>/dev/null)
echo "masterId=$MASTER_ID"
echo ""
echo "=== 1. 项目关联主数据 ==="
LINK=$(curl -s -b $JAR -X POST http://127.0.0.1:8081/bom/api/ref/link \
-H "Content-Type: application/json" -H "X-CSRF-TOKEN: $CSRF" \
-d "{\"projectId\":1,\"masterId\":$MASTER_ID}")
echo "$LINK"
REF_ID=$(echo "$LINK" | grep -oE '"refId":[0-9]+' | head -1 | sed 's/"refId"://')
echo "refId=$REF_ID"
echo ""
echo "=== 2. 项目级追加列(采购数量) ==="
COL=$(curl -s -b $JAR -X POST "http://127.0.0.1:8081/bom/api/ref/$REF_ID/column" \
-H "Content-Type: application/json" -H "X-CSRF-TOKEN: $CSRF" \
-d '{"key":"采购数量","label":"采购数量"}')
echo "$COL"
COL_ID=$(echo "$COL" | grep -oE '"columnId":[0-9]+' | head -1 | sed 's/"columnId"://')
echo "columnId=$COL_ID"
echo ""
echo "=== 3. 项目级存值itemId 用第一条明细) ==="
ITEM_ID=$(mysql -uonebot -p'OneBot_Db_7xKpQ9z' -h127.0.0.1 onebot -N -e "SELECT id FROM zp_bom_item WHERE bomId=$MASTER_ID ORDER BY id LIMIT 1;" 2>/dev/null)
echo "itemId=$ITEM_ID"
curl -s -b $JAR -X POST "http://127.0.0.1:8081/bom/api/ref/$REF_ID/value" \
-H "Content-Type: application/json" -H "X-CSRF-TOKEN: $CSRF" \
-d "{\"columnId\":$COL_ID,\"itemId\":$ITEM_ID,\"value\":\"999\"}" -w " save HTTP=%{http_code}\n"
echo ""
echo "=== 4. 验证:项目级值已写入引用层 ==="
mysql -uonebot -p'OneBot_Db_7xKpQ9z' -h127.0.0.1 onebot -e "SELECT * FROM zp_master_ref_value WHERE refId=$REF_ID;" 2>/dev/null
echo ""
echo "=== 5. 验证全局主数据行未被修改extra 不含采购数量) ==="
mysql -uonebot -p'OneBot_Db_7xKpQ9z' -h127.0.0.1 onebot -e "SELECT id, extra LIKE '%采购数量%' AS has_col FROM zp_bom_item WHERE id=$ITEM_ID;" 2>/dev/null
echo ""
echo "=== 6. 引用详情接口 ==="
curl -s -b $JAR "http://127.0.0.1:8081/bom/api/ref/$REF_ID" | head -c 400
echo ""
echo ""
echo "=== 7. 清理测试数据 ==="
curl -s -b $JAR -X DELETE "http://127.0.0.1:8081/bom/api/ref/$REF_ID" \
-H "X-CSRF-TOKEN: $CSRF" -w "unlink HTTP=%{http_code}\n"
echo ""
echo "=== 完成 ==="