Browse Source

提交类型 添加需求|修复bug
提交内容
1.修改常用联系人,存在显示效果不太友好的情况
2.修改b2b相关的代码

Bitliker 8 years ago
parent
commit
5dccb676ac

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/ChatActivity.java

@@ -64,6 +64,7 @@ import com.core.xmpp.widget.ChatContentView;
 import com.core.xmpp.widget.PullDownListView;
 import com.uas.appcontact.R;
 import com.nostra13.universalimageloader.core.ImageLoader;
+import com.uas.appcontact.db.TopContactsDao;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -517,7 +518,7 @@ public class ChatActivity extends ActionBackActivity
 
         }
         LogUtil.i("发送聊天\n"+JSON.toJSONString(mFriend));
-        FriendHelper.addGoodFriend(this,mFriend);
+        TopContactsDao.api().addGoodFriend(mFriend);
     }
 
     private UploadEngine.ImFileUploadResponse mUploadResponse = new UploadEngine.ImFileUploadResponse() {

+ 3 - 3
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Tue Jan 23 14:08:04 CST 2018
-debugName=561
+#Tue Jan 23 16:58:07 CST 2018
+debugName=567
 versionName=625
-debugCode=561
+debugCode=567
 versionCode=164

+ 11 - 0
app_core/common/src/main/java/com/core/app/Constants.java

@@ -319,6 +319,17 @@ public class Constants {
             + "," + DatabaseTables.UUHelperTable.Cols.TYPE
             + ")";
 
+    //TopContactsTable
+    public static final String TABLE_TOPCONTACTS_RECORD = "create table "
+            + DatabaseTables.TopContactsTable.NAME + "("
+            + DatabaseTables.TopContactsTable.Cols.USER_ID
+            + "," + DatabaseTables.TopContactsTable.Cols.OWNER_ID
+            + "," + DatabaseTables.TopContactsTable.Cols.PHONE
+            + "," + DatabaseTables.TopContactsTable.Cols.NAME
+            + "," + DatabaseTables.TopContactsTable.Cols.EM_CODE
+            + "," + DatabaseTables.TopContactsTable.Cols.LAST_TIME
+            + "," + DatabaseTables.TopContactsTable.Cols.STATUS
+            + ")";
     public static String IS_NOTIFICATION = "is_notification";//是是否进行通知
     /**
      * @desc:常量

+ 4 - 2
app_core/common/src/main/java/com/core/db/DBOpenHelper.java

@@ -13,8 +13,8 @@ import com.core.app.Constants;
  * @注释:建立数据库
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
-    //TODO  上一个发布版本是88
-    private static final int DATABASE_VERSION = 89;
+    //TODO  上一个发布版本是89
+    private static final int DATABASE_VERSION = 90;
     public static String dataBaseName = "erp.db";
     public Context context;
 
@@ -57,6 +57,7 @@ public class DBOpenHelper extends SQLiteOpenHelper {
 //            db.execSQL(Constants.TRACK_POINT); //运行轨迹,实时定位点记录表
             db.execSQL(Constants.TABLE_HISTORICAL_RECORD);//数据查询历史记录表
             db.execSQL(Constants.TABLE_UUHELPER_RECORD);//UU助手
+            db.execSQL(Constants.TABLE_TOPCONTACTS_RECORD);//常用联系人
             db.execSQL(Constants.STEPRANKING_FIRST); //用于存贮每天UU运动排名第一相关的数据表
         } catch (Exception e) {
 
@@ -101,6 +102,7 @@ public class DBOpenHelper extends SQLiteOpenHelper {
 //        db.execSQL("DROP TABLE IF EXISTS trackPoint");
         db.execSQL("DROP TABLE IF EXISTS " + DatabaseTables.HistoricalRecordTable.NAME);
         db.execSQL("DROP TABLE IF EXISTS " + DatabaseTables.UUHelperTable.NAME);
+        db.execSQL("DROP TABLE IF EXISTS " + DatabaseTables.TopContactsTable.NAME);
         db.execSQL("DROP TABLE IF EXISTS StepRankingFirst");
     }
 

+ 12 - 0
app_core/common/src/main/java/com/core/db/DatabaseTables.java

@@ -32,4 +32,16 @@ public interface DatabaseTables {
             String TYPE = "type";
         }
     }
+    interface TopContactsTable {
+        String NAME = "top_contacts";
+        interface Cols {
+            String USER_ID = "userId";
+            String OWNER_ID = "ownerId";
+            String PHONE = "phone";
+            String NAME = "name";
+            String EM_CODE = "emCode";
+            String LAST_TIME = "lastTime";
+            String STATUS = "status";
+        }
+    }
 }

+ 5 - 1
app_modular/appcontact/src/main/java/com/uas/appcontact/adapter/FriendSortAdapter.java

@@ -20,6 +20,7 @@ import com.core.utils.sortlist.BaseSortModel;
 import com.core.widget.crouton.Crouton;
 import com.core.xmpp.FriendHelper;
 import com.uas.appcontact.R;
+import com.uas.appcontact.db.TopContactsDao;
 import com.uas.appcontact.ui.widget.stickylistheaders.StickyListHeadersAdapter;
 
 import java.util.ArrayList;
@@ -155,7 +156,10 @@ public class FriendSortAdapter extends BaseAdapter implements SectionIndexer,Sti
 //                        selectByPhone(phone, finalConvertView);
                         SystemUtil.phoneAction(mContext,phone);
                         LogUtil.i("通讯录界面 拨打电话\n"+ JSON.toJSONString(friend));
-                        FriendHelper.addGoodFriend(mContext,friend);
+                        if (friend!=null){
+                            friend.setPhone(phone);
+                        }
+                        TopContactsDao.api().addGoodFriend(friend);
                     } else {
                         Crouton.makeText(mContext, R.string.not_format_phone);
                     }

+ 113 - 6
app_modular/appcontact/src/main/java/com/uas/appcontact/db/TopContactsDao.java

@@ -1,27 +1,134 @@
 package com.uas.appcontact.db;
 
 import android.content.ContentValues;
+import android.content.Context;
 import android.database.Cursor;
 
+import com.alibaba.fastjson.JSON;
+import com.common.LogUtil;
+import com.common.data.ListUtils;
+import com.core.app.MyApplication;
 import com.core.dao.Dao;
+import com.core.db.DatabaseTables;
+import com.core.model.Friend;
+import com.core.model.Hrorgs;
+import com.core.utils.sortlist.BaseSortModel;
+import com.core.xmpp.dao.FriendDao;
+import com.uas.appcontact.model.TopContacts;
+
+import java.util.List;
 
 /**
  * Created by Bitlike on 2018/1/23.
  */
 
-public class TopContactsDao extends Dao<TopContactsDao> {
+public class TopContactsDao extends Dao<TopContacts> {
     @Override
     protected String getTable() {
-        return null;
+        return DatabaseTables.TopContactsTable.NAME;
     }
 
     @Override
-    protected ContentValues getValues(TopContactsDao topContactsDao) throws Exception {
-        return null;
+    protected ContentValues getValues(TopContacts topContacts) throws Exception {
+        ContentValues values = new ContentValues();
+        values.put(DatabaseTables.TopContactsTable.Cols.USER_ID, topContacts.getUserId());
+        values.put(DatabaseTables.TopContactsTable.Cols.OWNER_ID, topContacts.getOwnerId());
+        values.put(DatabaseTables.TopContactsTable.Cols.PHONE, topContacts.getPhone());
+        values.put(DatabaseTables.TopContactsTable.Cols.NAME, topContacts.getName());
+        values.put(DatabaseTables.TopContactsTable.Cols.EM_CODE, topContacts.getEmCode());
+        values.put(DatabaseTables.TopContactsTable.Cols.LAST_TIME, topContacts.getLastTime());
+        values.put(DatabaseTables.TopContactsTable.Cols.STATUS, topContacts.getStatus());
+        return values;
     }
 
     @Override
-    protected TopContactsDao getData(Cursor c) throws Exception {
-        return null;
+    protected TopContacts getData(Cursor c) throws Exception {
+        TopContacts topContacts = new TopContacts();
+        topContacts.setUserId(c.getString(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.USER_ID)));
+        topContacts.setOwnerId(c.getString(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.OWNER_ID)));
+        topContacts.setPhone(c.getString(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.PHONE)));
+        topContacts.setName(c.getString(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.NAME)));
+        topContacts.setEmCode(c.getString(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.EM_CODE)));
+        topContacts.setLastTime(c.getLong(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.LAST_TIME)));
+        topContacts.setStatus(c.getInt(c.getColumnIndex(DatabaseTables.TopContactsTable.Cols.STATUS)));
+        return topContacts;
+    }
+
+
+    private static TopContactsDao api;
+
+    public static TopContactsDao api() {
+        if (api == null) {
+            synchronized (TopContactsDao.class) {
+                if (api == null) {
+                    api = new TopContactsDao();
+                }
+            }
+        }
+        return api;
+    }
+
+    private TopContactsDao() {
+
+    }
+
+
+    public void addGoodFriend(Friend friend) {
+        if (friend != null) {
+            TopContacts topContacts = new TopContacts();
+            String ownerId = MyApplication.getInstance().getLoginUserId();
+            String userId = String.valueOf(friend.getUserId());
+            topContacts.setUserId(userId);
+            topContacts.setOwnerId(ownerId);
+            topContacts.setName(friend.getNickName());
+            topContacts.setEmCode(friend.getEmCode());
+            topContacts.setPhone(friend.getPhone());
+            topContacts.setLastTime(System.currentTimeMillis());
+            addGoodFriend(topContacts);
+        }
+    }
+
+
+    public void addGoodFriend(Hrorgs.Employee employee) {
+        if (employee != null) {
+            TopContacts topContacts = new TopContacts();
+            String ownerId = MyApplication.getInstance().getLoginUserId();
+            String userId = String.valueOf(employee.em_imid);
+            topContacts.setUserId(userId);
+            topContacts.setOwnerId(ownerId);
+            topContacts.setName(employee.em_name);
+            topContacts.setEmCode(employee.em_code);
+            topContacts.setPhone(employee.em_mobile);
+            topContacts.setLastTime(System.currentTimeMillis());
+            addGoodFriend(topContacts);
+        }
+    }
+
+    /**
+     * 添加常用
+     * 1.拨打电话
+     * 2.发送聊天信息
+     */
+    public void addGoodFriend(TopContacts topContacts) {
+        String where = DatabaseTables.TopContactsTable.Cols.OWNER_ID + "=? and "
+                + DatabaseTables.TopContactsTable.Cols.USER_ID + "=? ";
+        String[] whereAge = new String[]{topContacts.getOwnerId(), topContacts.getUserId()};
+        List<TopContacts> dbContacts = query(where, whereAge);
+        LogUtil.i("owner_id=" + topContacts.getOwnerId());
+        LogUtil.i("user_id=" + topContacts.getUserId());
+        if (ListUtils.isEmpty(dbContacts)) {
+            LogUtil.i("ListUtils.isEmpty(dbContacts)=");
+            boolean b = insert(topContacts, where, whereAge);
+            LogUtil.i("insert=" + b);
+        } else {
+            LogUtil.i("ListUtils.isEmpty(dbContacts)=elseelseelseelseelse"+dbContacts.size());
+            TopContacts dbContact = dbContacts.get(0);
+            if (dbContact != null && (System.currentTimeMillis() - dbContact.getLastTime())< (86400000)) {
+                topContacts.setStatus(1);
+            }
+            LogUtil.i("dbContact=" + JSON.toJSONString(dbContact));
+            boolean b = update(topContacts, where, whereAge);
+            LogUtil.i("update=" + b);
+        }
     }
 }

+ 1 - 1
app_modular/appcontact/src/main/java/com/uas/appcontact/model/TopContacts.java

@@ -6,8 +6,8 @@ package com.uas.appcontact.model;
 
 public class TopContacts {
 
-    private String ownerId;
     private String userId;
+    private String ownerId;
     private String phone;
     private String name;
     private String emCode;

+ 3 - 2
app_modular/appcontact/src/main/java/com/uas/appcontact/ui/activity/CompanyContactsActivity.java

@@ -57,6 +57,7 @@ import com.core.xmpp.dao.FriendDao;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
 import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
 import com.uas.appcontact.R;
+import com.uas.appcontact.db.TopContactsDao;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -1136,7 +1137,7 @@ public class CompanyContactsActivity extends BaseActivity {
                         @Override
                         public void onClick(View v) {
                             SystemUtil.phoneAction(ct, employees.get(position - lists.size()).getEm_mobile());
-                            FriendHelper.addGoodFriend(ct, employees.get(position - lists.size()));
+                            TopContactsDao.api().addGoodFriend( employees.get(position - lists.size()));
                         }
                     });
                 }
@@ -1173,7 +1174,7 @@ public class CompanyContactsActivity extends BaseActivity {
                     @Override
                     public void onClick(View v) {
                         SystemUtil.phoneAction(ct, employees.get(position - lists.size()).getEm_mobile());
-                        FriendHelper.addGoodFriend(ct, employees.get(position - lists.size()));
+                        TopContactsDao.api().addGoodFriend( employees.get(position - lists.size()));
                     }
                 });
             }

+ 9 - 4
app_modular/appme/src/main/java/com/uas/appme/other/activity/BasicInfoActivity.java

@@ -67,6 +67,7 @@ import com.core.xmpp.listener.NewFriendListener;
 import com.core.xmpp.model.AddAttentionResult;
 import com.core.xmpp.utils.CardcastUiUpdateUtil;
 import com.uas.appcontact.db.ContactsDao;
+import com.uas.appcontact.db.TopContactsDao;
 import com.uas.appcontact.model.contacts.ContactsModel;
 import com.uas.appme.R;
 
@@ -530,18 +531,22 @@ public class BasicInfoActivity extends BaseActivity implements NewFriendListener
         phone_img.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (!StringUtil.isEmpty(phone_tv.getText().toString())) {
+                String phone=StringUtil.getText(phone_tv);
+                if (!StringUtil.isEmpty(phone)) {
                     String check = "^[1][3,5,7,8][0-9]\\d{8}$";
                     Pattern regex = Pattern.compile(check);
-                    Matcher matcher = regex.matcher(phone_tv.getText().toString());
+                    Matcher matcher = regex.matcher(phone);
                     boolean isMatched = matcher.matches();
                     if (isMatched) {
-                        SystemUtil.phoneAction(BasicInfoActivity.this,phone_tv.getText().toString());
+                        SystemUtil.phoneAction(BasicInfoActivity.this,phone);
                     } else {
                         ViewUtil.ShowMessageTitle(BasicInfoActivity.this, getString(R.string.error_phone));
                     }
+                    if (mFriend!=null){
+                        mFriend.setPhone(phone);
+                    }
                     LogUtil.i("个人资料界面 拨打电话\n"+ JSON.toJSONString(mFriend));
-                    FriendHelper.addGoodFriend(ct,mFriend);
+                    TopContactsDao.api().addGoodFriend(mFriend);
                 }
             }
         });

+ 3 - 2
app_modular/appworks/src/main/java/com/uas/appworks/OA/platform/adapter/PurchaseDetailsAdapter.java

@@ -57,7 +57,7 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
     public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
         if (viewType == 0) {
             return new TotalViewHolder(parent);
-        } else if (viewType > ListUtils.getSize(purchases)) {
+        } else if (viewType == ListUtils.getSize(purchases)) {
             return new BtnViewHolder(parent);
         }
         return new ViewHolder(parent);
@@ -65,7 +65,7 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
 
     @Override
     public int getItemCount() {
-        return canReply ? ListUtils.getSize(purchases) + 1 : ListUtils.getSize(purchases);
+        return ListUtils.getSize(purchases) + 1;
     }
 
 
@@ -79,6 +79,7 @@ public class PurchaseDetailsAdapter extends RecyclerView.Adapter<RecyclerView.Vi
         public BtnViewHolder(View itemView) {
             super(itemView);
             replyBtn = itemView.findViewById(R.id.replyBtn);
+            replyBtn.setVisibility(canReply ? View.VISIBLE : View.GONE);
         }
     }
 

+ 2 - 0
app_modular/appworks/src/main/res/layout/item_btn.xml

@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
+    android:paddingTop="@dimen/padding"
+    android:paddingBottom="@dimen/padding"
     android:layout_height="wrap_content">
     <Button
         android:id="@+id/replyBtn"