Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
¿Cómo obtengo la actividad del usuario cada 30 días desde la fecha de inicio de la suscripción y la actividad de los días restantes en un objeto diferente a partir de hoy?

Tengo una aplicación basada en suscripción donde los usuarios se registrarán y se les pagará por el trabajo que realizarán diariamente. Hay ciertas reglas para el pago.

  • El usuario sólo podrá retirar el importe cada 30 días a partir del día en que se haya registrado.
  • El registro se basa en suscripción, por lo que habrá una fecha de vencimiento para el plan de cada usuario.
  • Necesito calcular dos cosas. Cantidad ganada cada 30 días hasta hoy y cantidad restante de un mes incompleto hasta hoy (mes actual o días restantes que son menos de 30)
 import {differenceInDays, parseISO} from "date-fns"; let differenceDays = differenceInDays(new Date(), parseISO(startDate)) // subscription start date let multiplier = parseInt(differenceDays / 30) // integer value let remainder = differenceDays % 30 // remainig days from above divition

Esto es lo más lejos que pude llegar y parece que no puedo encontrar una manera de hacerlo. Estoy usando una marca de tiempo para guardar cada transacción y los datos provienen de la tabla de PostgreSQL al nodo.

El bloque de datos es algo como esto.

 let data = [ {date:'2021-05-26 18:36:55.767', income:888, start_date:'2021-05-26 18:36:55.767', end_date:'2021-05-26 18:36:55.767'}, {date:'2022-05-01 18:36:55.767', income:200, ...}, // same as above {date:'2021-07-26 18:36:55.767', income:888, ...}, {date:'2023-01-26 18:36:55.767', income:300, ...}, {date:'2021-02-26 18:36:55.767', income:888, ...}, {date:'2023-08-26 18:36:55.767', income:444, ...}, {date:'2023-09-26 18:36:55.767', income:888, ...}, {date:'2024-01-26 18:36:55.767', income:541, ...}, {date:'2024-12-26 18:36:55.767', income:888, ...}, {date:'2024-07-26 18:36:55.767', income:336, ...}, {date:'2025-01-26 18:36:55.767', income:888, ...}, {date:'2025-07-26 18:36:55.767', income:519, ...}, ] // for demonstration purpose only // start_date => subscription start date // end_date => subscription expiry date

Los datos provienen de la base de datos PostgreSQL que tiene dos tablas de transacciones unidas con suscripciones y esto se une a esas dos tablas.

Por cada 30 días quiero decir, al completar los 30 días obtendrán la cantidad a la que tienen derecho. esta cantidad se puede retirar en cualquier momento después de este período de 30 días.

30 días => 4360 // Cantidad ganada en los primeros 30 días

31 - 59 días => pueden retirar el monto anterior y este monto mensual se acumula en su cuenta.

60 días => 3950 // Importe ganado en los 2.º 30 días

61 - 89 días => 4360 + 3950 se pueden retirar si el usuario aún no ha retirado 4360

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda