"""Ask only for shipment fields absent from the current effective quote.""" def missing_fields(intent): fields=[] if not (intent['warehouse'] or intent['postal']):fields.append('目的仓码或邮编') packages=intent.get('packages') or [] allocations=intent.get('allocations') or [] boxes=intent.get('boxes') or packages or allocations and all(part.get('boxes') or part.get('packages') for part in allocations) if not boxes:fields.append('箱数') if not intent['weight'] and not allocations: fields.append('总重或各箱重量') elif not packages and not (intent.get('boxes')==1 and intent['weight']) and not ( allocations and all(part.get('packages') or part.get('boxes')==1 for part in allocations)): fields.append('各箱重量') dimensions=(intent['dims'] or packages and all(part.get('dims') for part in packages) or allocations and all(part.get('packages') and all(box.get('dims') for box in part['packages']) for part in allocations)) if not dimensions:fields.append('每箱长宽高') if intent.get('english'): names={'目的仓码或邮编':'destination warehouse code or ZIP code','箱数':'carton count', '总重或各箱重量':'total weight or each carton weight','各箱重量':'each carton weight','每箱长宽高':'each carton dimensions'} return 'Please provide '+', '.join(names[field] for field in fields)+'.' if fields else None return '请补充'+'、'.join(fields)+',继续核对到仓运费和箱规费用。' if fields else None