Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
9000494d
authored
Jul 02, 2020
by
mReturn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
red packet
parent
6ba03d37
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1007 additions
and
57 deletions
app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
baseSDK/src/main/java/com/dayu/base/api/APIService.java
baseSDK/src/main/java/com/dayu/base/api/protocol/BankInfoBean.java
baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
baseSDK/src/main/java/com/dayu/common/Constants.java
baseSDK/src/main/java/com/dayu/utils/BitmapUtils.java
baseSDK/src/main/java/com/dayu/utils/CommonUtils.java
baseSDK/src/main/java/com/dayu/utils/UserManager.java
baseSDK/src/main/java/com/dayu/widgets/RedPacketsDialog.java
baseSDK/src/main/java/com/dayu/widgets/WechatShareDialog.java
baseSDK/src/main/res/drawable-hdpi/ic_red_packet_close.png
baseSDK/src/main/res/drawable-xxhdpi/ic_red_packet_open.png
baseSDK/src/main/res/drawable-xxhdpi/ic_red_packets_bg.png
baseSDK/src/main/res/layout/dialog_red_packets.xml
baseSDK/src/main/res/layout/dialog_wechat_share.xml
baseSDK/src/main/res/values/strings.xml
learnCenter/src/main/java/com/dayu/learncenter/ui/activity/PrepareLiveActivity.java
liveModule/src/main/java/com/dayu/livemodule/MLVBLiveRoomImpl.java
saleCenter/src/main/java/com/bigfish/salecenter/api/SaleService.java
saleCenter/src/main/java/com/bigfish/salecenter/ui/activity/PosterShareActivity.java
saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/ProductInstructionFragment.java
saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/SaleProductFragment.java
saleCenter/src/main/release/AndroidManifest.xml
saleCenter/src/main/res/layout/activity_poster_share.xml
userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserContract.java
userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserPresenter.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/CommonRecordActivity.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/EditBankActivity.java
userCenter/src/main/java/com/dayu/usercenter/ui/fragment/HomeUserFragment.java
userCenter/src/main/res/layout/activity_edit_bank.xml
userCenter/src/main/res/values/strings.xml
app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
View file @
9000494d
...
...
@@ -128,6 +128,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
startLocationService
();
EventBus
.
getDefault
().
register
(
this
);
setUmengDeviceToken
();
// showRedPackDialog();
}
//设置友盟devicetoken
...
...
baseSDK/src/main/java/com/dayu/base/api/APIService.java
View file @
9000494d
...
...
@@ -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
);
}
baseSDK/src/main/java/com/dayu/base/api/protocol/BankInfoBean.java
0 → 100644
View file @
9000494d
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
;
}
}
baseSDK/src/main/java/com/dayu/base/ui/activity/BaseActivity.java
View file @
9000494d
...
...
@@ -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
;
...
...
baseSDK/src/main/java/com/dayu/common/Constants.java
View file @
9000494d
...
...
@@ -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)
/**
...
...
baseSDK/src/main/java/com/dayu/utils/BitmapUtils.java
0 → 100644
View file @
9000494d
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
;
}
}
baseSDK/src/main/java/com/dayu/utils/CommonUtils.java
View file @
9000494d
...
...
@@ -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
();
}
...
...
baseSDK/src/main/java/com/dayu/utils/UserManager.java
View file @
9000494d
...
...
@@ -56,6 +56,8 @@ public class UserManager {
SPUtils
.
remove
(
"USER_INFO"
);
SPUtils
.
remove
(
"token"
);
SPUtils
.
remove
(
"USER_IDENTITY"
);
SPUtils
.
remove
(
"bank_addr_info"
);
}
/**
...
...
baseSDK/src/main/java/com/dayu/widgets/RedPacketsDialog.java
0 → 100644
View file @
9000494d
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
();
}
}
baseSDK/src/main/java/com/dayu/widgets/WechatShareDialog.java
0 → 100644
View file @
9000494d
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
);
}
}
baseSDK/src/main/res/drawable-hdpi/ic_red_packet_close.png
0 → 100644
View file @
9000494d
2.19 KB
baseSDK/src/main/res/drawable-xxhdpi/ic_red_packet_open.png
0 → 100644
View file @
9000494d
11.5 KB
baseSDK/src/main/res/drawable-xxhdpi/ic_red_packets_bg.png
0 → 100644
View file @
9000494d
9.88 KB
baseSDK/src/main/res/layout/dialog_red_packets.xml
0 → 100644
View file @
9000494d
<?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
baseSDK/src/main/res/layout/dialog_wechat_share.xml
0 → 100644
View file @
9000494d
<?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
baseSDK/src/main/res/values/strings.xml
View file @
9000494d
...
...
@@ -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>
...
...
learnCenter/src/main/java/com/dayu/learncenter/ui/activity/PrepareLiveActivity.java
View file @
9000494d
...
...
@@ -34,6 +34,7 @@ import okhttp3.RequestBody;
public
class
PrepareLiveActivity
extends
BaseActivity
<
SImplePresenter
,
ActivityPrepareLiveBinding
>
{
String
title
;
String
coverUrl
;
@Override
public
void
setPresenter
()
{
...
...
@@ -54,7 +55,7 @@ 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
(
"请输入标题"
);
...
...
@@ -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
{
...
...
liveModule/src/main/java/com/dayu/livemodule/MLVBLiveRoomImpl.java
View file @
9000494d
...
...
@@ -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"
,
""
);
...
...
saleCenter/src/main/java/com/bigfish/salecenter/api/SaleService.java
View file @
9000494d
...
...
@@ -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
);
}
saleCenter/src/main/java/com/bigfish/salecenter/ui/activity/PosterShareActivity.java
0 → 100644
View file @
9000494d
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
);
}
}
saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/ProductInstructionFragment.java
View file @
9000494d
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
){
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"
);
}
}
...
...
saleCenter/src/main/java/com/bigfish/salecenter/ui/fragment/SaleProductFragment.java
View file @
9000494d
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"
);
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
...
...
saleCenter/src/main/release/AndroidManifest.xml
View file @
9000494d
...
...
@@ -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
saleCenter/src/main/res/layout/activity_poster_share.xml
0 → 100644
View file @
9000494d
<?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
userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserContract.java
View file @
9000494d
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
);
...
...
userCenter/src/main/java/com/dayu/usercenter/presenter/homeuser/HomeUserPresenter.java
View file @
9000494d
...
...
@@ -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
...
...
@@ -99,19 +117,20 @@ 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
.
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
.
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
);
}
}
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/CommonRecordActivity.java
View file @
9000494d
...
...
@@ -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
());
}
...
...
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/EditBankActivity.java
View file @
9000494d
...
...
@@ -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
;
...
...
userCenter/src/main/java/com/dayu/usercenter/ui/fragment/HomeUserFragment.java
View file @
9000494d
...
...
@@ -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
);
...
...
userCenter/src/main/res/layout/activity_edit_bank.xml
View file @
9000494d
...
...
@@ -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"
...
...
userCenter/src/main/res/values/strings.xml
View file @
9000494d
...
...
@@ -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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment