-- Tabla de usuarios
CREATE TABLE usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre_completo VARCHAR(100) NOT NULL,
    correo VARCHAR(100) NOT NULL UNIQUE,
    telefono VARCHAR(20) NOT NULL,
    wallet_usdt VARCHAR(100) NOT NULL,
    password VARCHAR(255) NOT NULL,
    foto_perfil VARCHAR(255) DEFAULT 'default.png',
    saldo_deposito DECIMAL(15, 2) DEFAULT 0.00,
    saldo_inversion DECIMAL(15, 2) DEFAULT 0.00,
    saldo_planes DECIMAL(15, 2) DEFAULT 0.00,
    total_retirado DECIMAL(15, 2) DEFAULT 0.00,
    fecha_registro DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- Tabla de planes de inversión modificada
CREATE TABLE planes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto_inicial DECIMAL(15, 2) NOT NULL,
    monto_actual DECIMAL(15, 2) NOT NULL,
    ganancia_acumulada DECIMAL(15, 2) DEFAULT 0.00,
    porcentaje_completado DECIMAL(5, 2) DEFAULT 0.00,
    es_reinversion BOOLEAN DEFAULT FALSE,
    fecha_inicio DATETIME DEFAULT CURRENT_TIMESTAMP,
    fecha_ultima_actualizacion DATETIME DEFAULT CURRENT_TIMESTAMP,
    fecha_proximo_pago DATETIME DEFAULT CURRENT_TIMESTAMP,
    dias_transcurridos INT DEFAULT 0,
    completado BOOLEAN DEFAULT FALSE,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);

-- Tabla de transacciones de depósito
CREATE TABLE depositos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto DECIMAL(15, 2) NOT NULL,
    hash_transaccion VARCHAR(100) NOT NULL,
    estado ENUM('pendiente', 'completado', 'rechazado') DEFAULT 'pendiente',
    fecha DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);

-- Tabla de retiros
CREATE TABLE retiros (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto DECIMAL(15, 2) NOT NULL,
    estado ENUM('pendiente', 'completado', 'rechazado') DEFAULT 'pendiente',
    fecha DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);

-- Tabla de transferencias internas
CREATE TABLE transferencias (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto DECIMAL(15, 2) NOT NULL,
    tipo ENUM('deposito_a_inversion', 'inversion_a_deposito') NOT NULL,
    fecha DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);





asme un php de adminG.php 

que le permita 

todos los usuarios registrado con su foto de perfir 
que le permita modificar los campos de correo nonbre numero de telefono
y que le permita modificar la wallet tanbien



que le permita tranferirle  al usuario de su saldo_deposito  saldo_planes

o sea el admin puede tranferirle al usuario del saldo de depòsito a saldo planes y de saldo planes a saldo de deposito 

que le salga los usuario y cuanto tiene en su saldo_deposito DECIMAL(15, 2) DEFAULT 0.00,
    saldo_inversion DECIMAL(15, 2) DEFAULT 0.00,
    saldo_planes DECIMAL(15, 2) DEFAULT 0.00,




    tanbien que tenga una sesion que le permita ber los usuairo y que cantidad de planes tiene 
    -- Tabla de planes de inversión modificada
CREATE TABLE planes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto_inicial DECIMAL(15, 2) NOT NULL,
    monto_actual DECIMAL(15, 2) NOT NULL,
    ganancia_acumulada DECIMAL(15, 2) DEFAULT 0.00,
    porcentaje_completado DECIMAL(5, 2) DEFAULT 0.00,
    es_reinversion BOOLEAN DEFAULT FALSE,
    fecha_inicio DATETIME DEFAULT CURRENT_TIMESTAMP,
    fecha_ultima_actualizacion DATETIME DEFAULT CURRENT_TIMESTAMP,
    fecha_proximo_pago DATETIME DEFAULT CURRENT_TIMESTAMP,
    dias_transcurridos INT DEFAULT 0,
    completado BOOLEAN DEFAULT FALSE,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);



solo permitir ber los plane y posibilidad de eliminarle los planes por si ay un error 


-- Tabla de transacciones de depósito
CREATE TABLE depositos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto DECIMAL(15, 2) NOT NULL,
    hash_transaccion VARCHAR(100) NOT NULL,
    estado ENUM('pendiente', 'completado', 'rechazado') DEFAULT 'pendiente',
    fecha DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);


que permita prosesar los depositos del usuario cuando solisite un deposito que pueda ber el hasch de la transacsion asy berificar el deposito y aprobarlo manual mentre



tanbien una sesion donde me permita selecsionar a un usuario por su nonbre y que me permita agregarle saldo_deposito   manual mente 

-- Tabla de retiros
CREATE TABLE retiros (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    monto DECIMAL(15, 2) NOT NULL,
    estado ENUM('pendiente', 'completado', 'rechazado') DEFAULT 'pendiente',
    fecha DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE
);



que me muestre los retiro con el nonbre del usuairop que esta retirando la wallet del usuario y que cantidad tengo que depositarle al usuario y los botones de de ponerle el estado de pendiente o completado o rechadado 




para aseder a este php terngo que ser un usuario registrado con este correo    quotexgamer98@gmail.com

el php tendra un login interno donde el dueño de ese correo puede aseder al php con el correo y contraseña registrada en la base de datos 