name: revisar-cliente description: Consulta el estado completo de un afiliado (datos, facturas abiertas, saldo, ultimo pago, estado de mora) por cedula, id o nombre. Solo lectura. Usar cuando el usuario diga "revisar cliente", "ver afiliado", "consultar moroso", "estado de cliente" o pregunte por un cliente especifico.
Skill: revisar-cliente
Consulta de solo lectura sobre un afiliado. No modifica nada. Util antes de cobrar, suspender o resolver tickets.
Paso 1 — Identificar al cliente
El usuario puede dar:
- ID numerico de afiliado → query directa por
id - Cedula → query por
cedula - Nombre/apellido → query por
LIKEenclienteyapellido(puede haber multiples; pide al usuario que elija) - IP → query por
ip
Si hay ambiguedad (mas de un resultado), muestra la lista corta con id, nombre, cedula, ip y pide al usuario que elija el id.
Paso 2 — Datos basicos del afiliado
SELECT
id, cliente, apellido, cedula, telefono, mail, direccion, ip,
`velocidad-plan`, `tipo-cliente`, pago, corte, mesenmora,
activo, eliminar, standby, `wallet-money`,
id_client_area, `id-repeater-subnets-group`, `id-empresa`,
`registration-date`, source, cajero
FROM afiliados
WHERE id = <ID>
Paso 3 — Facturas abiertas
SELECT
id, periodo, valorf, valorp, saldo, descuento, iva, vencidos,
`fecha-pago`, `fecha-cierre`, cerrado, notas
FROM factura
WHERE `id-afiliado` = <ID> AND cerrado = 0
ORDER BY id DESC
Paso 4 — Ultimas facturas cerradas (top 5)
SELECT id, periodo, valorf, valorp, `fecha-pago`, `fecha-cierre`
FROM factura
WHERE `id-afiliado` = <ID> AND cerrado = 1
ORDER BY `fecha-cierre` DESC LIMIT 5
Paso 5 — Reporte al usuario
Presenta en este formato:
Cliente #<id> — <nombre> <apellido>
Cedula: <cedula> Tel: <telefono> IP: <ip>
Plan: <tipo-cliente> @ <velocidad-plan> Mbps Cuota: $<pago>
Corte: dia <corte> Mes en mora: <mesenmora>
Estado: activo=<activo> eliminar=<eliminar> standby=<standby>
Wallet: $<wallet-money>
Facturas abiertas (<N>):
#<id> | <periodo> | saldo $<saldo> | vencido=<vencidos>
...
Ultimos pagos:
#<id> | <periodo> | $<valorp> | <fecha-pago>
...
Si tiene facturas abiertas con vencidos > 0, marca explicitamente: MOROSO.
Conexion MySQL
php -r 'require_once "/var/www/ispexperts/login/db.php"; $c=new mysqli($server,$db_user,$db_pwd,$db_name); mysqli_set_charset($c,"utf8"); $r=$c->query("SELECT ..."); while($row=$r->fetch_assoc()) print_r($row);'
Reglas estrictas
- Solo SELECT, nunca UPDATE/INSERT/DELETE en esta skill. Si el usuario pide modificar algo, salir de esta skill y usar la skill apropiada (o avisar que no existe).
- Backticks obligatorios en columnas con guion:
velocidad-plan,tipo-cliente,id-afiliado,id-empresa,id-repeater-subnets-group,wallet-money,fecha-pago,fecha-cierre. - Si el cliente tiene
eliminar = 1, indicarlo claramente — esta dado de baja.