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
8226338b
authored
a year ago
by
wukun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
资质证书支付
parent
6003e671
dev_xx_web
…
dev
dev_xx
dev_xx_241116
dev_xx_250108_toast
dev_xx_250224_report
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
378 additions
and
15 deletions
baseSDK/src/main/java/com/dayu/common/Constants.java
baseSDK/src/main/res/values/colors.xml
build.gradle
userCenter/build.gradle
userCenter/src/main/java/com/dayu/usercenter/api/UserService2.java
userCenter/src/main/java/com/dayu/usercenter/event/RefreshSelfLicenceEvent.java
userCenter/src/main/java/com/dayu/usercenter/model/LicencePayData.java
userCenter/src/main/java/com/dayu/usercenter/model/bean/SelfLicenceBean.java
userCenter/src/main/java/com/dayu/usercenter/presenter/userlicencedetail/UserLicenceDetailContract.java
userCenter/src/main/java/com/dayu/usercenter/presenter/userlicencedetail/UserLicenceDetailPresent.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/SelfLicenceActivity.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/SelfLicenceDetailActivity.java
userCenter/src/main/release/AndroidManifest.xml
userCenter/src/main/res/layout/activity_self_licence_detail.xml
baseSDK/src/main/java/com/dayu/common/Constants.java
View file @
8226338b
...
...
@@ -321,4 +321,7 @@ public class Constants {
public
static
boolean
isPrivacy
=
false
;
public
static
final
String
IS_SHOW_BTN
=
"isShowBtn"
;
public
final
static
String
PAY_STATUS
=
"payStatus"
;
public
final
static
String
PRICE
=
"price"
;
}
This diff is collapsed.
Click to expand it.
baseSDK/src/main/res/values/colors.xml
View file @
8226338b
...
...
@@ -59,4 +59,6 @@
<color
name=
"color_f2"
>
#F2F2F2
</color>
<color
name=
"blue"
>
#7D7DFF
</color>
<color
name=
"color_53"
>
#53575e
</color>
<color
name=
"transparent"
>
#00000000
</color>
</resources>
This diff is collapsed.
Click to expand it.
build.gradle
View file @
8226338b
...
...
@@ -5,8 +5,8 @@ buildscript {
ext
.
build_tools_version
=
"29.0.2"
ext
.
min_sdk_version
=
21
ext
.
target_sdk_version
=
29
ext
.
version_code
=
3
19
ext
.
verson_name
=
"3.
1.9
"
ext
.
version_code
=
3
20
ext
.
verson_name
=
"3.
2.0
"
ext
.
gradle_version
=
'4.0.1'
ext
.
isReleaseMinify
=
false
ext
.
isDebugMinify
=
false
...
...
This diff is collapsed.
Click to expand it.
userCenter/build.gradle
View file @
8226338b
...
...
@@ -57,6 +57,9 @@ android {
dependencies
{
api
fileTree
(
dir:
'libs'
,
include:
[
'*.jar'
])
implementation
'androidx.appcompat:appcompat:1.3.0'
implementation
'com.google.android.material:material:1.4.0'
implementation
'androidx.constraintlayout:constraintlayout:2.0.4'
//ARouter
annotationProcessor
"com.alibaba:arouter-compiler:$arouter_compiler_version"
...
...
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/api/UserService2.java
View file @
8226338b
...
...
@@ -10,6 +10,7 @@ import com.dayu.usercenter.model.ApplyLicenceData;
import
com.dayu.usercenter.model.ApplyWithdrawData
;
import
com.dayu.usercenter.model.ChangeNickData
;
import
com.dayu.usercenter.model.EditBankData
;
import
com.dayu.usercenter.model.LicencePayData
;
import
com.dayu.usercenter.model.SaveSceneData
;
import
com.dayu.usercenter.model.UploadSelfLicenceData
;
import
com.dayu.usercenter.model.bean.BusinessSceneBean
;
...
...
@@ -413,4 +414,6 @@ public interface UserService2 {
@POST
(
Constants
.
API_7100
+
"/engineerAddress/saveDefault"
)
Observable
<
BaseResponse
<
Boolean
>>
saveAddress
(
@Body
AddressData
saveBean
);
@POST
(
Constants
.
API_7100
+
"/engineerCertificate/pay"
)
Observable
<
BaseResponse
<
Boolean
>>
licencePay
(
@Body
LicencePayData
saveBean
);
}
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/event/RefreshSelfLicenceEvent.java
0 → 100644
View file @
8226338b
package
com
.
dayu
.
usercenter
.
event
;
public
class
RefreshSelfLicenceEvent
{
}
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/model/LicencePayData.java
0 → 100644
View file @
8226338b
package
com
.
dayu
.
usercenter
.
model
;
public
class
LicencePayData
{
private
int
id
;
private
String
updated
;
public
LicencePayData
(
int
id
,
String
updated
)
{
this
.
id
=
id
;
this
.
updated
=
updated
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getUpdated
()
{
return
updated
;
}
public
void
setUpdated
(
String
updated
)
{
this
.
updated
=
updated
;
}
}
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/model/bean/SelfLicenceBean.java
View file @
8226338b
...
...
@@ -20,6 +20,7 @@ public class SelfLicenceBean {
private
String
name
;
private
String
url
;
private
int
status
;
private
int
payStatus
;
private
String
createTime
;
private
String
created
;
private
Object
updateTime
;
...
...
@@ -27,6 +28,7 @@ public class SelfLicenceBean {
private
String
engineerName
;
private
String
engineerMobile
;
private
int
engineerId
;
private
double
price
;
public
int
getId
()
{
return
id
;
...
...
@@ -115,4 +117,20 @@ public class SelfLicenceBean {
public
void
setEngineerId
(
int
engineerId
)
{
this
.
engineerId
=
engineerId
;
}
public
int
getPayStatus
()
{
return
payStatus
;
}
public
void
setPayStatus
(
int
payStatus
)
{
this
.
payStatus
=
payStatus
;
}
public
double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
double
price
)
{
this
.
price
=
price
;
}
}
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/presenter/userlicencedetail/UserLicenceDetailContract.java
0 → 100644
View file @
8226338b
package
com
.
dayu
.
usercenter
.
presenter
.
userlicencedetail
;
import
com.dayu.base.ui.presenter.BaseListPresenter
;
import
com.dayu.common.BaseView
;
public
interface
UserLicenceDetailContract
{
interface
View
extends
BaseView
{
}
abstract
class
Presenter
extends
BaseListPresenter
<
View
>
{
}
}
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/presenter/userlicencedetail/UserLicenceDetailPresent.java
0 → 100644
View file @
8226338b
package
com
.
dayu
.
usercenter
.
presenter
.
userlicencedetail
;
import
androidx.databinding.ObservableField
;
import
com.dayu.event.UserInfo
;
import
com.dayu.utils.UserManager
;
public
class
UserLicenceDetailPresent
extends
UserLicenceDetailContract
.
Presenter
{
private
int
mPage
;
private
int
mUserId
;
private
String
mUserName
;
public
int
type
;
//1.已获得 2.全部 3.自传
private
ObservableField
<
Object
>
datas
=
new
ObservableField
<>();
@Override
public
void
onAttached
()
{
UserInfo
userInfo
=
UserManager
.
getInstance
().
getUser
();
mUserId
=
Integer
.
parseInt
(
userInfo
.
getAccountId
());
mUserName
=
userInfo
.
getAccountName
();
}
@Override
public
ObservableField
<
Object
>
getSourceDatas
()
{
return
null
;
}
}
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/SelfLicenceActivity.java
View file @
8226338b
package
com
.
dayu
.
usercenter
.
ui
.
activity2
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
com.dayu.base.ui.activity.BaseActivity
;
import
com.dayu.base.ui.fragment.BaseFragment
;
import
com.dayu.common.Constants
;
import
com.dayu.usercenter.R
;
import
com.dayu.usercenter.adapter.SelfLicenceAdapter
;
import
com.dayu.usercenter.databinding.ActivityUserLicenceListBinding
;
import
com.dayu.usercenter.
databinding.FragmentUserLicenceBinding
;
import
com.dayu.usercenter.
event.RefreshSelfLicenceEvent
;
import
com.dayu.usercenter.event.UploadSelfLicenceEvent
;
import
com.dayu.usercenter.presenter.userlicence.UserLicenceContract
;
import
com.dayu.usercenter.presenter.userlicence.UserLicencePresent
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
import
org.greenrobot.eventbus.ThreadMode
;
...
...
@@ -56,6 +53,15 @@ public class SelfLicenceActivity extends BaseActivity<UserLicencePresent, Activi
intent
.
putExtra
(
Constants
.
TITLE
,
item
.
getName
());
intent
.
putExtra
(
Constants
.
URL
,
item
.
getUrl
());
startActivity
(
intent
);
}
else
if
(
2
==
item
.
getStatus
()){
Intent
intent
=
new
Intent
(
mActivity
,
SelfLicenceDetailActivity
.
class
);
intent
.
putExtra
(
Constants
.
ID
,
item
.
getId
());
intent
.
putExtra
(
Constants
.
TITLE
,
item
.
getName
());
intent
.
putExtra
(
Constants
.
URL
,
item
.
getUrl
());
intent
.
putExtra
(
Constants
.
PRICE
,
item
.
getPrice
());
intent
.
putExtra
(
Constants
.
PAY_STATUS
,
item
.
getPayStatus
()
);
startActivity
(
intent
);
}
});
...
...
@@ -65,6 +71,12 @@ public class SelfLicenceActivity extends BaseActivity<UserLicencePresent, Activi
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
void
RefreshLicence
(
RefreshSelfLicenceEvent
event
)
{
mPresenter
.
refresh
();
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
void
afterUpload
(
UploadSelfLicenceEvent
event
)
{
mPresenter
.
refresh
();
}
...
...
This diff is collapsed.
Click to expand it.
userCenter/src/main/java/com/dayu/usercenter/ui/activity2/SelfLicenceDetailActivity.java
0 → 100644
View file @
8226338b
package
com
.
dayu
.
usercenter
.
ui
.
activity2
;
import
android.app.DownloadManager
;
import
android.content.BroadcastReceiver
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.IntentFilter
;
import
android.graphics.Bitmap
;
import
android.net.Uri
;
import
android.os.Environment
;
import
android.webkit.URLUtil
;
import
android.widget.Button
;
import
android.widget.ImageView
;
import
com.dayu.base.api.APIService
;
import
com.dayu.base.api.Api
;
import
com.dayu.base.api.protocol.AddShareRecordData
;
import
com.dayu.base.ui.activity.BaseActivity
;
import
com.dayu.common.Constants
;
import
com.dayu.event.UserInfo
;
import
com.dayu.usercenter.R
;
import
com.dayu.usercenter.api.UserService2
;
import
com.dayu.usercenter.databinding.ActivitySelfLicenceDetailBinding
;
import
com.dayu.usercenter.event.RefreshSelfLicenceEvent
;
import
com.dayu.usercenter.model.LicencePayData
;
import
com.dayu.usercenter.presenter.userlicencedetail.UserLicenceDetailPresent
;
import
com.dayu.utils.BitmapUtils
;
import
com.dayu.utils.CommonUtils
;
import
com.dayu.utils.GlideImageLoader
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UserManager
;
import
com.dayu.widgets.CustomDialog
;
import
com.dayu.widgets.WechatShareDialog
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
import
org.greenrobot.eventbus.EventBus
;
import
java.io.File
;
public
class
SelfLicenceDetailActivity
extends
BaseActivity
<
UserLicenceDetailPresent
,
ActivitySelfLicenceDetailBinding
>
{
@Override
public
void
setPresenter
()
{
}
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_self_licence_detail
;
}
@Override
public
void
initView
()
{
String
url
=
getIntent
().
getStringExtra
(
Constants
.
URL
);
String
title
=
getIntent
().
getStringExtra
(
Constants
.
TITLE
);
int
id
=
getIntent
().
getIntExtra
(
Constants
.
ID
,
0
);
int
payStatus
=
getIntent
().
getIntExtra
(
Constants
.
PAY_STATUS
,
0
);
double
price
=
getIntent
().
getDoubleExtra
(
Constants
.
PRICE
,
0
);
ImageView
ivContent
=
findViewById
(
R
.
id
.
iv_content
);
ImageView
titleBack
=
findViewById
(
R
.
id
.
title_back
);
Button
btnShare
=
findViewById
(
R
.
id
.
btn_share
);
Button
btnDownload
=
findViewById
(
R
.
id
.
btn_download
);
GlideImageLoader
.
load
(
this
,
url
,
ivContent
);
if
(
2
==
payStatus
){
CustomDialog
dialog
=
new
CustomDialog
(
SelfLicenceDetailActivity
.
this
,
R
.
style
.
CustomDialog
,
"查看、转发、下载证书需支付证书费:\n ¥ "
+
price
,
(
dialog1
,
confirm
)
->
{
if
(
confirm
)
{
LicencePayData
payData
=
new
LicencePayData
(
id
,
""
);
Api
.
getService
(
UserService2
.
class
).
licencePay
(
payData
).
compose
(
Api
.
applySchedulers
())
.
subscribe
(
mPresenter
.
baseObserver
(
aBoolean
->
{
if
(
aBoolean
){
ToastUtils
.
showShortToast
(
"支付成功"
);
EventBus
.
getDefault
().
post
(
new
RefreshSelfLicenceEvent
());
}
else
{
payError
();
}
dialog1
.
dismiss
();
}));
}
else
{
SelfLicenceDetailActivity
.
this
.
finish
();
}
});
dialog
.
setTitle
(
"付费证书"
)
.
shouldDisMiss
(
false
)
.
setPositiveButton
(
"同意"
);
dialog
.
show
();
}
titleBack
.
setOnClickListener
(
v
->
finish
());
btnShare
.
setOnClickListener
(
v
->
{
UserInfo
mUserInfo
=
UserManager
.
getInstance
().
getUser
();
int
mUserId
=
Integer
.
parseInt
(
mUserInfo
.
getAccountId
());
WechatShareDialog
.
getInstance
().
showBottomDialog
(
SelfLicenceDetailActivity
.
this
,
pos
->
{
Bitmap
bitmap
=
BitmapUtils
.
getBitmap
(
ivContent
);
File
file
=
BitmapUtils
.
saveBitmap2Local
(
bitmap
,
"poster"
+
Constants
.
ENVIROMENT
+
mUserId
+
id
+
".png"
);
if
(
pos
==
0
){
CommonUtils
.
shareImg
(
SelfLicenceDetailActivity
.
this
,
file
,
SHARE_MEDIA
.
WEIXIN
,
null
);
AddShareRecordData
data
=
new
AddShareRecordData
(
mUserId
,
mUserInfo
.
getAccountName
(),
"微信"
,
id
,
1
);
Api
.
getService
(
APIService
.
class
).
addShareRecord
(
data
).
compose
(
Api
.
applySchedulers
()).
subscribe
();
}
else
{
CommonUtils
.
shareImg
(
SelfLicenceDetailActivity
.
this
,
file
,
SHARE_MEDIA
.
WEIXIN_CIRCLE
,
null
);
AddShareRecordData
data
=
new
AddShareRecordData
(
mUserId
,
mUserInfo
.
getAccountName
(),
"朋友圈"
,
id
,
1
);
Api
.
getService
(
APIService
.
class
).
addShareRecord
(
data
).
compose
(
Api
.
applySchedulers
()).
subscribe
();
}
});
});
btnDownload
.
setOnClickListener
(
v
->
downloadBySystem
(
url
,
title
,
"image/*"
));
}
/**
* 支付失败
*/
private
void
payError
()
{
CustomDialog
dialog
=
new
CustomDialog
(
mActivity
,
R
.
style
.
CustomDialog
,
"账户余额不足!\n请先充值再查看!"
,
(
dialog1
,
confirm
)
->
{
mActivity
.
finish
();
});
dialog
.
setTitle
(
"温馨提醒"
)
.
setPositiveButton
(
"确定"
);
dialog
.
setOneButton
(
true
);
dialog
.
show
();
}
private
void
downloadBySystem
(
String
url
,
String
contentDisposition
,
String
mimeType
)
{
ToastUtils
.
showShortToast
(
"开始下载"
);
// 指定下载地址
DownloadManager
.
Request
request
=
new
DownloadManager
.
Request
(
Uri
.
parse
(
url
));
// 允许媒体扫描,根据下载的文件类型被加入相册、音乐等媒体库
request
.
allowScanningByMediaScanner
();
// 设置通知的显示类型,下载进行时和完成后显示通知
request
.
setNotificationVisibility
(
DownloadManager
.
Request
.
VISIBILITY_VISIBLE_NOTIFY_COMPLETED
);
// 设置通知栏的标题,如果不设置,默认使用文件名
// request.setTitle("This is title");
// 设置通知栏的描述
request
.
setDescription
(
"正在下载"
);
// 允许在计费流量下下载
request
.
setAllowedOverMetered
(
true
);
// 允许该记录在下载管理界面可见
request
.
setVisibleInDownloadsUi
(
true
);
// 允许漫游时下载
request
.
setAllowedOverRoaming
(
true
);
// 允许下载的网路类型
request
.
setAllowedNetworkTypes
(
DownloadManager
.
Request
.
NETWORK_WIFI
|
DownloadManager
.
Request
.
NETWORK_MOBILE
);
// 设置下载文件保存的路径和文件名
String
fileName
=
URLUtil
.
guessFileName
(
url
,
contentDisposition
,
mimeType
);
request
.
setDestinationInExternalPublicDir
(
Environment
.
DIRECTORY_DOWNLOADS
,
fileName
);
// 另外可选一下方法,自定义下载路径
// request.setDestinationUri()
// request.setDestinationInExternalFilesDir()
final
DownloadManager
downloadManager
=
(
DownloadManager
)
getSystemService
(
DOWNLOAD_SERVICE
);
// 添加一个下载任务
long
downloadId
=
downloadManager
.
enqueue
(
request
);
registerReceiver
(
receiver
,
new
IntentFilter
(
DownloadManager
.
ACTION_DOWNLOAD_COMPLETE
));
}
//广播监听下载的各个状态
private
BroadcastReceiver
receiver
=
new
BroadcastReceiver
()
{
@Override
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
if
(
intent
.
getAction
().
equals
(
DownloadManager
.
ACTION_DOWNLOAD_COMPLETE
))
{
ToastUtils
.
showShortToast
(
"文件下载成功"
);
}
}
};
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
userCenter/src/main/release/AndroidManifest.xml
View file @
8226338b
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.dayu.usercenter"
>
...
...
@@ -6,6 +7,9 @@
android:label=
"@string/app_name"
android:supportsRtl=
"true"
>
<activity
android:name=
".ui.activity2.SelfLicenceDetailActivity"
android:exported=
"false"
/>
<activity
android:name=
".ui.activity.TestActivity"
android:screenOrientation=
"portrait"
/>
<activity
...
...
@@ -64,17 +68,14 @@
<activity
android:name=
".ui.activity.CommeWebViewActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity2.UserInfoActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity2.BusinessTypeActivity"
android:screenOrientation=
"portrait"
/>
<!-- <activity-->
<!-- android:name=".ui.activity2.UserLicenceActivity"-->
<!-- android:screenOrientation="portrait" />-->
android:screenOrientation=
"portrait"
/>
<!-- <activity -->
<!-- android:name=".ui.activity2.UserLicenceActivity" -->
<!-- android:screenOrientation="portrait" /> -->
<activity
android:name=
".ui.activity2.SelfLicenceActivity"
android:screenOrientation=
"portrait"
/>
...
...
@@ -110,7 +111,6 @@
<activity
android:name=
".ui.activity2.UploadSelfLicenceActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity.InviteTeamActvity"
android:screenOrientation=
"portrait"
/>
...
...
@@ -120,10 +120,9 @@
<activity
android:name=
".ui.activity2.RegisterActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activity2.ServerRegisterActivity"
android:screenOrientation=
"portrait"
/>
</application>
</manifest>
</manifest>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
userCenter/src/main/res/layout/activity_self_licence_detail.xml
0 → 100644
View file @
8226338b
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/rl_title"
style=
"@style/title"
>
<TextView
android:id=
"@+id/tv_title"
style=
"@style/text_title"
android:text=
"资质证书"
/>
<ImageView
android:id=
"@+id/title_back"
style=
"@style/title_image_back"
/>
</RelativeLayout>
<ImageView
style=
"@style/card_line"
/>
<ImageView
android:id=
"@+id/iv_content"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_margin=
"20dp"
android:orientation=
"horizontal"
>
<Button
android:id=
"@+id/btn_share"
android:layout_width=
"0dp"
android:layout_height=
"43dp"
android:layout_weight=
"1"
android:background=
"@drawable/btn_green_commom"
android:gravity=
"center"
android:text=
"转发"
android:textColor=
"@color/white"
/>
<Button
android:id=
"@+id/btn_download"
android:layout_width=
"0dp"
android:layout_height=
"43dp"
android:layout_marginLeft=
"50dp"
android:layout_weight=
"1"
android:background=
"@drawable/btn_blue_commom"
android:gravity=
"center"
android:text=
"下载"
android:textColor=
"@color/white"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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