diff --git a/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java b/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
index 4099b4e..cd76db7 100644
--- a/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
+++ b/app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
@@ -128,6 +128,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
         startLocationService();
         EventBus.getDefault().register(this);
         setUmengDeviceToken();
+//        showRedPackDialog();
     }
 
     //设置友盟devicetoken
diff --git a/baseSDK/src/main/java/com/dayu/base/api/APIService.java b/baseSDK/src/main/java/com/dayu/base/api/APIService.java
index d6b713c..972b451 100755
--- a/baseSDK/src/main/java/com/dayu/base/api/APIService.java
+++ b/baseSDK/src/main/java/com/dayu/base/api/APIService.java
@@ -3,6 +3,7 @@ package com.dayu.base.api;
 
 import com.dayu.base.api.protocol.AddressInfoBean;
 import com.dayu.base.api.protocol.BaseResponse;
+import com.dayu.base.api.protocol.BankInfoBean;
 import com.dayu.base.api.protocol.TreeAddressBean;
 import com.dayu.common.Constants;
 
@@ -98,4 +99,13 @@ public interface APIService {
      */
     @GET(Constants.API_7100 + "/engineerAddress/default/accountId/{accountId}")
     Observable<BaseResponse<AddressInfoBean>> getAddressInfo(@Path("accountId") int accountId);
+
+    /**
+     * 获取银行信息.
+     * sourceType  1工程师账号 2小程序用户ID
+     *
+     * @return
+     */
+    @GET(Constants.API_7800 + "/payAccountBank/accountId/{accountId}/sourceType/1")
+    Observable<BaseResponse<BankInfoBean>> getUserBankInfo(@Path("accountId") int accountId);
 }
diff --git a/baseSDK/src/main/java/com/dayu/base/api/protocol/BankInfoBean.java b/baseSDK/src/main/java/com/dayu/base/api/protocol/BankInfoBean.java
new file mode 100644
index 0000000..d59aae5
--- /dev/null
+++ b/baseSDK/src/main/java/com/dayu/base/api/protocol/BankInfoBean.java
@@ -0,0 +1,98 @@
+package com.dayu.base.api.protocol;
+
+public class BankInfoBean {
+
+    /**
+     * id : 0
+     * sourceAccountId : 1267
+     * sourceType : 1
+     * bankName : aksksks
+     * bankAccount : 7767664944
+     * realName : jdjdnn
+     * identity : null
+     * createTime : 2020-02-25 14:42:18
+     * mobile : null
+     */
+
+    private int id;
+    private int sourceAccountId;
+    private int sourceType;
+    private String bankName;
+    private String bankAccount;
+    private String realName;
+    private Object identity;
+    private String createTime;
+    private Object mobile;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getSourceAccountId() {
+        return sourceAccountId;
+    }
+
+    public void setSourceAccountId(int sourceAccountId) {
+        this.sourceAccountId = sourceAccountId;
+    }
+
+    public int getSourceType() {
+        return sourceType;
+    }
+
+    public void setSourceType(int sourceType) {
+        this.sourceType = sourceType;
+    }
+
+    public String getBankName() {
+        return bankName;
+    }
+
+    public void setBankName(String bankName) {
+        this.bankName = bankName;
+    }
+
+    public String getBankAccount() {
+        return bankAccount;
+    }
+
+    public void setBankAccount(String bankAccount) {
+        this.bankAccount = bankAccount;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public Object getIdentity() {
+        return identity;
+    }
+
+    public void setIdentity(Object identity) {
+        this.identity = identity;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public Object getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(Object mobile) {
+        this.mobile = mobile;
+    }
+}
diff --git a/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java b/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
index bb0b6cc..4f64d93 100755
--- a/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
+++ b/baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
@@ -5,8 +5,12 @@ import android.content.Intent;
 import android.databinding.ViewDataBinding;
 import android.os.Bundle;
 import android.support.v4.app.NotificationCompat;
+import android.text.TextUtils;
 
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.dayu.base.api.APIService;
+import com.dayu.base.api.Api;
+import com.dayu.base.api.protocol.BankInfoBean;
 import com.dayu.base.ui.presenter.BasePresenter;
 import com.dayu.baselibrary.R;
 import com.dayu.common.BaseConstant;
@@ -19,6 +23,7 @@ import com.dayu.utils.TUtil;
 import com.dayu.utils.ToastUtils;
 import com.dayu.utils.UserManager;
 import com.dayu.widgets.CustomDialog;
+import com.dayu.widgets.RedPacketsDialog;
 import com.hyphenate.chat.EMClient;
 
 import java.lang.reflect.ParameterizedType;
@@ -38,7 +43,6 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
     protected static NotificationCompat.Builder builder;
 
 
-
     @Override
     protected void initPresenter() {
         super.initPresenter();
@@ -142,6 +146,36 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
         return getIntent().getBundleExtra(Constants.BUNDLE);
     }
 
+    public void showRedPackDialog() {
+        RedPacketsDialog redPacketsDialog = RedPacketsDialog.getInstance();
+        redPacketsDialog.show(this, new RedPacketsDialog.onItemClickListener() {
+            @Override
+            public void onOpenClick() {
+                openRedPacket(redPacketsDialog);
+            }
+
+            @Override
+            public void toBankEdit() {
+
+            }
+        });
+
+    }
+
+    @SuppressWarnings("unchecked")
+    protected void openRedPacket(RedPacketsDialog redPacketsDialog) {
+        showDialog();
+        Api.getService(APIService.class).getUserBankInfo(mUserId).compose(Api.applySchedulers())
+                .subscribe(mPresenter.baseObserver(data -> {
+                    BankInfoBean bankInfoBean = (BankInfoBean) data;
+                    if (data == null || TextUtils.isEmpty(((BankInfoBean) data).getBankAccount())) {
+                        redPacketsDialog.openSuccess(false, 6.66);
+                    } else {
+                        redPacketsDialog.openSuccess(true, 6.66);
+                    }
+                }, responeThrowable -> redPacketsDialog.openSuccess(false, 6.66)));
+    }
+
     /**
      * token超时提示重新登录.
      */
@@ -167,7 +201,7 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
         isDialogShow = true;
     }
 
-    protected void initUser(){
+    protected void initUser() {
         UserInfo info = UserManager.getInstance().getUser();
         mUserId = Integer.parseInt(info.getAccountId());
         mUserInfo = info;
diff --git a/baseSDK/src/main/java/com/dayu/common/Constants.java b/baseSDK/src/main/java/com/dayu/common/Constants.java
index 4574965..7df1a4c 100755
--- a/baseSDK/src/main/java/com/dayu/common/Constants.java
+++ b/baseSDK/src/main/java/com/dayu/common/Constants.java
@@ -29,11 +29,14 @@ public class Constants {
     public static final String API_8600 = "/api-mall";
 
 
+    public final static String PATH_EDIT_BANK = "/userCenter/edit_bank";
+    public final static String PATH_USER_REWARD= "/userCenter/user_reward";
+
     public static final String PROGRAM_PATH = "pages/mallDetail/main?goodsId=gid&userId=uid&type=1"; //小程序路径
     public static final String INVITE_NEW_SHARE_URL = "http://app.dl.kf.ai/ext/#/shareMaster?code="; //邀请新人分享链接
     public static final String INVITE_NEW_SHARE_URL_BUSINESS = "http://app.dl.kf.ai/ext/#/merchants?code="; //邀请商家分享链接
-    public static String VIDEO_SHARE_URL = "http://app.dl.kf.ai/ext/#/shareVideo?type=_type&id="; //学习视频分享链接 type(课程: course   直播: live)
-//    public static String VIDEO_SHARE_URL = "http://uat.kf.ai:9099/#/shareVideo?type=_type&id="; //uat 学习视频分享链接 type(课程: course   直播: live)
+    //    public static String VIDEO_SHARE_URL = "http://app.dl.kf.ai/ext/#/shareVideo?type=_type&id="; //学习视频分享链接 type(课程: course   直播: live)
+    public static String VIDEO_SHARE_URL = "http://uat.kf.ai:9099/#/shareVideo?type=_type&id="; //uat 学习视频分享链接 type(课程: course   直播: live)
 
 
     /**
diff --git a/baseSDK/src/main/java/com/dayu/utils/BitmapUtils.java b/baseSDK/src/main/java/com/dayu/utils/BitmapUtils.java
new file mode 100644
index 0000000..d21c82f
--- /dev/null
+++ b/baseSDK/src/main/java/com/dayu/utils/BitmapUtils.java
@@ -0,0 +1,74 @@
+package com.dayu.utils;
+
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.os.Environment;
+import android.view.View;
+
+import java.io.File;
+import java.io.FileOutputStream;
+
+public class BitmapUtils {
+
+    /**
+     * 布局转bitmap
+     * @param view
+     * @return
+     */
+    public static Bitmap getBitmap(View view) {
+        //获取view的长宽
+        int width = view.getMeasuredWidth();
+        int height = view.getMeasuredHeight();
+        //若传入的view长或宽为小于等于0,则返回,不生成图片
+        if (width <=0 || height<=0) {
+            return null;
+        }
+        //生成一个ARGB8888的bitmap,宽度和高度为传入view的宽高
+        Bitmap bm = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+        if (bm == null) {
+            return null;
+        }
+        //根据bitmap生成一个画布
+        Canvas canvas = new Canvas(bm);
+        //注意:这里是解决图片透明度问题,给底色上白色,若存储时保存的为png格式的图,则无需此步骤
+        canvas.drawColor(Color.WHITE);
+        //手动将这个视图渲染到指定的画布上
+        view.draw(canvas);
+        return bm;
+    }
+
+
+    /**
+     * 保存bitmap到本地
+     * @param bmp
+     */
+    public static File saveBitmap2Local(Bitmap bmp,String name) {
+        if (bmp == null)
+            return null;
+        // 判断是否可以对SDcard进行操作
+        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {      // 获取SDCard指定目录下
+            String dir = Environment.getExternalStorageDirectory() + "/dayu/imgs";
+
+            File dirFile = new File(dir);
+            if (!dirFile.exists()) {
+                dirFile.mkdirs();
+            }
+            File file = new File(dir, name);
+            if (file.exists())
+                return file;
+//                file.delete();
+            try {
+                FileOutputStream out = new FileOutputStream(file);
+                bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
+                out.flush();
+                out.close();
+                return file;
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return null;
+    }
+
+}
diff --git a/baseSDK/src/main/java/com/dayu/utils/CommonUtils.java b/baseSDK/src/main/java/com/dayu/utils/CommonUtils.java
index c3014d9..98b597c 100644
--- a/baseSDK/src/main/java/com/dayu/utils/CommonUtils.java
+++ b/baseSDK/src/main/java/com/dayu/utils/CommonUtils.java
@@ -5,6 +5,7 @@ import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Bitmap;
 import android.media.MediaMetadataRetriever;
 import android.net.Uri;
 import android.text.TextUtils;
@@ -21,9 +22,9 @@ import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;
 import com.umeng.socialize.media.UMMin;
-import com.umeng.socialize.media.UMVideo;
 import com.umeng.socialize.media.UMWeb;
 
+import java.io.File;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -296,18 +297,16 @@ public class CommonUtils {
 
     }
     /**
-     * 微信(朋友圈)分享链接(包含标题内容)
+     * 分享图片
      */
-    public static void shareWxVideo(Activity activity, String videoUrl, String imgUrl, String title,
-                                  String description, UMShareListener callBack) {
-        UMVideo video = new UMVideo(videoUrl);
-        video.setTitle(title);//视频的标题
-        video.setDescription(description);//视频的描述
-        new ShareAction(activity).withMedia(video)
-                .setDisplayList(SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE)
-                .setCallback(callBack).open();
-//                .setPlatform(SHARE_MEDIA.WEIXIN_CIRCLE)
-//                .setCallback(callBack).share();
+    public static void shareImg(Activity activity, File bitmap, SHARE_MEDIA platform, UMShareListener callBack) {
+        UMImage image = new UMImage(activity, bitmap);//bitmap文件
+        image.compressStyle = UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
+        image.compressStyle = UMImage.CompressStyle.QUALITY;//质量压缩,适合长图的分享
+        image.compressFormat = Bitmap.CompressFormat.PNG;//用户分享透明背景的图片可以设置这种方式,但是qq好友,微信朋友圈,不支持透明背景图片,会变成黑色
+        new ShareAction(activity).withMedia(image)
+                .setPlatform(platform)
+                .setCallback(callBack).share();
 
     }
 
diff --git a/baseSDK/src/main/java/com/dayu/utils/UserManager.java b/baseSDK/src/main/java/com/dayu/utils/UserManager.java
index b90fcc8..aad3dde 100755
--- a/baseSDK/src/main/java/com/dayu/utils/UserManager.java
+++ b/baseSDK/src/main/java/com/dayu/utils/UserManager.java
@@ -56,6 +56,8 @@ public class UserManager {
         SPUtils.remove("USER_INFO");
         SPUtils.remove("token");
         SPUtils.remove("USER_IDENTITY");
+        SPUtils.remove("bank_addr_info");
+
     }
 
     /**
diff --git a/baseSDK/src/main/java/com/dayu/widgets/RedPacketsDialog.java b/baseSDK/src/main/java/com/dayu/widgets/RedPacketsDialog.java
new file mode 100644
index 0000000..dbee649
--- /dev/null
+++ b/baseSDK/src/main/java/com/dayu/widgets/RedPacketsDialog.java
@@ -0,0 +1,100 @@
+package com.dayu.widgets;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.alibaba.android.arouter.launcher.ARouter;
+import com.dayu.baselibrary.R;
+import com.dayu.common.Constants;
+
+
+public class RedPacketsDialog {
+    TextView tvName;
+    TextView tvMoney;
+    ImageView ivIcon;
+    ImageView ivOpen;
+    ImageView ivClose;
+    Dialog mDialog;
+    Button btnOperate;
+    boolean hasBankIfno;
+
+
+    public static RedPacketsDialog instance;
+
+
+    public static RedPacketsDialog getInstance() {
+        if (instance == null) {
+            instance = new RedPacketsDialog();
+        }
+        return instance;
+    }
+
+
+    public void show(final Activity activity, onItemClickListener listener) {
+        View mView = View.inflate(activity, R.layout.dialog_red_packets, null);
+        tvName = mView.findViewById(R.id.tv_name);
+        tvMoney = mView.findViewById(R.id.tv_money);
+        ivIcon = mView.findViewById(R.id.iv_icon);
+        ivOpen = mView.findViewById(R.id.iv_open);
+        ivClose = mView.findViewById(R.id.iv_close);
+        btnOperate = mView.findViewById(R.id.btn_operate);
+
+        tvMoney.setVisibility(View.GONE);
+        ivOpen.setVisibility(View.VISIBLE);
+        btnOperate.setVisibility(View.GONE);
+
+        mDialog = new Dialog(activity, R.style.CustomDialog);
+        mDialog.setContentView(mView);
+        Window window = mDialog.getWindow();
+        WindowManager.LayoutParams wl = window.getAttributes();
+        wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
+        wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
+        wl.gravity = Gravity.CENTER;
+        mDialog.onWindowAttributesChanged(wl);
+        mDialog.show();
+        mDialog.setCanceledOnTouchOutside(false);
+        mDialog.setCancelable(true);
+
+        ivClose.setOnClickListener(view -> mDialog.dismiss());
+        ivOpen.setOnClickListener(view -> {
+            if (listener != null)
+                listener.onOpenClick();
+        });
+
+        btnOperate.setOnClickListener(view -> {
+            if (hasBankIfno){
+                ARouter.getInstance().build(Constants.PATH_USER_REWARD).withInt("type",4).navigation();
+            }else {
+                ARouter.getInstance().build(Constants.PATH_EDIT_BANK).navigation();
+            }
+            mDialog.dismiss();
+        });
+
+    }
+
+
+    public void openSuccess(boolean hasBankIfno, double money) {
+        if (tvMoney != null) {
+            this.hasBankIfno = hasBankIfno;
+            tvMoney.setText("中奖金额" + money + "元");
+            tvMoney.setVisibility(View.VISIBLE);
+            ivOpen.setVisibility(View.GONE);
+            btnOperate.setVisibility(View.VISIBLE);
+            btnOperate.setText(hasBankIfno?"去查看":"去提现");
+        }
+    }
+
+    public interface onItemClickListener {
+        void onOpenClick();
+
+        void toBankEdit();
+    }
+}
diff --git a/baseSDK/src/main/java/com/dayu/widgets/WechatShareDialog.java b/baseSDK/src/main/java/com/dayu/widgets/WechatShareDialog.java
new file mode 100644
index 0000000..d15be27
--- /dev/null
+++ b/baseSDK/src/main/java/com/dayu/widgets/WechatShareDialog.java
@@ -0,0 +1,68 @@
+package com.dayu.widgets;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.dayu.baselibrary.R;
+
+
+public class WechatShareDialog {
+
+    public static WechatShareDialog instance;
+
+    public static WechatShareDialog getInstance(){
+        if (instance == null){
+            instance = new WechatShareDialog();
+        }
+        return instance;
+    }
+
+
+    public void showBottomDialog(final Activity activity,onItemClickListener listener) {
+
+        View mView = View.inflate(activity, R.layout.dialog_wechat_share , null);
+        TextView tvCancle = mView.findViewById(R.id.tv_cancle);
+        LinearLayout llWx = mView.findViewById(R.id.ll_wechat);
+        LinearLayout llCircle = mView.findViewById(R.id.ll_circle);
+
+
+        Dialog mDialog = new Dialog(activity, R.style.CustomDialog);
+        mDialog.setContentView(mView);
+        Window window = mDialog.getWindow();
+        WindowManager.LayoutParams wl = window.getAttributes();
+        wl.width = ViewGroup.LayoutParams.MATCH_PARENT;
+        wl.height = ViewGroup.LayoutParams.WRAP_CONTENT;
+        wl.gravity = Gravity.BOTTOM;
+        mDialog.onWindowAttributesChanged(wl);
+        mDialog.show();
+        mDialog.setCanceledOnTouchOutside(true);
+        mDialog.setCancelable(true);
+
+        tvCancle.setOnClickListener(view -> mDialog.dismiss());
+        llWx.setOnClickListener(view -> {
+            if (listener != null){
+                listener.onClick(0);
+            }
+            mDialog.dismiss();
+        });
+        llCircle.setOnClickListener(view -> {
+            if (listener != null){
+                listener.onClick(1);
+            }
+            mDialog.dismiss();
+        });
+
+    }
+
+
+    public interface onItemClickListener {
+        void onClick(int pos);
+    }
+}
diff --git a/baseSDK/src/main/res/drawable-hdpi/ic_red_packet_close.png b/baseSDK/src/main/res/drawable-hdpi/ic_red_packet_close.png
new file mode 100644
index 0000000..6b5f622
Binary files /dev/null and b/baseSDK/src/main/res/drawable-hdpi/ic_red_packet_close.png differ
diff --git a/baseSDK/src/main/res/drawable-xxhdpi/ic_red_packet_open.png b/baseSDK/src/main/res/drawable-xxhdpi/ic_red_packet_open.png
new file mode 100644
index 0000000..b6f4f5d
Binary files /dev/null and b/baseSDK/src/main/res/drawable-xxhdpi/ic_red_packet_open.png differ
diff --git a/baseSDK/src/main/res/drawable-xxhdpi/ic_red_packets_bg.png b/baseSDK/src/main/res/drawable-xxhdpi/ic_red_packets_bg.png
new file mode 100644
index 0000000..7e84776
Binary files /dev/null and b/baseSDK/src/main/res/drawable-xxhdpi/ic_red_packets_bg.png differ
diff --git a/baseSDK/src/main/res/layout/dialog_red_packets.xml b/baseSDK/src/main/res/layout/dialog_red_packets.xml
new file mode 100644
index 0000000..8697317
--- /dev/null
+++ b/baseSDK/src/main/res/layout/dialog_red_packets.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:gravity="center_horizontal"
+    >
+    <LinearLayout
+        android:id="@+id/ll_bg"
+        android:layout_width="320dp"
+        android:layout_height="430dp"
+        android:orientation="vertical"
+        android:layout_centerHorizontal="true"
+        android:gravity="center_horizontal"
+        android:background="@drawable/ic_red_packets_bg"
+        >
+        <ImageView
+            android:id="@+id/iv_icon"
+            android:layout_width="60dp"
+            android:layout_height="60dp"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="10dp"
+            android:src="@drawable/icon_app_logo"
+            />
+        <TextView
+            android:id="@+id/tv_name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="16sp"
+            android:textColor="#d8b983"
+            android:text="大鱼官方"
+            android:layout_marginTop="10dp"
+            />
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="17sp"
+            android:textColor="#d8b983"
+            android:text="给您送了一个红包"
+            android:layout_marginTop="10dp"
+            />
+        <TextView
+            android:visibility="gone"
+            android:id="@+id/tv_money"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="21sp"
+            android:textColor="#d8b983"
+            android:text="中奖金额100.00元"
+            android:layout_marginTop="10dp"
+            />
+        <View
+            android:layout_width="1dp"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            />
+        <ImageView
+            android:id="@+id/iv_open"
+            android:layout_width="100dp"
+            android:layout_height="100dp"
+            android:src="@drawable/ic_red_packet_open"
+            android:layout_marginBottom="105dp"
+            />
+
+    </LinearLayout>
+
+    <ImageView
+        android:id="@+id/iv_close"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:src="@drawable/ic_red_packet_close"
+        android:layout_alignLeft="@+id/ll_bg"
+        android:layout_alignTop="@+id/ll_bg"
+        android:layout_margin="10dp"
+        />
+    <Button
+        android:visibility="gone"
+        android:id="@+id/btn_operate"
+        style="@style/btn_common_blue"
+        android:width="120dp"
+        android:text="去提现"
+        android:height="40dp"
+        android:layout_alignBottom="@+id/ll_bg"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="130dp"
+
+        />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/baseSDK/src/main/res/layout/dialog_wechat_share.xml b/baseSDK/src/main/res/layout/dialog_wechat_share.xml
new file mode 100644
index 0000000..73dc956
--- /dev/null
+++ b/baseSDK/src/main/res/layout/dialog_wechat_share.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/color_fa"
+        android:orientation="horizontal"
+        android:paddingTop="20dp"
+        android:paddingBottom="20dp">
+
+        <View
+            android:layout_width="0dp"
+            android:layout_height="1dp"
+            android:layout_weight="1"
+            />
+        <LinearLayout
+            android:id="@+id/ll_wechat"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical">
+
+            <ImageView
+                android:layout_width="55dp"
+                android:layout_height="55dp"
+                android:src="@drawable/umeng_socialize_wechat" />
+
+            <TextView
+                style="@style/common_text_style"
+                android:text="微信"
+                />
+        </LinearLayout>
+
+        <View
+            android:layout_width="0dp"
+            android:layout_height="1dp"
+            android:layout_weight="2"
+            />
+        <LinearLayout
+            android:id="@+id/ll_circle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical">
+
+            <ImageView
+                android:layout_width="55dp"
+                android:layout_height="55dp"
+                android:src="@drawable/umeng_socialize_wxcircle" />
+
+            <TextView
+                style="@style/common_text_style"
+                android:text="朋友圈"
+                />
+        </LinearLayout>
+        <View
+            android:layout_width="0dp"
+            android:layout_height="1dp"
+            android:layout_weight="1"
+            />
+    </LinearLayout>
+
+    <TextView
+        android:id="@+id/tv_cancle"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:background="@color/white"
+        android:gravity="center"
+        android:text="取消分享"
+        android:textColor="@color/common_text_color"
+        android:textSize="15sp" />
+</LinearLayout>
\ No newline at end of file
diff --git a/baseSDK/src/main/res/values/strings.xml b/baseSDK/src/main/res/values/strings.xml
index 2c47b49..a377884 100644
--- a/baseSDK/src/main/res/values/strings.xml
+++ b/baseSDK/src/main/res/values/strings.xml
@@ -934,6 +934,7 @@ C) 在甲方使用大鱼平台服务过程中产生的业务数据,客户数�
     <string name="user_bank_account">银行账号:</string>
     <string name="user_bank_account_hint">请输入银行账号</string>
     <string name="user_bank_holer">开户人姓名:</string>
+    <string name="fill_bank_notice">完善银行卡信息后,您的所有收入和奖励将会在下个月1号由平台提现到此卡上</string>
     <string name="user_bank_holer_hint">请输入开户人姓名</string>
     <string name="user_addr_info">快递地址信息</string>
     <string name="user_receiver_addr">收件地址:</string>
diff --git a/learnCenter/src/main/java/com/dayu/learncenter/ui/activity/PrepareLiveActivity.java b/learnCenter/src/main/java/com/dayu/learncenter/ui/activity/PrepareLiveActivity.java
index 2245f31..18d2a7f 100644
--- a/learnCenter/src/main/java/com/dayu/learncenter/ui/activity/PrepareLiveActivity.java
+++ b/learnCenter/src/main/java/com/dayu/learncenter/ui/activity/PrepareLiveActivity.java
@@ -34,6 +34,7 @@ import okhttp3.RequestBody;
 public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityPrepareLiveBinding> {
 
     String title;
+    String coverUrl;
 
     @Override
     public void setPresenter() {
@@ -54,11 +55,11 @@ public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityP
         });
         mBind.btnConfirm.setOnClickListener(v->{
             title = mBind.edtTitle.getText().toString().trim();
-            if (TextUtils.isEmpty(TCUserMgr.getInstance().getCoverPic())){
+            if (TextUtils.isEmpty(coverUrl)){
                 showToast("请上传封面");
             }else if (TextUtils.isEmpty(title)){
                 showToast("请输入标题");
-            }else  {
+            }else {
                 startPublish();
             }
         });
@@ -70,9 +71,9 @@ public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityP
      * 初始化封面图
      */
     private void initCover() {
-        String strCover = TCUserMgr.getInstance().getCoverPic();
-        if (!TextUtils.isEmpty(strCover)) {
-            GlideImageLoader.load(this,mBind.ivCover,strCover,R.drawable.publish_background);
+//        String strCover = TCUserMgr.getInstance().getCoverPic();
+        if (!TextUtils.isEmpty(coverUrl)) {
+            GlideImageLoader.load(this,mBind.ivCover,coverUrl,R.drawable.publish_background);
 //            mBind.tvTips.setVisibility(View.GONE);
         } else {
             mBind.ivCover.setImageResource(com.dayu.livemodule.R.drawable.publish_background);
@@ -104,6 +105,7 @@ public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityP
         showDialog();
         BaseApiFactory.uploadPhoto(body,"nowatermark").subscribe(mPresenter.baseObserver(list -> {
             if (list != null && list.size() > 0) {
+                coverUrl = list.get(0);
                 TCUserMgr.getInstance().setCoverPic(list.get(0), null);
                 initCover();
             } else {
diff --git a/liveModule/src/main/java/com/dayu/livemodule/MLVBLiveRoomImpl.java b/liveModule/src/main/java/com/dayu/livemodule/MLVBLiveRoomImpl.java
index 096a108..d155074 100644
--- a/liveModule/src/main/java/com/dayu/livemodule/MLVBLiveRoomImpl.java
+++ b/liveModule/src/main/java/com/dayu/livemodule/MLVBLiveRoomImpl.java
@@ -2928,6 +2928,58 @@ public class MLVBLiveRoomImpl extends MLVBLiveRoom implements HttpRequests.Heart
                     ++layerIndex;
                 }
 
+
+//                // 画布
+//                {
+//                    JSONObject layoutParam = new JSONObject();
+//                    layoutParam.put("image_layer", 1);
+//                    layoutParam.put("input_type", 3);
+//                    layoutParam.put("image_width", 540);
+//                    layoutParam.put("image_height", 960);
+//
+//                    JSONObject canvasStream = new JSONObject();
+//                    canvasStream.put("input_stream_id", mMainStreamId);
+//                    canvasStream.put("layout_params", layoutParam);
+//
+//                    inputStreamList.put(canvasStream);
+//                }
+//
+//                // mainStream
+//                {
+//                    JSONObject layoutParam = new JSONObject();
+//                    layoutParam.put("image_layer", 2);
+//                    if (mSubStreamIds.size()>0){
+//                        layoutParam.put("image_width", 540);
+//                        layoutParam.put("image_height", 480);
+//                    }else {
+//                        layoutParam.put("image_width", 540);
+//                        layoutParam.put("image_height", 960);
+//                    }
+//                    layoutParam.put("location_x", 0);
+//                    layoutParam.put("location_y", 0);
+//
+//                    JSONObject mainStream = new JSONObject();
+//                    mainStream.put("input_stream_id", mMainStreamId);
+//                    mainStream.put("layout_params", layoutParam);
+//
+//                    inputStreamList.put(mainStream);
+//                }
+//
+//                for (String item : mSubStreamIds) {
+//                    JSONObject layoutParam = new JSONObject();
+//                    layoutParam.put("image_layer", 3);
+//                    layoutParam.put("image_width", 540);
+//                    layoutParam.put("image_height", 480);
+//                    layoutParam.put("location_x", 0);
+//                    layoutParam.put("location_y", 480);
+//
+//                    JSONObject mainStream = new JSONObject();
+//                    mainStream.put("input_stream_id", item);
+//                    mainStream.put("layout_params", layoutParam);
+//
+//                    inputStreamList.put(mainStream);
+//                }
+
                 // para
                 JSONObject para = new JSONObject();
                 para.put("app_id", "");
diff --git a/saleCenter/src/main/java/com/bigfish/salecenter/api/SaleService.java b/saleCenter/src/main/java/com/bigfish/salecenter/api/SaleService.java
index 45d071a..31ab385 100644
--- a/saleCenter/src/main/java/com/bigfish/salecenter/api/SaleService.java
+++ b/saleCenter/src/main/java/com/bigfish/salecenter/api/SaleService.java
@@ -14,6 +14,8 @@ import com.dayu.base.api.protocol.CommentReplyData;
 import com.dayu.common.Constants;
 
 import io.reactivex.Observable;
+import okhttp3.ResponseBody;
+import retrofit2.Call;
 import retrofit2.http.Body;
 import retrofit2.http.GET;
 import retrofit2.http.POST;
@@ -131,4 +133,7 @@ public interface SaleService {
      */
     @POST(Constants.API_7400 + "/leaveMessage/goods/engineer")
     Observable<BaseResponse<Boolean>> addCommentReply(@Body CommentReplyData data);
+
+    @GET("/api-third/WXUser/getWxQrCode")
+    Call<ResponseBody> createWxUrl(@Query("path") String path, @Query("width") int width);
 }
diff --git a/saleCenter/src/main/java/com/bigfish/salecenter/ui/activity/PosterShareActivity.java b/saleCenter/src/main/java/com/bigfish/salecenter/ui/activity/PosterShareActivity.java
new file mode 100644
index 0000000..1a3942a
--- /dev/null
+++ b/saleCenter/src/main/java/com/bigfish/salecenter/ui/activity/PosterShareActivity.java
@@ -0,0 +1,149 @@
+package com.bigfish.salecenter.ui.activity;
+
+import android.Manifest;
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+import com.badoo.mobile.util.WeakHandler;
+import com.bigfish.salecenter.R;
+import com.bigfish.salecenter.api.SaleService;
+import com.bigfish.salecenter.databinding.ActivityPosterShareBinding;
+import com.dayu.base.api.Api;
+import com.dayu.base.ui.activity.BaseActivity;
+import com.dayu.base.ui.presenter.SImplePresenter;
+import com.dayu.common.Constants;
+import com.dayu.utils.BitmapUtils;
+import com.dayu.utils.CommonUtils;
+import com.dayu.utils.GlideImageLoader;
+import com.dayu.utils.MPermissionUtils;
+import com.dayu.utils.ToastUtils;
+import com.umeng.socialize.UMShareAPI;
+import com.umeng.socialize.bean.SHARE_MEDIA;
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.concurrent.TimeUnit;
+
+import io.reactivex.Observable;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import okhttp3.ResponseBody;
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+
+public class PosterShareActivity extends BaseActivity<SImplePresenter, ActivityPosterShareBinding> {
+    int mId;
+    String mFrom = "";
+    WeakHandler weakHandler = new WeakHandler();
+
+    @Override
+    public void setPresenter() {
+
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_poster_share;
+    }
+
+    public static void launch(Context context, int id, String title, String imgUrl,String from, double price) {
+        Intent intent = new Intent(context, PosterShareActivity.class);
+        intent.putExtra("id", id);
+        intent.putExtra("img", imgUrl);
+        intent.putExtra("title", title);
+        intent.putExtra("from", from);
+        intent.putExtra("price", price);
+        context.startActivity(intent);
+    }
+
+    @Override
+    public void initView() {
+        initUser();
+        mId = getIntent().getIntExtra("id", 0);
+        mFrom = getIntent().getStringExtra("from");
+        String imgUrl = getIntent().getStringExtra("img");
+        String title = getIntent().getStringExtra("title");
+        double price = getIntent().getDoubleExtra("price", 0);
+        mBind.tvPrice.setText("¥" + Double.valueOf(price).intValue());
+        mBind.tvTitle.setText(title);
+        GlideImageLoader.load(this, mBind.ivProduct, imgUrl, R.drawable.icon_img_default);
+//        GlideImageLoader.loadNoDeal(this,mBind.ivQr,imgUrl,R.drawable.icon_img_default);
+        mBind.titleBack.setOnClickListener(v -> finish());
+
+        mBind.btnShare.setOnClickListener(v -> {
+            showDialog();
+
+            saveAndShare();
+        });
+
+        initData();
+    }
+
+    private void saveAndShare() {
+        String[] mPerArr = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
+
+        MPermissionUtils.requestPermissionsResult(mActivity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
+            @SuppressLint("CheckResult")
+            @Override
+            public void onPermissionGranted() {
+                Observable.timer(200, TimeUnit.MILLISECONDS)
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(aLong -> {
+                            Bitmap bitmap = BitmapUtils.getBitmap(mBind.llPoster);
+                            File file = BitmapUtils.saveBitmap2Local(bitmap, "poster"+
+                                    Constants.ENVIROMENT + mFrom + mUserId+ mId + ".png");
+                            if (file != null) {
+                                CommonUtils.shareImg(PosterShareActivity.this, file, SHARE_MEDIA.WEIXIN_CIRCLE, null);
+                            }else {
+                                showToast("保存失败");
+                            }
+                            weakHandler.postDelayed(() -> {
+                                hideDialog();
+                            },200);
+                        });
+            }
+
+            @Override
+            public void onPermissionDenied() {
+                ToastUtils.showShortToast(R.string.request_permission_failure);
+            }
+        });
+    }
+
+    private void initData() {
+        showDialog();
+        String path = "pages/mallDetail/main?goodsId=" + mId + "&userId=" + mUserId + "&type=2";
+        Call<ResponseBody> call = Api.getService(SaleService.class).createWxUrl(path, 470);
+        call.enqueue(new Callback<ResponseBody>() {
+            @Override
+            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
+                hideDialog();
+                try {
+                    InputStream is = response.body().byteStream();
+                    Bitmap bitmap = BitmapFactory.decodeStream(is);
+                    is.close();
+                    mBind.ivQr.setImageBitmap(bitmap);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    ToastUtils.showShortToast(R.string.error_unknow);
+                }
+
+            }
+
+            @Override
+            public void onFailure(Call<ResponseBody> call, Throwable t) {
+                hideDialog();
+                ToastUtils.showShortToast(R.string.error_unknow);
+            }
+        });
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
+    }
+}
diff --git a/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/ProductInstructionFragment.java b/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/ProductInstructionFragment.java
index d4ada52..badbdfe 100644
--- a/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/ProductInstructionFragment.java
+++ b/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/ProductInstructionFragment.java
@@ -1,34 +1,28 @@
 package com.bigfish.salecenter.ui.fragment;
 
-import android.content.Intent;
 import android.graphics.Paint;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.View;
 
 import com.bigfish.salecenter.R;
-import com.bigfish.salecenter.api.SaleService;
 import com.bigfish.salecenter.databinding.FragmentProductInstructionBinding;
 import com.bigfish.salecenter.model.ProductDetailBean;
-import com.bigfish.salecenter.model.ProductListBean;
-import com.dayu.base.api.Api;
+import com.bigfish.salecenter.ui.activity.PosterShareActivity;
 import com.dayu.base.ui.activity.ImgGalleryActivty;
-import com.dayu.base.ui.activity.PreviewActivty;
 import com.dayu.base.ui.fragment.BaseFragment;
 import com.dayu.base.ui.presenter.SImplePresenter;
-import com.dayu.common.Constants;
 import com.dayu.event.UserInfo;
 import com.dayu.utils.BannerImgLoader;
 import com.dayu.utils.CommonUtils;
-import com.dayu.utils.GlideImageLoader;
 import com.dayu.utils.ToastUtils;
 import com.dayu.utils.UserManager;
+import com.dayu.widgets.WechatShareDialog;
 import com.umeng.analytics.MobclickAgent;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.youth.banner.BannerConfig;
 
 import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Created by mReturn
@@ -81,8 +75,16 @@ public class ProductInstructionFragment extends BaseFragment<SImplePresenter, Fr
 //
 //                );
         if (mDetail != null){
-            CommonUtils.shareProgram(mActivity,mDetail.getFirstUrl(),mDetail.getGoodsModel(),
-                    mDetail.getBrief(),mUserId,mDetail.getId(),SHARE_MEDIA.WEIXIN,null);
+            WechatShareDialog.getInstance().showBottomDialog(mActivity, pos -> {
+                if (pos == 0){
+                    CommonUtils.shareProgram(mActivity,mDetail.getFirstUrl(),mDetail.getGoodsModel(),
+                            mDetail.getBrief(),mUserId,mDetail.getId(),SHARE_MEDIA.WEIXIN,null);
+                }else {
+                    PosterShareActivity.launch(mActivity,mDetail.getId(),mDetail.getGoodsModel()
+                            ,mDetail.getFirstUrl(),"pdetail",mDetail.getPrice());
+                }
+            });
+
             MobclickAgent.onEvent(mActivity,"share_goods");
         }
     }
diff --git a/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/SaleProductFragment.java b/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/SaleProductFragment.java
index 248b7f1..c7fdd10 100644
--- a/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/SaleProductFragment.java
+++ b/saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/SaleProductFragment.java
@@ -1,13 +1,11 @@
 package com.bigfish.salecenter.ui.fragment;
 
-import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputMethodManager;
 
 import com.bigfish.salecenter.R;
 import com.bigfish.salecenter.adapter.SaleProductAdapter;
@@ -18,12 +16,14 @@ import com.bigfish.salecenter.event.RefreshSaleTab;
 import com.bigfish.salecenter.model.ProductListBean;
 import com.bigfish.salecenter.presenter.saleproduct.SaleProductContract;
 import com.bigfish.salecenter.presenter.saleproduct.SaleProductPresent;
+import com.bigfish.salecenter.ui.activity.PosterShareActivity;
 import com.bigfish.salecenter.ui.activity.ProductDetailActivity;
 import com.dayu.base.ui.fragment.BaseFragment;
 import com.dayu.common.MyTextWatcher;
 import com.dayu.event.UserInfo;
 import com.dayu.utils.CommonUtils;
 import com.dayu.utils.UserManager;
+import com.dayu.widgets.WechatShareDialog;
 import com.dayu.widgets.listener.OnItemClickListener;
 import com.umeng.analytics.MobclickAgent;
 import com.umeng.socialize.bean.SHARE_MEDIA;
@@ -186,8 +186,16 @@ public class SaleProductFragment extends BaseFragment<SaleProductPresent, Fragme
     @Override
     public void share(ProductListBean item) {
         MobclickAgent.onEvent(mActivity,"share_goods");
-        CommonUtils.shareProgram(mActivity,item.getFirstUrl(),item.getGoodsModel(),
-                item.getBrief(),mUserId,item.getId(),SHARE_MEDIA.WEIXIN,null);
+        WechatShareDialog.getInstance().showBottomDialog(mActivity, pos -> {
+            if (pos == 0){
+                CommonUtils.shareProgram(mActivity,item.getFirstUrl(),item.getGoodsModel(),
+                        item.getBrief(),mUserId,item.getId(),SHARE_MEDIA.WEIXIN,null);
+            }else {
+                PosterShareActivity.launch(mActivity,item.getId(),item.getGoodsModel()
+                        ,item.getFirstUrl(),"product",item.getPrice());
+            }
+        });
+
     }
 
     @Override
diff --git a/saleCenter/src/main/release/AndroidManifest.xml b/saleCenter/src/main/release/AndroidManifest.xml
index a6639a4..8b3f232 100644
--- a/saleCenter/src/main/release/AndroidManifest.xml
+++ b/saleCenter/src/main/release/AndroidManifest.xml
@@ -12,6 +12,9 @@
         <activity android:name=".ui.activity.SaleOrderDetailActivity"
             android:screenOrientation="portrait"
             />
+        <activity android:name=".ui.activity.PosterShareActivity"
+            android:screenOrientation="portrait"
+            />
 
     </application>
 </manifest>
\ No newline at end of file
diff --git a/saleCenter/src/main/res/layout/activity_poster_share.xml b/saleCenter/src/main/res/layout/activity_poster_share.xml
new file mode 100644
index 0000000..6c4e809
--- /dev/null
+++ b/saleCenter/src/main/res/layout/activity_poster_share.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/color_fa">
+
+        <RelativeLayout
+            android:id="@+id/rl_title"
+            style="@style/title">
+
+            <TextView
+                style="@style/text_title"
+                android:text="分享" />
+
+            <ImageView
+                android:id="@+id/title_back"
+                style="@style/title_image_back" />
+
+            <ImageView
+                style="@style/card_line"
+                android:layout_alignParentBottom="true" />
+        </RelativeLayout>
+
+        <LinearLayout
+            android:id="@+id/ll_poster"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@+id/rl_title"
+            android:layout_marginLeft="30dp"
+            android:layout_marginRight="30dp"
+            android:background="@color/white"
+            android:orientation="vertical"
+            android:paddingLeft="20dp"
+            android:paddingTop="20dp"
+            android:paddingRight="20dp"
+            android:paddingBottom="80dp">
+
+            <ImageView
+                android:id="@+id/iv_product"
+                android:layout_width="match_parent"
+                android:layout_height="180dp" />
+
+            <TextView
+                android:id="@+id/tv_title"
+                style="@style/common_text_style"
+                android:layout_gravity="center_horizontal"
+                android:layout_margin="5dp"
+                android:textSize="16sp" />
+
+            <TextView
+                android:id="@+id/tv_price"
+                style="@style/common_text_style"
+                android:layout_gravity="center_horizontal"
+                android:layout_marginBottom="5dp"
+                android:textColor="@color/text_common_blue"
+                android:textSize="16sp" />
+
+            <ImageView
+                android:id="@+id/iv_qr"
+                android:layout_width="130dp"
+                android:layout_height="130dp"
+                android:layout_gravity="center_horizontal"
+                android:scaleType="fitCenter" />
+        </LinearLayout>
+
+
+        <Button
+            android:id="@+id/btn_share"
+            android:layout_width="match_parent"
+            android:layout_height="43dp"
+            android:layout_alignParentBottom="true"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:layout_marginBottom="5dp"
+            android:layout_weight="1"
+            android:background="@drawable/btn_blue_commom"
+            android:gravity="center"
+            android:text="保存海报,分享到朋友圈"
+            android:textColor="@color/white" />
+
+
+    </RelativeLayout>
+
+</layout>
\ No newline at end of file
diff --git a/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserContract.java b/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserContract.java
index b3879c2..e035a71 100644
--- a/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserContract.java
+++ b/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserContract.java
@@ -1,11 +1,13 @@
 package com.dayu.usercenter.presenter.homeuser;
 
 
+import com.dayu.base.api.protocol.AddressInfoBean;
 import com.dayu.base.ui.presenter.BasePresenter;
 import com.dayu.common.BaseView;
 import com.dayu.usercenter.data.protocol.EngineerInfo;
 import com.dayu.usercenter.data.protocol.OrderRecord;
 import com.dayu.usercenter.data.protocol.TodayAchievement;
+import com.dayu.usercenter.model.bean.UserBankInfoBean;
 import com.dayu.usercenter.model.bean.UserIncomeBean;
 
 import java.util.List;
@@ -16,6 +18,10 @@ import java.util.List;
 public interface HomeUserContract {
 
     interface View extends BaseView {
+        void getBankInfoSuccess(UserBankInfoBean info);
+
+        void getAddrInfoSuccess(AddressInfoBean info);
+
         void getPersonalInfoSuccess(EngineerInfo info);
 
         void getAchievementSuccess(TodayAchievement achievement);
diff --git a/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserPresenter.java b/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserPresenter.java
index 6a2dc75..6b16581 100644
--- a/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserPresenter.java
+++ b/userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserPresenter.java
@@ -3,6 +3,7 @@ package com.dayu.usercenter.presenter.homeuser;
 import android.databinding.ObservableField;
 import android.os.Bundle;
 
+import com.dayu.base.api.APIService;
 import com.dayu.base.api.Api;
 import com.dayu.common.Constants;
 import com.dayu.usercenter.api.UserApiFactory;
@@ -46,11 +47,28 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
         getRecordInfo();
         getIncomData();
         getWechtData();
+        getBankInfo();
+        getAddrInfo();
     }
 
 
+    public void getBankInfo() {
+        Api.getService(UserService2.class).getUserBankInfo(mUid).compose(Api.applySchedulers())
+                .subscribe(baseObserver(data -> {
+                            mView.getBankInfoSuccess(data);
+                        },responeThrowable -> {mView.getBankInfoSuccess(null);}
+                ));
+    }
+    public void getAddrInfo() {
+        Api.getService(APIService.class).getAddressInfo(mUid).compose(Api.applySchedulers())
+                .subscribe(baseObserver(data -> {
+                            mView.getAddrInfoSuccess(data);
+                        },responeThrowable -> {mView.getAddrInfoSuccess(null);}
+                ));
+    }
+
     public void getUserInfo() {
-        UserApiFactory.getEngineerInfo(mUid).subscribe(baseObserver(data ->{
+        UserApiFactory.getEngineerInfo(mUid).subscribe(baseObserver(data -> {
                     mInviteCode = data.getInvitationCode();
                     mView.getPersonalInfoSuccess(data);
                 }
@@ -65,12 +83,12 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
 
     private void getIncomData() {
         Api.getService(UserService2.class).getIncoms(mUid).compose(Api.applySchedulers())
-                .subscribe(baseObserver(data->mView.setIncomData(data)));
+                .subscribe(baseObserver(data -> mView.setIncomData(data)));
     }
 
     private void getWechtData() {
         Api.getService(UserService2.class).getServiceWechat().compose(Api.applySchedulers())
-                .subscribe(baseObserver(wechats->mView.setWechatData(wechats)));
+                .subscribe(baseObserver(wechats -> mView.setWechatData(wechats)));
     }
 
     @Override
@@ -98,20 +116,21 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
     }
 
     public void dumpToInvate() {
-        Bundle bundle  = new Bundle();
-        bundle.putString(Constants.INVITE_CODE,mInviteCode);
-        bundle.putInt(Constants.TYPE,2);
-        mView.startActivity(InvateNewActivity.class,bundle);
+        Bundle bundle = new Bundle();
+        bundle.putString(Constants.INVITE_CODE, mInviteCode);
+        bundle.putInt(Constants.TYPE, 2);
+        mView.startActivity(InvateNewActivity.class, bundle);
     }
+
     public void toInviteRecord() {
         mView.startActivity(InviteRecordActivity.class);
     }
 
     public void invateProvider() {
-        Bundle bundle  = new Bundle();
-        bundle.putString(Constants.INVITE_CODE,mInviteCode);
-        bundle.putInt(Constants.TYPE,1);
-        mView.startActivity(InvateNewActivity.class,bundle);
+        Bundle bundle = new Bundle();
+        bundle.putString(Constants.INVITE_CODE, mInviteCode);
+        bundle.putInt(Constants.TYPE, 1);
+        mView.startActivity(InvateNewActivity.class, bundle);
     }
 
     public void dumpToCacheRecord() {
@@ -121,13 +140,14 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
     public void toCommonRecord(int type) {
         mView.toCommonRecord(type);
     }
+
     public void copy(String str) {
         mView.copyWechat(str);
     }
+
     public void dial(String str) {
         CommonUtils.dialPhone(str);
     }
 
 
-
 }
diff --git a/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/CommonRecordActivity.java b/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/CommonRecordActivity.java
index fc60465..02c970a 100644
--- a/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/CommonRecordActivity.java
+++ b/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/CommonRecordActivity.java
@@ -4,6 +4,8 @@ import android.content.Context;
 import android.content.Intent;
 import android.support.v7.widget.LinearLayoutManager;
 
+import com.alibaba.android.arouter.facade.annotation.Autowired;
+import com.alibaba.android.arouter.facade.annotation.Route;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
 import com.dayu.base.api.Api;
@@ -22,11 +24,16 @@ import java.util.List;
  * Created by mReturn
  * on 2020/2/15
  **/
-public class CommonRecordActivity extends BaseActivity<SImplePresenter,ActivityCommonRecordBinding> {
+
+@Route(path = Constants.PATH_USER_REWARD)
+public class CommonRecordActivity extends BaseActivity<SImplePresenter, ActivityCommonRecordBinding> {
+
     int mType; //1.销售奖励 2.服务业绩 3.邀请奖励 4.平台奖励
     int page = 1;
     BaseQuickAdapter<CommonRecordListBean, BaseViewHolder> mAdapter;
     List<CommonRecordListBean> mDatas = new ArrayList<>();
+    @Autowired(name = "type")
+    int routerType;
 
     @Override
     public int getLayoutId() {
@@ -37,17 +44,22 @@ public class CommonRecordActivity extends BaseActivity<SImplePresenter,ActivityC
     public void setPresenter() {
     }
 
-    public static void launch(Context context,int type){
-        Intent intent = new Intent(context,CommonRecordActivity.class);
-        intent.putExtra("type",type);
+    public static void launch(Context context, int type) {
+        Intent intent = new Intent(context, CommonRecordActivity.class);
+        intent.putExtra("type", type);
         context.startActivity(intent);
     }
 
     @Override
     public void initView() {
         initUser();
-        mType = getIntent().getIntExtra("type",0);
-        mBind.receivingBack.setOnClickListener(v->dumpBack());
+        if (getIntent().hasExtra("type")){
+            mType = getIntent().getIntExtra("type", 0);
+        }else{
+            mType = routerType;
+        }
+
+        mBind.receivingBack.setOnClickListener(v -> dumpBack());
         initTopView();
         initData();
         mBind.refreshLayout.setEnableLoadMore(false);
@@ -64,7 +76,7 @@ public class CommonRecordActivity extends BaseActivity<SImplePresenter,ActivityC
     }
 
     private void initTopView() {
-        switch (mType){
+        switch (mType) {
             case 1:
                 mBind.tvTitle.setText(R.string.user_sale_record);
                 mBind.tvCountDesc.setText(R.string.record_done_sale);
@@ -100,8 +112,8 @@ public class CommonRecordActivity extends BaseActivity<SImplePresenter,ActivityC
 
     //奖励明细
     private void getDetailData() {
-        Api.getService(UserService2.class).getCommonRecordList(mUserId,1,mType, page, Constants.PAGESIZE).compose(Api.applySchedulers())
-                .subscribe(mPresenter.baseObserver(data ->{
+        Api.getService(UserService2.class).getCommonRecordList(mUserId, 1, mType, page, Constants.PAGESIZE).compose(Api.applySchedulers())
+                .subscribe(mPresenter.baseObserver(data -> {
                     mBind.refreshLayout.finishRefresh();
                     mBind.refreshLayout.finishLoadMore();
                     if (page == 1) {
@@ -118,15 +130,14 @@ public class CommonRecordActivity extends BaseActivity<SImplePresenter,ActivityC
     }
 
 
-
     private void setAdapter() {
-        if (mAdapter != null){
+        if (mAdapter != null) {
             mAdapter.notifyDataSetChanged();
-        }else{
+        } else {
             mAdapter = new BaseQuickAdapter<CommonRecordListBean, BaseViewHolder>(R.layout.item_record_common, mDatas) {
                 @Override
                 protected void convert(BaseViewHolder helper, CommonRecordListBean item) {
-                    helper.setText(R.id.tv_item1, item.getRewardPrice()+"");
+                    helper.setText(R.id.tv_item1, item.getRewardPrice() + "");
                     helper.setText(R.id.tv_item2, item.getProviderName());
                     helper.setText(R.id.tv_item3, item.getCreateTime());
                 }
diff --git a/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/EditBankActivity.java b/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/EditBankActivity.java
index 6bb3edb..0c1f5ff 100644
--- a/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/EditBankActivity.java
+++ b/userCenter/src/main/java/com/dayu/usercenter/ui/activity2/EditBankActivity.java
@@ -4,21 +4,22 @@ import android.text.Editable;
 import android.text.TextUtils;
 import android.widget.EditText;
 
+import com.alibaba.android.arouter.facade.annotation.Route;
 import com.dayu.base.api.Api;
 import com.dayu.base.ui.activity.BaseActivity;
 import com.dayu.base.ui.presenter.SImplePresenter;
+import com.dayu.common.Constants;
 import com.dayu.common.MyTextWatcher;
-import com.dayu.event.UserInfo;
 import com.dayu.usercenter.R;
 import com.dayu.usercenter.api.UserService2;
 import com.dayu.usercenter.databinding.ActivityEditBankBinding;
 import com.dayu.usercenter.event.EditBankEvent;
 import com.dayu.usercenter.model.EditBankData;
 import com.dayu.utils.ToastUtils;
-import com.dayu.utils.UserManager;
 
 import org.greenrobot.eventbus.EventBus;
 
+@Route(path = Constants.PATH_EDIT_BANK)
 public class EditBankActivity extends BaseActivity<SImplePresenter, ActivityEditBankBinding> {
     private String bankName;
     private String bankAccount;
diff --git a/userCenter/src/main/java/com/dayu/usercenter/ui/fragment/HomeUserFragment.java b/userCenter/src/main/java/com/dayu/usercenter/ui/fragment/HomeUserFragment.java
index 71e689b..51b020d 100644
--- a/userCenter/src/main/java/com/dayu/usercenter/ui/fragment/HomeUserFragment.java
+++ b/userCenter/src/main/java/com/dayu/usercenter/ui/fragment/HomeUserFragment.java
@@ -12,6 +12,7 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.dayu.base.api.protocol.AddressInfoBean;
 import com.dayu.base.ui.fragment.BaseFragment;
 import com.dayu.common.Constants;
 import com.dayu.event.UserInfo;
@@ -25,11 +26,13 @@ import com.dayu.usercenter.data.protocol.TodayAchievement;
 import com.dayu.usercenter.databinding.FragmentHomeUserBinding;
 import com.dayu.usercenter.event.RefreshUserInfoEvent;
 import com.dayu.usercenter.event.RefreshUserRecordEvent;
+import com.dayu.usercenter.model.bean.UserBankInfoBean;
 import com.dayu.usercenter.model.bean.UserIncomeBean;
 import com.dayu.usercenter.presenter.homeuser.HomeUserContract;
 import com.dayu.usercenter.presenter.homeuser.HomeUserPresenter;
 import com.dayu.usercenter.ui.activity.WithdrawalsActivity;
 import com.dayu.usercenter.ui.activity2.CommonRecordActivity;
+import com.dayu.usercenter.ui.activity2.UserInfoActivity;
 import com.dayu.utils.CommonUtils;
 import com.dayu.utils.ProgressUtil;
 import com.dayu.utils.SPUtils;
@@ -94,6 +97,43 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
     }
 
     @Override
+    public void getBankInfoSuccess(UserBankInfoBean info) {
+        if (info == null || TextUtils.isEmpty(info.getBankAccount())){
+            if (TextUtils.isEmpty((String) SPUtils.get("bank_addr_info",""))){
+                showBankAddrDialog();
+                SPUtils.put("bank_addr_info","showed");
+            }
+        }
+    }
+
+    @Override
+    public void getAddrInfoSuccess(AddressInfoBean info) {
+        if (info == null || TextUtils.isEmpty(info.getAddress())){
+            if (TextUtils.isEmpty((String) SPUtils.get("bank_addr_info",""))){
+                showBankAddrDialog();
+                SPUtils.put("bank_addr_info","showed");
+            }
+        }
+    }
+
+    private void showBankAddrDialog() {
+        CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog,
+                "请尽快填写您的银行卡信息和快递信息,以免影响您的提现和接单。"
+                , (dialog1, confirm) -> {
+            if (confirm) {
+                Intent intent = new Intent(mActivity, UserInfoActivity.class);
+                startActivity(intent);
+                dialog1.dismiss();
+            }
+            dialog1.dismiss();
+        });
+        dialog.setTitle("提示")
+                .setNegativeButton(mActivity.getString(R.string.cancle))
+                .setPositiveButton("去填写");
+        dialog.show();
+    }
+
+    @Override
     public void getPersonalInfoSuccess(EngineerInfo info) {
 //        mBind.tvStartLive.setVisibility(View.VISIBLE);
         mBind.tvStartLive.setVisibility(info.getLiveStatus() == 1?View.VISIBLE:View.GONE);
diff --git a/userCenter/src/main/res/layout/activity_edit_bank.xml b/userCenter/src/main/res/layout/activity_edit_bank.xml
index af082fb..557c04b 100644
--- a/userCenter/src/main/res/layout/activity_edit_bank.xml
+++ b/userCenter/src/main/res/layout/activity_edit_bank.xml
@@ -75,6 +75,11 @@
                 style="@style/edt_user_edit"
                 />
         </LinearLayout>
+        <TextView
+            style="@style/common_text_style"
+            android:textColor="@color/common_red"
+            android:layout_margin="15dp"
+            android:text="@string/fill_bank_notice" />
 
         <View
             android:layout_width="wrap_content"
diff --git a/userCenter/src/main/res/values/strings.xml b/userCenter/src/main/res/values/strings.xml
index 2dcf41e..a36493c 100644
--- a/userCenter/src/main/res/values/strings.xml
+++ b/userCenter/src/main/res/values/strings.xml
@@ -35,12 +35,12 @@
     <string name="sale_record_rule4_3">的佣金。(佣金含依法代扣代缴个人劳务收入所得税费和支付手续费等)</string>
     <string name="invate_user_title">邀请新人有奖</string>
     <string name="invate_reward_rule">奖励规则:</string>
-    <string name="invate_reward_rule1">1、成功邀请一名新人注册大鱼师傅APP, 被邀请人的销售奖励/服务收入的5%给您。</string>
+    <string name="invate_reward_rule1">1、成功邀请一名新人注册大鱼师傅APP, 被邀请人的前十单销售奖励/服务收入的5%给您。</string>
     <string name="invate_reward_rule2">2、请务必提醒被邀请人在注册APP时准确输入您的【专属邀请码】;如果输入错误或忘记输入,系统无法识别并记账。</string>
     <string name="remember_your_invate_code">请牢记您的专属邀请码:</string>
     <string name="forward_invate_now">马上转发\n【大鱼师傅APP】注册链接</string>
     <string name="invate_provider_title">推荐商家有奖</string>
-    <string name="invate_provider_rule1">1、推荐成功注册大鱼商家,该商家前十单销售奖励/服务工费的10%都归您。</string>
+    <string name="invate_provider_rule1">1、推荐成功注册大鱼商家,该商家前十单销售奖励/服务工费的5%都归您。</string>
     <string name="invate_provider_rule2">2、请务必提醒商家注册时准确输入您的【专属邀请码】;如果输入错误或忘记输入,系统无法识别并记账。</string>
     <string name="forward_provider_now">马上转发\n【大鱼商家APP】注册链接</string>
     <string name="share_finish">分享结束</string>