Skip to content

Commit

Permalink
avniproject/avni-server#825 | Make use of timestamp string to overcom…
Browse files Browse the repository at this point in the history
…e issues in customQuery execution
  • Loading branch information
himeshr committed Jan 15, 2025
1 parent 66ddb1e commit 85f3ea7
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package org.avni_integration_service.avni.domain;

public class CustomQueryRequest {
import org.joda.time.DateTime;

public class CustomQueryRequest {
public String name;
public QueryParams queryParams;

public CustomQueryRequest(String name, String noOfDays) {
public CustomQueryRequest(String name, int numberOfDays) {
this.name = name;
this.queryParams = new QueryParams(noOfDays);
this.queryParams = new QueryParams(DateTime.now().minusDays(numberOfDays).toDate());
}

public String getName() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package org.avni_integration_service.avni.domain;

import java.util.Date;

public class QueryParams {
public String noOfDays;
public Date cutOffDate;

public QueryParams(String noOfDays) {
this.noOfDays = noOfDays;
public QueryParams(Date cutOffDate) {
this.cutOffDate = cutOffDate;
}

public String getNoOfDays() {
return noOfDays;
public Date getCutOffDate() {
return cutOffDate;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;

Expand All @@ -23,23 +22,23 @@ public class RwbUserNudgeService {
private final IntegratingEntityStatusRepository integratingEntityStatusRepository;
private final AvniRwbUserNudgeRepository avniRwbUserNudgeRepository;
private CustomQueryRequest customQueryRequest;
private int noOfDays;
private int numberOfDays;

private static final Logger logger = Logger.getLogger(RwbUserNudgeService.class);

@Autowired
public RwbUserNudgeService(IntegratingEntityStatusRepository integratingEntityStatusRepository, AvniRwbUserNudgeRepository avniRwbUserNudgeRepository,
@Value("${rwb.avni.nudge.custom.query.name}") String customQueryName, @Value("${rwb.avni.nudge.no.of.days}") String numberOfDays) {
@Value("${rwb.avni.nudge.custom.query.name}") String customQueryName, @Value("${rwb.avni.nudge.no.of.days}") int numberOfDays) {
this.integratingEntityStatusRepository = integratingEntityStatusRepository;
this.avniRwbUserNudgeRepository = avniRwbUserNudgeRepository;
this.customQueryRequest = new CustomQueryRequest(customQueryName, numberOfDays);
this.noOfDays = Integer.parseInt(numberOfDays);
this.numberOfDays = numberOfDays;
}

public List<NudgeUserRequestDTO> getUsersThatHaveToReceiveNudge() {
CustomQueryResponse customQueryResponse = avniRwbUserNudgeRepository.executeCustomQuery(customQueryRequest);
return customQueryResponse.getData().stream().map(row -> new NudgeUserRequestDTO(row.get(0).toString(), row.get(1).toString(),
FormatAndParseUtil.toHumanReadableFormat(DateTime.now().minusDays(noOfDays).toDate()))).collect(Collectors.toList());
FormatAndParseUtil.toHumanReadableFormat(DateTime.now().minusDays(numberOfDays).toDate()))).collect(Collectors.toList());
}

public SendMessageResponse nudgeUser(NudgeUserRequestDTO nudgeUserRequestDTO) {
Expand Down

0 comments on commit 85f3ea7

Please sign in to comment.