Browse Source

群成员列表新增群头像信息

沈静伟 3 years ago
parent
commit
445ada2ddd

+ 1 - 1
src/dsb/com/cnd3b/restcontroller/system/im/imdialog/SQL/即时通讯群成员列表查询.sql

@@ -1,4 +1,4 @@
 select timdialogusersid,tenterprise_userid,fname,case when t1.tenterprise_userid=t2.tenterprise_userid then 1 else 0 end as fisadministrator from timdialogusers t1
 inner join timdialog t2 on t1.siteid=t2.siteid and t1.timdialogid=t2.timdialogid
-where t1.siteid=$siteid$ and t1.timdialogid=$timdialogid$ and t1.fisremove=0
+where t1.siteid=$siteid$ and t1.timdialogid in $timdialogid$ and t1.fisremove=0
 

+ 16 - 1
src/dsb/com/cnd3b/restcontroller/system/im/imdialog/imdialog.java

@@ -10,6 +10,7 @@ import com.cnd3b.common.data.RowsMap;
 import com.cnd3b.common.data.SQLFactory;
 import com.cnd3b.common.parameter.parameter;
 import com.cnd3b.common.websocket.WebClientSocket;
+import org.apache.ibatis.jdbc.SQL;
 import p2.pao.PaoRemote;
 import p2.pao.PaoSetRemote;
 import p2.util.P2Exception;
@@ -56,6 +57,11 @@ public class imdialog extends Controller {
         timdialogSQL.addParameter_SQL("where", where);
         Rows rows = dbConnect.runSqlQuery(timdialogSQL.getSQL());
 
+        SQLFactory timdialoguserSQL = new SQLFactory(this, "即时通讯群成员列表查询");
+        timdialoguserSQL.addParameter("siteid", siteid);
+        timdialoguserSQL.addParameter_in("timdialogid", rows.toArrayList("timdialogid"));
+        RowsMap timdialoguserRowsMap = dbConnect.runSqlQuery(timdialoguserSQL.getSQL()).toRowsMap("timdialogid");
+
         SQLFactory timnewmsgSQL = new SQLFactory(this, "即时通讯普通群最新消息查询");
         timnewmsgSQL.addParameter("siteid", siteid);
         timnewmsgSQL.addParameter_in("timdialogid", rows.toArrayList("timdialogid"));
@@ -66,6 +72,15 @@ public class imdialog extends Controller {
                 newmsg.put("message", JSONObject.parseObject(newmsg.getString("message")));
             }
             row.put("latestnews", newmsgrows);//最新消息
+
+            JSONArray timdialoguserArray = new JSONArray();
+            Rows timdialoguserRows = timdialoguserRowsMap.get(row.getString("timdialogid"));
+            for (Row timdialoguserRow : timdialoguserRows) {
+                if (timdialoguserRow.getLong("tenterprise_userid") != userid) {
+                    timdialoguserArray.add(getHeadPic(timdialoguserRow.getLong("tenterprise_userid")));
+                }
+            }
+            row.put("headportraiturls", timdialoguserArray);//群成员头像
         }
         return getSucReturnObject().setData(rows).saveToDataPool().toString();
     }
@@ -86,7 +101,7 @@ public class imdialog extends Controller {
         for (Row row : rows) {
             SQLFactory timdialoguserSQL = new SQLFactory(this, "即时通讯群成员列表查询");
             timdialoguserSQL.addParameter("siteid", siteid);
-            timdialoguserSQL.addParameter("timdialogid", content.getString("timdialogid"));
+            timdialoguserSQL.addParameter_in("timdialogid", content.getString("timdialogid"));
             Rows userrows = dbConnect.runSqlQuery(timdialoguserSQL.getSQL());
             row.put("users", userrows);
         }