扫码加导游群接口逻辑

chengzhenyu 8 gadi atpakaļ
vecāks
revīzija
9d3a441979

+ 1 - 1
.idea/misc.xml

@@ -37,7 +37,7 @@
37 37
     <ConfirmationsSetting value="0" id="Add" />
38 38
     <ConfirmationsSetting value="0" id="Remove" />
39 39
   </component>
40
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
40
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
41 41
     <output url="file://$PROJECT_DIR$/build/classes" />
42 42
   </component>
43 43
   <component name="ProjectType">

+ 1 - 0
.idea/modules.xml

@@ -3,6 +3,7 @@
3 3
   <component name="ProjectModuleManager">
4 4
     <modules>
5 5
       <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
6
+      <module fileurl="file://$PROJECT_DIR$/client.iml" filepath="$PROJECT_DIR$/client.iml" />
6 7
       <module fileurl="file://$PROJECT_DIR$/common/common.iml" filepath="$PROJECT_DIR$/common/common.iml" />
7 8
       <module fileurl="file://$PROJECT_DIR$/trunk.iml" filepath="$PROJECT_DIR$/trunk.iml" />
8 9
       <module fileurl="file://$PROJECT_DIR$/views/views.iml" filepath="$PROJECT_DIR$/views/views.iml" />

+ 1 - 0
.idea/vcs.xml

@@ -2,5 +2,6 @@
2 2
 <project version="4">
3 3
   <component name="VcsDirectoryMappings">
4 4
     <mapping directory="" vcs="svn" />
5
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
5 6
   </component>
6 7
 </project>

+ 2 - 2
app/src/main/java/ai/pai/client/activity/MainActivity.java

@@ -312,7 +312,7 @@ public class MainActivity extends AppCompatActivity
312 312
 
313 313
     @Override
314 314
     public void onCommandCommitFail(int command, String msg) {
315
-        if (command == GroupService.GroupCommand.COMMAND_JOIN_GROUP) {
315
+        if (command == GroupService.GroupCommand.COMMAND_JOIN_GROUP||command == GroupService.GroupCommand.COMMAND_JOIN_GUIDE_GROUP) {
316 316
             if(TextUtils.isEmpty(msg)){
317 317
                 msg = getString(R.string.group_join_fail_tip);
318 318
             }
@@ -322,7 +322,7 @@ public class MainActivity extends AppCompatActivity
322 322
 
323 323
     @Override
324 324
     public void onCommandCommitSuccess(int command, Object response) {
325
-        if (command == GroupService.GroupCommand.COMMAND_JOIN_GROUP) {
325
+        if (command == GroupService.GroupCommand.COMMAND_JOIN_GROUP||command == GroupService.GroupCommand.COMMAND_JOIN_GUIDE_GROUP) {
326 326
             GroupInfo info = (GroupInfo) response;
327 327
             Intent intent = new Intent(this, GroupActivity.class);
328 328
             intent.putExtra("group", info);

+ 8 - 0
app/src/main/java/ai/pai/client/db/Preferences.java

@@ -43,6 +43,14 @@ public class Preferences {
43 43
         return mPrefs.getString("userName",NullStr);
44 44
     }
45 45
 
46
+    public void setTourGuidePhone(String phone){
47
+        mPrefs.edit().putString("tour_phone",phone).commit();
48
+    }
49
+
50
+    public String getTourGuidePhone(){
51
+        return mPrefs.getString("tour_phone",NullStr);
52
+    }
53
+
46 54
     public void setUserPhone(String phone){
47 55
         mPrefs.edit().putString("phone",phone).commit();
48 56
     }

+ 88 - 0
app/src/main/java/ai/pai/client/services/GroupService.java

@@ -46,6 +46,7 @@ public class GroupService extends Service implements UploadTask.OnPhotoUploadLis
46 46
     private Context context;
47 47
     private HttpPostTask lockGroupTask;
48 48
     private HttpPostTask unlockGroupTask;
49
+    private HttpPostTask joinGuideGroupTask;
49 50
     private HttpPostTask joinGroupTask;
50 51
     private HttpPostTask fetchPhotosTask;
51 52
     private HttpPostTask refreshPhotosTask;
@@ -121,6 +122,8 @@ public class GroupService extends Service implements UploadTask.OnPhotoUploadLis
121 122
             case GroupCommand.COMMAND_QUIT_GROUP:
122 123
                 doQuitGroupTask(bundle);
123 124
                 break;
125
+            case GroupCommand.COMMAND_JOIN_GUIDE_GROUP:
126
+                break;
124 127
         }
125 128
         return START_STICKY;
126 129
     }
@@ -138,6 +141,91 @@ public class GroupService extends Service implements UploadTask.OnPhotoUploadLis
138 141
         this.listener = null;
139 142
     }
140 143
 
144
+    private synchronized void doJoinGuideGroupTask(final Bundle bundle){
145
+        if(joinGuideGroupTask!=null && joinGuideGroupTask.getStatus()== AsyncTask.Status.RUNNING){
146
+            return;
147
+        }
148
+        LogHelper.d(TAG,"group service doJoinGuideGroupTask  ");
149
+        final HashMap<String,String> params = new HashMap<String,String>();
150
+        params.put("admin_id",bundle.getString("admin_id"));
151
+        params.put("name",bundle.getString("name"));
152
+        params.put("phone",bundle.getString("phone"));
153
+        params.put("relative_person",String.valueOf(1));
154
+        params.put("remark","");
155
+        params.put("user_id", Preferences.getInstance(this).getUserId());
156
+
157
+        joinGuideGroupTask = new HttpPostTask(context,params) {
158
+
159
+            GroupInfo groupInfo = null;
160
+            ArrayList<GroupPhotoItem> photoList = null;
161
+            String msg = "";
162
+            @Override
163
+            protected boolean parseResponse(Context context, String response) {
164
+                try{
165
+                    LogHelper.d(TAG,"group service doJoinGuideGroupTask  parseResponse "+response);
166
+                    JSONObject json = new JSONObject(response);
167
+                    int status = json.getInt("status");
168
+                    msg = json.getString("message");
169
+                    if(status==200 || status==402011){
170
+                        JSONObject data = json.getJSONObject("data");
171
+                        JSONObject group = data.getJSONObject("group");
172
+                        groupInfo = new GroupInfo();
173
+                        groupInfo.groupId = group.getString("group_id");
174
+                        groupInfo.groupAvatarId = group.getInt("group_default_avatar");
175
+                        groupInfo.groupLock = group.getBoolean("group_lock");
176
+                        groupInfo.groupName = group.getString("group_name");
177
+                        groupInfo.createTime = group.getString("created_at");
178
+                        groupInfo.groupFrom = group.getInt("group_from");
179
+                        if(data.has("photos")){
180
+                            JSONArray sessionArray = data.getJSONArray("photos");
181
+                            if(sessionArray!=null && sessionArray.length()>0) {
182
+                                photoList = new ArrayList<>();
183
+                                for(int k = 0; k<sessionArray.length();k++){
184
+                                    JSONObject sessionObj = sessionArray.getJSONObject(k);
185
+                                    String sessionId = sessionObj.getString("session_id");
186
+                                    JSONArray photoArray = sessionObj.getJSONArray("photos");
187
+                                    if(photoArray!=null && photoArray.length()>0){
188
+                                        for(int m = 0; m<photoArray.length();m++){
189
+                                            JSONObject photoObj = photoArray.getJSONObject(m);
190
+                                            GroupPhotoItem groupPhotoItem = GroupPhotoItem.parseFromJSON(photoObj);
191
+                                            groupPhotoItem.sessionId = sessionId;
192
+                                            photoList.add(groupPhotoItem);
193
+                                        }
194
+                                    }
195
+                                }
196
+                                LogHelper.d(TAG,"group service doJoinGuideGroupTask  get new photos ,count="+photoList.size());
197
+                                DBService.getInstance(context).addGroupPhotoList(photoList);
198
+                            }
199
+
200
+                            int currentId = data.getInt("current_id");
201
+                            DBService.getInstance(context).updateCurrentIdByGroupId(groupInfo.groupId,String.valueOf(currentId));
202
+                        }
203
+                        return  true;
204
+                    }
205
+                }catch (Exception e){
206
+                    LogHelper.e(TAG,"group service doJoinGuideGroupTask error happen "+e);
207
+                }
208
+                return false;
209
+            }
210
+
211
+            @Override
212
+            protected void onPostFail(Context context) {
213
+                super.onPostFail(context);
214
+                if(listener!=null){
215
+                    listener.onCommandCommitFail(GroupCommand.COMMAND_JOIN_GUIDE_GROUP,msg);
216
+                }
217
+            }
218
+
219
+            @Override
220
+            protected void onPostSuccess(Context context) {
221
+                super.onPostSuccess(context);
222
+                if(listener!=null){
223
+                    listener.onCommandCommitSuccess(GroupCommand.COMMAND_JOIN_GUIDE_GROUP,groupInfo);
224
+                }
225
+            }
226
+        };
227
+        joinGuideGroupTask.executeOnExecutor(ThreadExecutor.getInstance().getExecutor(),UrlContainer.GUIDE_GROUP_JOIN_URL);
228
+    }
141 229
 
142 230
     private synchronized void doJoinGroupTask(final Bundle bundle){
143 231
         if(joinGroupTask!=null && joinGroupTask.getStatus()== AsyncTask.Status.RUNNING){