Subversion Repositories SmartDukaan

Rev

Rev 32484 | Rev 32777 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 32484 Rev 32508
Line 23... Line 23...
23
import org.json.JSONObject;
23
import org.json.JSONObject;
24
import org.springframework.beans.factory.annotation.Autowired;
24
import org.springframework.beans.factory.annotation.Autowired;
25
import org.springframework.beans.factory.annotation.Value;
25
import org.springframework.beans.factory.annotation.Value;
26
import org.springframework.stereotype.Component;
26
import org.springframework.stereotype.Component;
27
 
27
 
-
 
28
import java.time.LocalDate;
28
import java.time.LocalDateTime;
29
import java.time.LocalDateTime;
29
import java.util.*;
30
import java.util.*;
30
import java.util.stream.Collectors;
31
import java.util.stream.Collectors;
31
 
32
 
32
@Component
33
@Component
Line 191... Line 192...
191
    }
192
    }
192
 
193
 
193
    @Override
194
    @Override
194
    public void sendWhatsappMediaMessage(String message, String mobile, String mediaUrl, String fileName)
195
    public void sendWhatsappMediaMessage(String message, String mobile, String mediaUrl, String fileName)
195
            throws Exception {
196
            throws Exception {
196
        boolean sentMessage = this.isWhatMessageSend(mobile);
-
 
197
        if (sentMessage) {
-
 
198
            this.sendWhatsappMessage(message, null, mobile, mediaUrl, fileName);
197
        this.sendWhatsappMessage(message, null, mobile, mediaUrl, fileName);
199
        }
198
 
200
    }
199
    }
201
 
200
 
202
    @Override
201
    @Override
203
    public void optIn(String phoneNumber) throws Exception {
202
    public void optIn(String phoneNumber) throws Exception {
204
        Map<String, String> requestheaders = new HashMap<>();
203
        Map<String, String> requestheaders = new HashMap<>();
Line 284... Line 283...
284
 
283
 
285
    @Override
284
    @Override
286
    public boolean isWhatMessageSend(String mobile) {
285
    public boolean isWhatMessageSend(String mobile) {
287
        String destAddr = "91" + mobile;
286
        String destAddr = "91" + mobile;
288
        boolean isSent = true;
287
        boolean isSent = true;
289
        List<WhatsappMessage> whatsappMessages = whatsappMessageRepository.selectByDestAddr(destAddr);
288
        List<WhatsappMessage> whatsappMessages = whatsappMessageRepository.selectByDestAddr(destAddr, LocalDate.now());
290
        if (!whatsappMessages.isEmpty()) {
289
        if (!whatsappMessages.isEmpty()) {
291
            long failedCount = whatsappMessages.stream().filter(x -> x.getFailed().equals("FAILED")).collect(Collectors.counting());
290
            long failedCount = whatsappMessages.stream().filter(x -> x.getFailed() != null && x.getFailed().equals("FAILED")).collect(Collectors.counting());
292
            if (failedCount >= 2) {
291
            if (failedCount >= 2) {
293
                isSent = false;
292
                isSent = false;
294
            }
293
            }
295
        }
294
        }
296
        return isSent;
295
        return isSent;