@@ -54,8 +54,8 @@ private function handleValues($values, $groupId)
5454
5555 $ updateValues = [];
5656 $ adminUserIds = [];
57- $ speakUserIds = [];
5857 $ isMuteValues = [];
58+ $ writeUpdateAdminType = false ;
5959 foreach ($ values as $ v ) {
6060 $ updateType = $ v ->getType ();
6161 $ this ->ctx ->Wpf_Logger ->info ($ tag , " group profile updateType = " . $ updateType );
@@ -92,15 +92,9 @@ private function handleValues($values, $groupId)
9292 $ updateValues ['descriptionType ' ] = $ description ->getType ();
9393 break ;
9494 case \Zaly \Proto \Site \ApiGroupUpdateType::ApiGroupUpdateAdmin:
95- $ writeType = $ v ->getWriteType ();
95+ $ writeUpdateAdminType = $ v ->getWriteType ();
9696 foreach ($ v ->getAdminUserIds () as $ userId ) {
97- $ adminUserIds [$ writeType ][] = $ userId ;
98- }
99- break ;
100- case \Zaly \Proto \Site \ApiGroupUpdateType::ApiGroupUpdateSpeaker:
101- $ writeType = $ v ->getWriteType ();
102- foreach ($ v ->getSpeakerUserIds () as $ userId ) {
103- $ speakUserIds [$ writeType ][] = $ userId ;
97+ $ adminUserIds [] = $ userId ;
10498 }
10599 break ;
106100 }
@@ -115,90 +109,56 @@ private function handleValues($values, $groupId)
115109 $ this ->ctx ->SiteGroupUserTable ->updateGroupUserInfo ($ where , $ isMuteValues );
116110 }
117111
118- $ this ->ctx ->Wpf_Logger ->error ($ tag , " group profile adminUserIds = " . json_encode ($ adminUserIds ));
119- $ this ->ctx ->Wpf_Logger ->error ($ tag , " group profile speakUserIds = " .json_encode ($ speakUserIds ));
120- $ this ->ctx ->Wpf_Logger ->error ($ tag , " group profile updateValues = " . json_encode ($ updateValues ));
112+ $ this ->ctx ->Wpf_Logger ->info ($ tag , " group profile adminUserIds = " . json_encode ($ adminUserIds ));
113+ $ this ->ctx ->Wpf_Logger ->info ($ tag , " group profile updateValues = " . json_encode ($ updateValues ));
114+ $ this ->ctx ->Wpf_Logger ->info ($ tag , " group profile writeUpdateAdminType = " . $ writeUpdateAdminType );
115+
121116
122- if (!$ adminUserIds && !$ speakUserIds && !$ updateValues ) {
123- return ;
124- }
125117 //只有群主管理员可以修改
126118 $ this ->isGroupAdmin ($ groupId );
127119
128120 $ groupInfo = $ this ->getGroupProfile ($ groupId );
129121
130- if (count ( $ adminUserIds ) ) {
122+ if ($ writeUpdateAdminType !== false ) {
131123 $ this ->isGroupOwner ($ groupId );
132- foreach ($ adminUserIds as $ writeType => $ userIds ) {
133- switch ($ writeType ){
134- case \Zaly \Proto \Core \DataWriteType::WriteAdd:
135- $ userIds = $ adminUserIds [\Zaly \Proto \Core \DataWriteType::WriteAdd];
136- $ memberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberAdmin;
137- $ resultUserId = array_diff ($ userIds , [$ groupInfo ['owner ' ]]);
138- $ resultUserId = array_values ($ resultUserId );
139- $ resultUserId = array_unique ($ resultUserId );
140- $ this ->ctx ->SiteGroupUserTable ->addMemberRole ($ resultUserId , $ groupId , $ memberType );
141- break ;
142- case \Zaly \Proto \Core \DataWriteType::WriteUpdate:
143- $ userIds = $ adminUserIds [\Zaly \Proto \Core \DataWriteType::WriteUpdate];
144- $ resultUserId = array_diff ($ userIds , [$ groupInfo ['owner ' ]]);
145- $ adminMemberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberAdmin;
146- $ nomalMemberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberNormal;
147- $ ownerMemberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberOwner;
148- $ resultUserId = array_values ($ resultUserId );
149- $ resultUserId = array_unique ($ resultUserId );
150- $ this ->ctx ->SiteGroupUserTable ->updateMemberRole ($ resultUserId , $ groupId , $ adminMemberType , $ nomalMemberType , $ ownerMemberType );
151- break ;
152- case \Zaly \Proto \Core \DataWriteType::WriteDel:
153- $ userIds = $ adminUserIds [\Zaly \Proto \Core \DataWriteType::WriteDel];
154- $ memberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberNormal;
155- $ resultUserId = array_diff ($ userIds , [$ groupInfo ['owner ' ]]);
156- $ resultUserId = array_values ($ resultUserId );
157- $ resultUserId = array_unique ($ resultUserId );
158-
159- $ this ->ctx ->SiteGroupUserTable ->removeMemberRole ($ resultUserId , $ groupId , $ memberType );
160- break ;
161- }
124+ switch ($ writeUpdateAdminType ){
125+ case \Zaly \Proto \Core \DataWriteType::WriteUpdate:
126+ $ resultUserId = array_diff ($ adminUserIds , [$ groupInfo ['owner ' ]]);
127+ $ adminMemberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberAdmin;
128+ $ nomalMemberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberNormal;
129+ $ ownerMemberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberOwner;
130+ $ resultUserId = array_values ($ resultUserId );
131+ $ resultUserId = array_unique ($ resultUserId );
132+ $ this ->ctx ->SiteGroupUserTable ->updateMemberRole ($ resultUserId , $ groupId , $ adminMemberType , $ nomalMemberType , $ ownerMemberType );
133+ break ;
134+ case \Zaly \Proto \Core \DataWriteType::WriteAdd:
135+ $ memberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberAdmin;
136+ $ resultUserId = array_diff ($ adminUserIds , [$ groupInfo ['owner ' ]]);
137+ $ resultUserId = array_values ($ resultUserId );
138+ $ resultUserId = array_unique ($ resultUserId );
139+ $ this ->ctx ->SiteGroupUserTable ->addMemberRole ($ resultUserId , $ groupId , $ memberType );
140+ break ;
141+ case \Zaly \Proto \Core \DataWriteType::WriteDel:
142+ $ memberType = \Zaly \Proto \Core \GroupMemberType::GroupMemberNormal;
143+ $ resultUserId = array_diff ($ adminUserIds , [$ groupInfo ['owner ' ]]);
144+ $ resultUserId = array_values ($ resultUserId );
145+ $ resultUserId = array_unique ($ resultUserId );
146+ $ this ->ctx ->SiteGroupUserTable ->removeMemberRole ($ resultUserId , $ groupId , $ memberType );
147+ break ;
162148 }
163149 }
164- $ speakUserIdStr = "" ;
165- if (count ($ speakUserIds )) {
166- $ speakers = (isset ($ groupInfo ['speakers ' ]) && $ groupInfo ['speakers ' ] != "" )
167- ? json_decode ($ groupInfo ['speakers ' ], true )
168- : [];
169- foreach ($ speakUserIds as $ writeType => $ userIds ) {
170- switch ($ writeType ){
171- case \Zaly \Proto \Core \DataWriteType::WriteAdd:
172- $ userIds = $ speakUserIds [\Zaly \Proto \Core \DataWriteType::WriteAdd];
173- $ speakers = array_merge ($ speakers , $ userIds );
174- $ speakers = array_unique ($ speakers );
175- $ speakUserIdStr = json_encode ($ speakers );
176- break ;
177- case \Zaly \Proto \Core \DataWriteType::WriteUpdate:
178- $ userIds = $ speakUserIds [\Zaly \Proto \Core \DataWriteType::WriteUpdate];
179- $ speakers = array_unique ($ speakers );
180- $ speakUserIdStr = json_encode ($ userIds );
181- break ;
182- case \Zaly \Proto \Core \DataWriteType::WriteDel:
183- $ userIds = $ speakUserIds [\Zaly \Proto \Core \DataWriteType::WriteDel];
184- $ speakers = array_diff ($ speakers , $ userIds );
185- $ speakers = array_unique ($ speakers );
186- $ speakUserIdStr = json_encode ($ speakers );
187- break ;
188- }
189- }
150+
151+ if (!$ updateValues ) {
152+ return ;
190153 }
154+
191155 $ where = [
192156 "groupId " => $ groupId
193157 ];
194158 $ updateData = [];
195159 if ($ updateValues ) {
196160 $ updateData = array_merge ($ updateData , $ updateValues );
197161 }
198- if (strlen ($ speakUserIdStr )) {
199- $ updateData ['speakers ' ] = $ speakUserIdStr ;
200- }
201- $ this ->ctx ->Wpf_Logger ->error ($ tag , " group profile update values = " . json_encode ($ updateData ));
202162
203163 if (!count ($ updateData )) {
204164 return ;
0 commit comments