From 34cc097d4510b40c06218081b1ef93402cbe8120 Mon Sep 17 00:00:00 2001 From: bachir souldi Date: Mon, 17 Oct 2022 11:17:12 +0100 Subject: [PATCH] Add whatsapp call messages --- .../apps/base/web/AppBaseController.java | 55 +++++++++++++++++++ .../src/main/resources/domains/AppBase.xml | 3 + 2 files changed, 58 insertions(+) diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java index b1029d2e..bd006834 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java +++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/AppBaseController.java @@ -17,25 +17,49 @@ */ package com.axelor.apps.base.web; +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.util.List; + +import org.apache.batik.util.io.StringDecoder; + import com.axelor.app.AppSettings; import com.axelor.apps.base.db.AppBase; import com.axelor.apps.base.exceptions.IExceptionMessage; import com.axelor.apps.base.service.CurrencyConversionService; import com.axelor.apps.base.service.MapService; import com.axelor.apps.base.service.administration.ExportDbObjectService; +import com.axelor.apps.base.service.app.AppBaseService; import com.axelor.exception.AxelorException; import com.axelor.exception.service.TraceBackService; import com.axelor.i18n.I18n; import com.axelor.inject.Beans; +import com.axelor.meta.CallMethod; import com.axelor.meta.db.MetaFile; import com.axelor.meta.schema.actions.ActionView; import com.axelor.rpc.ActionRequest; import com.axelor.rpc.ActionResponse; import com.google.inject.Singleton; +import com.mongodb.util.JSON; + +import net.minidev.json.JSONObject; @Singleton public class AppBaseController { + /** + * + */ + private static final String localhost = "127.0.0.1"; + public void exportObjects(ActionRequest request, ActionResponse response) { MetaFile metaFile = Beans.get(ExportDbObjectService.class).exportObject(); if (metaFile == null) { @@ -111,4 +135,35 @@ public class AppBaseController { TraceBackService.trace(e); } } + + + @CallMethod + public void execWhatsApp(String username,String message,String url,String id,String enc) throws IOException, ClassNotFoundException { + + try{ + String uri = Beans.get(AppBaseService.class).getAppBase().getWhatsAppURL(); + + String fullUrl = uri + "/"+ url + "/" + id; + Socket socket = new Socket(localhost, 6060); + // String data = "{\"username\" : \"" + username + "\",\"url\": \""+ fullUrl +"\",\"message\":\""+ message +"\"}"; + String data = username + "***"+ fullUrl +"***"+ message; + + DataOutputStream dout=new DataOutputStream(socket.getOutputStream()); + DataInputStream in = new DataInputStream(socket.getInputStream()); + + dout.writeUTF(data); + + String msg=(String)in.readUTF(); + + if( msg == "message_received"){ + dout.flush(); + dout.close(); + // socket.close(); + System.out.println("Message: " + msg); + } + } + catch(Exception e) { + e.printStackTrace(); + } + } } diff --git a/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml b/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml index 42143887..877ade93 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml +++ b/modules/axelor-open-suite/axelor-base/src/main/resources/domains/AppBase.xml @@ -26,6 +26,9 @@ + + +