60 lines
2.6 KiB
Bash
60 lines
2.6 KiB
Bash
#!/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 "=== 完成 ==="
|