Browse Source

b2b商务消息展示功能模块处理完毕

Arisono 9 years ago
parent
commit
00616119a3

+ 6 - 3
WeiChat/src/main/AndroidManifest.xml

@@ -422,9 +422,12 @@
         <activity android:name=".ui.erp.activity.crm.BusinessActivity" />
         <activity android:name=".ui.erp.activity.crm.BusinessDetailActivty" />
         <activity android:name=".ui.erp.activity.crm.BusinessDetailInfoActivity" />
-        <activity android:name=".ui.erp.activity.crm.BusinessLessActivity"></activity>
-        <activity android:name=".ui.erp.activity.crm.BusinessTransferActivity"></activity>
-        <activity android:name=".ui.erp.activity.crm.BusinessSelectCustomerActivity"></activity>
+        <activity android:name=".ui.erp.activity.crm.BusinessLessActivity" />
+        <activity android:name=".ui.erp.activity.crm.BusinessTransferActivity" />
+        <activity android:name=".ui.erp.activity.crm.BusinessSelectCustomerActivity" />
+        <activity
+            android:name=".ui.message.uas.B2bMsgActivity"
+            android:launchMode="singleTask"></activity>
     </application>
 
 </manifest>

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/db/dao/SubscriptionDao.java

@@ -213,11 +213,12 @@ public class SubscriptionDao {
 
                 messages.add(message);
             }
-
+            values.close();
         } catch (SQLException e) {
             Log.i("gong", e.getMessage());
         } finally {
             db.close();
+
         }
         for (int i = 0; i < messages.size(); i++) {
             Log.i("aaaaa", messages.get(i).getTITLE_());

+ 15 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/PushNetMessageReceiver.java

@@ -9,6 +9,7 @@ import com.baidu.android.pushservice.PushMessageReceiver;
 import com.loopj.android.http.AsyncHttpClient;
 import com.loopj.android.http.AsyncHttpResponseHandler;
 import com.loopj.android.http.RequestParams;
+import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.MyApplication;
@@ -84,8 +85,20 @@ public class PushNetMessageReceiver extends PushMessageReceiver {
 	public void onNotificationArrived(Context ct, String title, String content, String params) {
 		if(new JsonValidator().validate(params)){
 			  String platform=JSON.parseObject(params).getString("platform");
-			if(StringUtils.isEmpty(platform)){
+			String msgContent = JSON.parseObject(params).getString("content");
+			String master = JSON.parseObject(params).getString("master");
+			String pageTitle = JSON.parseObject(params).getString("pageTitle");
+			Log.i("Arison", "" + pageTitle);
+			if (!com.xzjmyk.pm.activity.util.StringUtils.isEmpty(pageTitle)) {
+				if (pageTitle.contains("商务消息")) {
+					CommonUtil.pushProcessB2bMsg(ct, msgContent, master);
+				}
+			}
+
+			if (StringUtils.isEmpty(platform)) {
 				CommonUtil.pushProcessMsg(ct, MyApplication.getInstance().mLoginUser.getUserId());
+			} else {
+				MsgBroadcast.broadcastMsgUiUpdate(ct);
 			}
 
 		}
@@ -120,7 +133,7 @@ public class PushNetMessageReceiver extends PushMessageReceiver {
 					CommonUtil.loadWebView(ct,url,titlePage,master,masterId,uu);
 				}
 			}else{
-				ViewUtil.ToastMessage(ct, "缺少参数:platform");
+//				ViewUtil.ToastMessage(ct, "缺少参数:platform");
 			}
 		}else{
 			ViewUtil.ToastMessage(ct, "服务器未指定需要的参数");

+ 10 - 6
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java

@@ -29,12 +29,13 @@ public class DBManager {
 
     public void saveB2bMsg(B2BMsg entity) {
         String sql = "replace into B2BMSG"
-                + "(b2b_content,b2b_time,b2b_hasRead)"
-                + " values (?, ?, ?);";
+                + "(b2b_content,b2b_time,b2b_hasRead,b2b_master)"
+                + " values (?, ?, ?, ?);";
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindString(1, entity.getContent());
         sta.bindString(2, entity.getTime());
         sta.bindLong(3, entity.getHasRead());
+        sta.bindString(4, entity.getMaster());
         sta.execute();
     }
 
@@ -43,16 +44,19 @@ public class DBManager {
         String table = "B2BMSG";
         String groupBy = null;
         String having = null;
-        String orderBy = null;
+        String orderBy = " b2b_hasRead,b2b_time DESC";
         Cursor cursor = db.query(table, null, selection, selectionArgs, groupBy, having, orderBy);
         while (cursor.moveToNext()) {
             B2BMsg model = new B2BMsg();
+            model.setId(cursor.getInt(cursor.getColumnIndex("id")));
             model.setContent(cursor.getString(cursor.getColumnIndex("b2b_content")));
             model.setHasRead(cursor.getInt(cursor.getColumnIndex("b2b_hasRead")));
             model.setTime(cursor.getString(cursor.getColumnIndex("b2b_time")));
+            model.setMaster(cursor.getString(cursor.getColumnIndex("b2b_master")));
             entity.add(model);
         }
         cursor.close();
+
         return entity;
 
     }
@@ -60,10 +64,11 @@ public class DBManager {
     public void updateB2b(B2BMsg data) {
         String sql = "update B2BMSG"
                 + " set b2b_hasRead=?"
-                + " where b2b_content=?;";
+                + " where id=? and b2b_master=? ;";
         SQLiteStatement sta = db.compileStatement(sql);
         sta.bindLong(1, data.getHasRead());
-        sta.bindString(2, data.getContent());
+        sta.bindLong(2, data.getId());
+        sta.bindString(3, data.getMaster());
         sta.executeInsert();
     }
 
@@ -116,7 +121,6 @@ public class DBManager {
      * @功能:更新组织架构---批量 根据or_code来更新数据
      */
     public void updateHrogrs(List<HrorgsEntity> hrorgsList) {
-
         String sql = "update hrorgs"
                 + " set or_code=?,whichsys=?,or_subof=?,company=?,or_isleaf=?,or_name=?,or_id=?,or_flag=?"
                 + " where or_code=?;";

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBOpenHelper.java

@@ -13,7 +13,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.Constants;
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
 
-    private static final int DATABASE_VERSION = 41;//数据库版本号
+    private static final int DATABASE_VERSION = 43;//数据库版本号
     public static String dataBaseName = "erp.db";//数据库名称
     public Context context;
 

+ 18 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/entity/B2BMsg.java

@@ -4,8 +4,10 @@ package com.xzjmyk.pm.activity.ui.erp.entity;
  * Created by Arisono on 2016/6/28.
  */
 public class B2BMsg {
+    private int id;
     private String content;
     private String time;
+    private String master;
     private int hasRead;
 
     public String getContent() {
@@ -31,4 +33,20 @@ public class B2BMsg {
     public void setHasRead(int hasRead) {
         this.hasRead = hasRead;
     }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getMaster() {
+        return master;
+    }
+
+    public void setMaster(String master) {
+        this.master = master;
+    }
 }

+ 18 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -29,6 +29,9 @@ import com.xzjmyk.pm.activity.bean.message.XmppMessage;
 import com.xzjmyk.pm.activity.db.dao.ChatMessageDao;
 import com.xzjmyk.pm.activity.db.dao.FriendDao;
 import com.xzjmyk.pm.activity.ui.erp.activity.WebViewLoadActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+import com.xzjmyk.pm.activity.ui.erp.entity.B2BMsg;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.xmpp.listener.ChatMessageListener;
 import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
@@ -43,6 +46,8 @@ import java.util.UUID;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import flexjson.BeanAnalyzer;
+
 @SuppressLint("NewApi")
 public class CommonUtil {
 
@@ -524,6 +529,19 @@ public class CommonUtil {
         return sdf.format(date);
     }
 
+
+    public static void pushProcessB2bMsg(Context ct, String content, String master) {
+        DBManager db = new DBManager(ct);
+        B2BMsg model = new B2BMsg();
+        model.setContent(content);
+        model.setHasRead(0);
+        model.setTime(DateFormatUtil.getDateTime());
+        model.setMaster(master);
+        db.saveB2bMsg(model);
+        db.closeDB();
+        Log.i("Arison", "" + "数据保存成功!");
+    }
+
     public static void pushProcessMsg(Context ct, String ownerId) {
         // 添加一条系统提示
         ChatMessage chatMessage = new ChatMessage();

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java

@@ -79,7 +79,8 @@ public class Constants {
             + "(id integer primary key autoincrement,"
             + "b2b_content varchar(50),"
             + "b2b_time varchar(50),"
-            + "b2b_hasRead integer"
+            + "b2b_hasRead integer,"
+            + "b2b_master varchar(50)"
             + ")";
 
     /**

+ 29 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/MessageFragment.java

@@ -10,6 +10,7 @@ import android.os.Message;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -47,6 +48,8 @@ import com.xzjmyk.pm.activity.ui.base.EasyFragment;
 import com.xzjmyk.pm.activity.ui.erp.activity.NoticeMenuActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.ScheduleActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.TaskActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+import com.xzjmyk.pm.activity.ui.erp.entity.B2BMsg;
 import com.xzjmyk.pm.activity.ui.erp.model.AllProcess;
 import com.xzjmyk.pm.activity.ui.erp.model.NewsEntity;
 import com.xzjmyk.pm.activity.ui.erp.model.NoticeEntity;
@@ -54,7 +57,9 @@ import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.util.FlexJsonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
 import com.xzjmyk.pm.activity.ui.erp.util.ObjectUtils;
+import com.xzjmyk.pm.activity.ui.message.uas.B2bMsgActivity;
 import com.xzjmyk.pm.activity.ui.tool.ThreadPool;
 import com.xzjmyk.pm.activity.util.HtmlUtils;
 import com.xzjmyk.pm.activity.util.StringUtils;
@@ -95,7 +100,7 @@ public class MessageFragment extends EasyFragment {
         public void onReceive(Context context, Intent intent) {
             if (intent.getAction().equals(MsgBroadcast.ACTION_MSG_UI_UPDATE)) {
                 if (isResumed()) {
-                    loadData();
+                    refreshUI();
                 } else {
                     mNeedUpdate = true;
                 }
@@ -284,6 +289,7 @@ public class MessageFragment extends EasyFragment {
         view.findViewById(R.id.task_rl).setOnClickListener(listener);
         view.findViewById(R.id.notice_rl).setOnClickListener(listener);
         view.findViewById(R.id._rl).setOnClickListener(listener);
+        view.findViewById(R.id.rl_b2b_business).setOnClickListener(listener);
         return view;
     }
 
@@ -307,6 +313,9 @@ public class MessageFragment extends EasyFragment {
                 case R.id._rl:
                     startActivity(new Intent(mActivity, SubscriptionActivity.class));
                     break;
+                case R.id.rl_b2b_business:
+                    startActivity(new Intent(mActivity, B2bMsgActivity.class));
+                    break;
             }
         }
     };
@@ -322,6 +331,7 @@ public class MessageFragment extends EasyFragment {
         loadGongGaoCount(mActivity);
         loadNoticeCount(mActivity);
         loadERPNewsNum(mActivity);
+        loadB2bMessageNum();
     }
 
 
@@ -667,7 +677,23 @@ public class MessageFragment extends EasyFragment {
      * @return:
      */
     public void loadB2bMessageNum() {
-        //erp数据库中取数据
+        DBManager db = new DBManager(getActivity());
+        String master = CommonUtil.getSharedPreferences(getActivity(), "erp_master");
+        Log.i("Arison", "" + master);
+
+        List<B2BMsg> bMsgs = db.queryB2bList(new String[]{"0", master}, " b2b_hasRead=? and b2b_master=? ");
+        Log.i("B2B", "" + JSON.toJSONString(bMsgs));
+        if (!ListUtils.isEmpty(bMsgs)) {
+            if (b2b_num_tv == null) return;
+            b2b_num_tv.setText(bMsgs.size() + "");
+            b2b_num_tv.setVisibility(View.VISIBLE);
+            b2b_content_tv.setText("您有" + bMsgs.size() + "条商务消息未读");
+            rl_b2b.setVisibility(View.VISIBLE);
+            setListener(bMsgs.size() + GONGGAO_count + NOTICE_count + NES_count + TASK_count + DAIBAN_count + SUBRICE_count);
+        } else {
+            rl_b2b.setVisibility(View.GONE);
+        }
+        db.closeDB();
     }
 
 
@@ -864,7 +890,7 @@ public class MessageFragment extends EasyFragment {
 
     public void getErpMsgNums(Message msg) {
         String reString = msg.getData().getString("result");
-
+        Log.i("Arison", "" + reString);
         if (reString != null && !reString.equals("500")) {
             Map<String, Object> results = FlexJsonUtil.fromJson(reString);
             if (results.get("allProcess") != null) {

+ 226 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/message/uas/B2bMsgActivity.java

@@ -0,0 +1,226 @@
+package com.xzjmyk.pm.activity.ui.message.uas;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Handler;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.Button;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
+import com.handmark.pulltorefresh.library.PullToRefreshListView;
+import com.lidroid.xutils.ViewUtils;
+import com.lidroid.xutils.view.annotation.ViewInject;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.bean.crm.Business;
+import com.xzjmyk.pm.activity.broadcast.MsgBroadcast;
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.activity.crm.BusinessDetailInfoActivity;
+import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
+import com.xzjmyk.pm.activity.ui.erp.entity.B2BMsg;
+import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class B2bMsgActivity extends BaseActivity {
+    private BussinessDetailAdapter mAdapter;
+    @ViewInject(R.id.list_business)
+    private PullToRefreshListView mlist;
+    private List<B2BMsg> mData = new ArrayList<B2BMsg>();
+    private BroadcastReceiver mUpdateReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equals(MsgBroadcast.ACTION_MSG_UI_UPDATE)) {
+                initData(true);
+            }
+        }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_b2b_msg);
+        Intent intent = new Intent(this, B2bMsgActivity.class);
+        Log.i("Arison", "" + intent.toURI());
+        initView();
+        initData(false);
+        initListener();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (!mlist.isRefreshing()) {
+            new Handler().post(new Runnable() {
+                @Override
+                public void run() {
+                    mlist.setRefreshing(true);
+                }
+            });
+        }
+    }
+
+    private void initView() {
+        ViewUtils.inject(this);
+        getSupportActionBar().setTitle("商务消息");
+        registerReceiver(mUpdateReceiver, new IntentFilter(MsgBroadcast.ACTION_MSG_UI_UPDATE));
+    }
+
+    private void initListener() {
+        mlist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
+            @Override
+            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
+                initData(false);
+            }
+
+            @Override
+            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
+
+            }
+        });
+        mlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                BussinessDetailAdapter.ViewHolder holder = (BussinessDetailAdapter.ViewHolder) view.getTag();
+              /*  String phone = CommonUtil.getSharedPreferences(B2bMsgActivity.this, "user_phone");
+                String password = CommonUtil.getSharedPreferences(B2bMsgActivity.this, "user_password");
+                String url = "http://www.ubtob.com/signin#/redirect/" + phone + "/" + password;
+                ViewUtil.WebLinks(B2bMsgActivity.this, url, "我的商务");*/
+                B2BMsg msg = new B2BMsg();
+                msg.setId(holder.id);
+                msg.setMaster(CommonUtil.getSharedPreferences(B2bMsgActivity.this, "erp_master"));
+                msg.setContent(holder.tv_content.getText().toString());
+                msg.setHasRead(1);
+                Log.i("Arison", "" + holder.tv_content.getText().toString());
+                DBManager db = new DBManager(B2bMsgActivity.this);
+                db.updateB2b(msg);
+                new Handler().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        initData(false);
+                    }
+                });
+//                startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class));
+            }
+        });
+    }
+
+    public DBManager db;
+
+    private void initData(boolean update) {
+        db = new DBManager(this);
+        String master = CommonUtil.getSharedPreferences(this, "erp_master");
+        Log.i("Arison", "" + master);
+        List<B2BMsg> data = db.queryB2bList(new String[]{master}, " b2b_master=? ");
+        Log.i("Arison", "" + JSON.toJSONString(data));
+        if (!ListUtils.isEmpty(data)) {
+            if (mAdapter == null) {
+                mData.clear();
+                mData = data;
+                mAdapter = new BussinessDetailAdapter(this, mData);
+                mlist.setAdapter(mAdapter);
+            } else {
+                if (update) {
+                    mData.add(0, data.get(0));
+                }
+                mData.clear();
+                mData.addAll(data);
+                mAdapter.notifyDataSetChanged();
+            }
+            if (mAdapter.getCount() == 0) {
+
+            }
+        } else {
+
+        }
+        new Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                mlist.onRefreshComplete();
+            }
+        }, 1000);
+        db.closeDB();
+    }
+
+    private class BussinessDetailAdapter extends BaseAdapter {
+        private Context ct;
+        private List<B2BMsg> mdata = new ArrayList<>();
+        private LayoutInflater inflater;
+
+        public BussinessDetailAdapter(Context ct, List<B2BMsg> data) {
+            this.ct = ct;
+            this.mdata = data;
+            this.inflater = LayoutInflater.from(ct);
+        }
+
+        @Override
+        public int getCount() {
+            return mdata.size();
+        }
+
+        @Override
+        public Object getItem(int position) {
+            return mdata.get(position);
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public View getView(final int position, View convertView, ViewGroup parent) {
+            ViewHolder holder = null;
+            if (convertView == null) {
+                convertView = inflater.inflate(R.layout.item_business_msg, null);
+                holder = new ViewHolder();
+                holder.tv_content = (TextView) convertView.findViewById(R.id.b2b_msg_content);
+                holder.tv_time = (TextView) convertView.findViewById(R.id.b2b_msg_time);
+                holder.ll_root = (LinearLayout) convertView.findViewById(R.id.ll_root);
+                convertView.setTag(holder);
+            } else {
+                holder = (ViewHolder) convertView.getTag();
+            }
+            holder.tv_content.setText(mdata.get(position).getContent());
+            holder.tv_time.setText(mdata.get(position).getTime());
+            holder.id = mdata.get(position).getId();
+            if (mData.get(position).getHasRead() == 1) {
+                holder.ll_root.setBackgroundResource(R.drawable.shape_crm_card_click);
+            } else {
+                holder.ll_root.setBackgroundResource(R.drawable.shape_crm_card);
+            }
+
+            return convertView;
+        }
+
+
+        class ViewHolder {
+            int id;
+            LinearLayout ll_root;
+            TextView tv_content;
+            TextView tv_time;
+
+        }
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        db.closeDB();
+    }
+}

+ 10 - 0
WeiChat/src/main/res/drawable/shape_crm_card_click.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners
+        android:topLeftRadius="6dp"
+        android:topRightRadius="6dp"
+        android:bottomRightRadius="6dp"
+        android:bottomLeftRadius="6dp"></corners>
+    <solid android:color="#e4e4e4"></solid>
+</shape>

+ 15 - 0
WeiChat/src/main/res/layout/activity_b2b_msg.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="com.xzjmyk.pm.activity.ui.message.uas.B2bMsgActivity">
+
+    <com.handmark.pulltorefresh.library.PullToRefreshListView
+        android:id="@+id/list_business"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        style="@style/ListViewBasic">
+
+    </com.handmark.pulltorefresh.library.PullToRefreshListView>
+</RelativeLayout>

+ 98 - 0
WeiChat/src/main/res/layout/item_business_msg.xml

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/ll_root"
+    android:orientation="vertical"
+    style="@style/crm_ll_card"
+    android:layout_height="wrap_content">
+
+
+    <RelativeLayout style="@style/LinearLayout_horizontal">
+
+        <TextView
+            android:id="@+id/tv_left_yel"
+            android:layout_width="10dp"
+            android:layout_height="15dp"
+            android:layout_centerVertical="true"
+            android:layout_gravity="center_vertical"
+            android:background="@drawable/shape_tv_color"
+            android:textColor="#5ac4c7" />
+
+        <TextView
+            android:layout_toRightOf="@+id/tv_left_yel"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="10dp"
+            android:textSize="15sp"
+            android:layout_centerVertical="true"
+            android:textColor="#FF8E57"
+            android:text="商务消息" />
+
+        <TextView
+            android:visibility="gone"
+            android:layout_width="35dp"
+            android:layout_height="35dp"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_margin="5dp"
+            android:gravity="center"
+            android:text="未读"
+            android:layout_gravity="end|right|center_vertical"
+            android:background="@drawable/shape_crm_round_new"
+            android:textColor="@color/white" />
+    </RelativeLayout>
+
+    <LinearLayout
+        android:layout_margin="10dp"
+        style="@style/LinearLayout_horizontal">
+
+        <TextView
+            android:text="内容"
+            android:textColor="@color/gray_light"
+            android:layout_marginLeft="10dp"
+            android:layout_width="50dp"
+            style="@style/TextView_VerticalCenter" />
+
+        <TextView
+            android:id="@+id/b2b_msg_content"
+            android:layout_marginLeft="5dp"
+            android:text="会议销售"
+            style="@style/TextView_VerticalCenter" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_margin="10dp"
+        style="@style/LinearLayout_horizontal">
+
+        <TextView
+            android:text="时间"
+            android:textColor="@color/gray_light"
+            android:layout_marginLeft="10dp"
+            android:layout_width="50dp"
+            style="@style/TextView_VerticalCenter" />
+
+        <TextView
+            android:id="@+id/b2b_msg_time"
+            android:layout_marginLeft="5dp"
+            android:text="158********"
+            style="@style/TextView_VerticalCenter" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:visibility="gone"
+        android:layout_margin="10dp"
+        style="@style/LinearLayout_horizontal">
+
+        <TextView
+            android:text="备注"
+            android:textColor="@color/gray_light"
+            android:layout_marginLeft="10dp"
+            android:layout_width="70dp"
+            style="@style/TextView_VerticalCenter" />
+
+        <TextView
+            android:layout_marginLeft="5dp"
+            android:text="行业交流大会,****************************************"
+            style="@style/TextView_VerticalCenter" />
+    </LinearLayout>
+
+</LinearLayout>

+ 1 - 1
WeiChat/src/main/res/layout/message_header.xml

@@ -388,7 +388,7 @@
                 android:layout_toLeftOf="@+id/b2b_time_tv"
                 android:ellipsize="end"
                 android:singleLine="true"
-                android:text="我的商务"
+                android:text="商务消息"
                 android:textColor="@color/text_main"
                 android:textSize="16sp" />
 

+ 8 - 0
WeiChat/src/main/res/values/styles.xml

@@ -578,6 +578,14 @@
         <item name="android:background">@drawable/shape_crm_card</item>
     </style>
 
+    <style name="crm_ll_card_click">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">310dp</item>
+        <item name="android:layout_margin">10dp</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:background">@drawable/shape_crm_card_click</item>
+    </style>
+
     <style name="crm_card_round_tv">
         <item name="android:layout_width">50dp</item>
         <item name="android:layout_height">50dp</item>