优化
This commit is contained in:
@@ -101,25 +101,15 @@ async function measure(source) {
|
||||
}
|
||||
try {
|
||||
const login=await api('','POST','/api/auth/login',{loginId:process.env.ADMIN_TEST_USERNAME,password:process.env.ADMIN_TEST_PASSWORD});admin=login.accessToken
|
||||
// 本机旧权限目录只补正式排车资源,并授权本轮专用角色,不改既有用户或角色。
|
||||
const required=['list','create','edit','depart','cancel'].map(key=>`platform:overseas-warehouse:dispatch:${key}`)
|
||||
if(!report.operatorUsername){
|
||||
const permissions=await call('GET','/api/platform/v1/iam/permissions')
|
||||
const parent=permissions.find(row=>row.permissionCode===required[0]);check(parent,'存在正式排车列表权限')
|
||||
for(const code of required)if(!permissions.some(row=>row.permissionCode===code))permissions.push(await call('POST','/api/platform/v1/iam/permissions',{type:'BUTTON',code,name:`排车${code.split(':').at(-1)}`,parentId:parent.id,httpMethod:'POST'}))
|
||||
const role=await call('POST','/api/platform/v1/iam/roles',{roleCode:`${marker}_OPERATOR`,roleName:`${marker}本机排车验收`,description:'仅本轮本机业务验收'})
|
||||
const allowed=new Set([...login.authorities,...required])
|
||||
await call('PUT','/api/platform/v1/iam/roles/permissions',{roleId:role.id,permissionIds:permissions.filter(row=>allowed.has(row.permissionCode)).map(row=>row.id)})
|
||||
const username=`dispatch_dt_${marker.replace(/\D/g,'')}`
|
||||
await call('POST','/api/platform/v1/iam/users',{username,password:process.env.LOCAL_TRANSFER_PDA_PASSWORD,displayName:`${marker}本机调度验收`,phone:`18${String(Date.now()).slice(-9)}`,tenantId:'0',roleIds:[role.id],status:'ACTIVE'})
|
||||
report.operatorUsername=username;await save()
|
||||
}
|
||||
admin=(await api('','POST','/api/auth/login',{loginId:report.operatorUsername,password:process.env.LOCAL_TRANSFER_PDA_PASSWORD})).accessToken
|
||||
const required = ['list','create','edit','depart','cancel'].map(key => `platform:overseas-warehouse:dispatch:${key}`)
|
||||
check(Array.isArray(login.authorities) && required.every(code => login.authorities.includes(code)), '固定平台账号缺少正式业务权限,不自动补权限或创建角色')
|
||||
report.operatorUsername = process.env.ADMIN_TEST_USERNAME; await save()
|
||||
const customers=(await call('GET','/api/platform/v1/iam/tenants?page=1&size=200')).records.filter(row=>row.status==='ACTIVE')
|
||||
check(customers.length>=2,'有两个有效客户验证同仓跨客户取货')
|
||||
const warehouses=(await call('GET','/api/platform/v1/warehouse-admin?page=1&size=100&warehouseType=OVERSEAS&status=ACTIVE')).records
|
||||
const warehouse=warehouses.find(row=>row.warehouseCode==='US-LAX-01')||warehouses[0];report.warehouseId=warehouse.id
|
||||
if(!report.pdaUsername){const role=(await call('GET','/api/platform/v1/iam/roles')).find(row=>row.roleCode==='OVERSEAS_WAREHOUSE_PDA_OPERATOR'&&row.status==='ACTIVE');check(role,'存在海外PDA角色');const username=`pda_dt_${marker.replace(/\D/g,'')}`;await call('POST','/api/platform/v1/iam/users',{username,password:process.env.LOCAL_TRANSFER_PDA_PASSWORD,displayName:`${marker}本机排车验收`,phone:`18${String(Date.now()).slice(-9)}`,tenantId:'0',roleIds:[role.id],overseasWarehouseId:warehouse.id,status:'ACTIVE'});report.pdaUsername=username;await save()}
|
||||
report.pdaUsername = process.env.LOCAL_TRANSFER_PDA_USERNAME
|
||||
check(Boolean(report.pdaUsername), '必须配置既有 LOCAL_TRANSFER_PDA_USERNAME,不自动创建PDA账号')
|
||||
pda=(await api('','POST','/api/auth/login',{loginId:report.pdaUsername,password:process.env.LOCAL_TRANSFER_PDA_PASSWORD})).accessToken
|
||||
const a=await transfer(customers[0],warehouse,'pickupA'),b=await transfer(customers[1],warehouse,'pickupB'),c=await transfer(customers[0],warehouse,'pickupCancelSource')
|
||||
let shared=await pickup([a,b],'pickupCompleted'),cancelled=await pickup([c],'pickupCancelled')
|
||||
|
||||
Reference in New Issue
Block a user