|
|
@@ -0,0 +1,112 @@
|
|
|
+package com.baidu.idl.face.platform.ui.activity;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baidu.idl.face.platform.ui.config.FaceConfig;
|
|
|
+import com.common.LogUtil;
|
|
|
+import com.common.data.JSONUtil;
|
|
|
+import com.common.data.ListUtils;
|
|
|
+import com.common.data.StringUtil;
|
|
|
+import com.core.model.EmployeesEntity;
|
|
|
+import com.core.utils.CommonUtil;
|
|
|
+import com.me.network.app.http.HttpClient;
|
|
|
+import com.me.network.app.http.Method;
|
|
|
+import com.me.network.app.http.rx.Result2Listener;
|
|
|
+import com.me.network.app.http.rx.ResultSubscriber;
|
|
|
+import com.modular.apputils.activity.BaseNetActivity;
|
|
|
+import com.modular.apputils.manager.ContactsManager;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 当前账套保存的人脸列表
|
|
|
+ */
|
|
|
+public class FaceListActivity extends BaseNetActivity implements ContactsManager.OnEmployListener {
|
|
|
+ private Map<String, Integer> faceIdList;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected String getBaseUrl() {
|
|
|
+ return "https://aip.baidubce.com/";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected int getLayoutId() {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void init() throws Exception {
|
|
|
+ initData();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void initData() {
|
|
|
+ loadFaceList();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void loadFaceList() {
|
|
|
+ showProgress();
|
|
|
+ FaceConfig.loadToken(new FaceConfig.FaceTokenListener() {
|
|
|
+ @Override
|
|
|
+ public void callBack(String accessToken) {
|
|
|
+ LogUtil.i("gong", "accessToken=" + accessToken);
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("rest/2.0/face/v3/faceset/group/getusers")
|
|
|
+ .add("access_token", accessToken)
|
|
|
+ .header("Content-Type", "application/json")
|
|
|
+ .add("length", 1000)
|
|
|
+ .add("group_id", CommonUtil.getEnuu(ct))
|
|
|
+ .isDebug(true)
|
|
|
+ .method(Method.GET).build(), new ResultSubscriber<>(new Result2Listener<Object>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ try {
|
|
|
+ JSONObject jsonObject = JSON.parseObject(o.toString());
|
|
|
+ JSONObject result = JSONUtil.getJSONObject(jsonObject, "result");
|
|
|
+ if (JSONUtil.getText(jsonObject,"error_msg").equals("SUCCESS") || !result.isEmpty()) {
|
|
|
+ JSONArray user_id_list = JSONUtil.getJSONArray(result, "user_id_list");
|
|
|
+ if (!ListUtils.isEmpty(user_id_list)) {
|
|
|
+ if (faceIdList == null) {
|
|
|
+ faceIdList = new HashMap<>();
|
|
|
+ } else {
|
|
|
+ faceIdList.clear();
|
|
|
+ }
|
|
|
+ for (int i = 0; i < user_id_list.size(); i++) {
|
|
|
+ if (!StringUtil.isEmpty(user_id_list.getString(i))) {
|
|
|
+ faceIdList.put(user_id_list.getString(i), 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ ContactsManager.getInstance().loadContact(FaceListActivity.this);
|
|
|
+ dismissProgress();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailure(Object t) {
|
|
|
+ dismissProgress();
|
|
|
+ LogUtil.i("gong", "verify onFailure=" + t.toString());
|
|
|
+ }
|
|
|
+ }));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void callback(List<EmployeesEntity> employees) {
|
|
|
+ Iterator<EmployeesEntity> iterator = employees.iterator();
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ EmployeesEntity e = iterator.next();
|
|
|
+ if (!faceIdList.containsKey(e.getEm_IMID())) {
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|