Explorar o código

一键联系,快速查询创建一对一聊天对话框

沈静伟 %!s(int64=4) %!d(string=hai) anos
pai
achega
5972b5b29e

+ 3 - 0
src/dsb/com/cnd3b/restcontroller/system/im/imdialog/SQL/根据用户ID查询一对一聊天对话框ID.sql

@@ -0,0 +1,3 @@
+select timdialogid from timdialogusers t1
+where t1.siteid=$siteid$ and fimdialogtype='ÆÕͨ' and exists(select *from timdialogusers where siteid=t1.siteid and timdialogid=t1.timdialogid and tenterprise_userid in $tenterprise_userid$ )
+group by timdialogid having count(0)=2

+ 27 - 2
src/dsb/com/cnd3b/restcontroller/system/im/imdialog/imdialog.java

@@ -68,7 +68,7 @@ public class imdialog extends Controller {
      *
      * @return
      */
-    public String query_imdialogMain() {
+    public String query_imdialogMain() throws D3bException, P2Exception {
         long timdialogid = content.getLong("timdialogid");
         SQLFactory timdialogSQL = new SQLFactory(this, "即时通讯群主界面查询");
         timdialogSQL.addParameter("siteid", siteid);
@@ -86,6 +86,32 @@ public class imdialog extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    /**
+     * 一键联系
+     *
+     * @return
+     */
+    public String quickcontact() throws D3bException, P2Exception {
+        long tenterprise_userid = content.getLongValue("tenterprise_userid");//根据对方userid,查一对一聊天对话框
+        SQLFactory factory = new SQLFactory(this, "根据用户ID查询一对一聊天对话框ID");
+        factory.addParameter("siteid", siteid);
+        factory.addParameter_in("tenterprise_userid", new String[]{String.valueOf(userid), String.valueOf(tenterprise_userid)});
+        Rows rows = dbConnect.runSqlQuery(factory.getSQL());
+        if (!rows.isEmpty()) {
+            content.put("timdialogid", rows.get(0).getLong("timdialogid"));
+            return query_imdialogMain();
+        } else {
+            JSONArray usersArray = new JSONArray();
+            usersArray.add(String.valueOf(userid));
+            usersArray.add(String.valueOf(tenterprise_userid));
+            content.put("fimdialogname", username + "-" + getUser(tenterprise_userid).getString("fname"));
+            content.put("fimdialogtype", "普通");
+            content.put("users", usersArray);
+            return insertOrModify();
+        }
+    }
+
+
     /**
      * 群消息查询
      *
@@ -132,7 +158,6 @@ public class imdialog extends Controller {
         String ownertable = content.getString("ownertable");//所有表
         String ownerid = content.getString("ownerid");//所有表ID
         JSONArray usersArray = content.getJSONArray("users");
-        
 
         ArrayList<String> sqlList = new ArrayList<>();