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
Feb 25, 2024
by
wukun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
资质证书支付
parent
6003e671
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"
;
}
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>
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
...
...
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"
...
...
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
);
}
userCenter/src/main/java/com/dayu/usercenter/event/RefreshSelfLicenceEvent.java
0 → 100644
View file @
8226338b
package
com
.
dayu
.
usercenter
.
event
;
public
class
RefreshSelfLicenceEvent
{
}
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
;
}
}
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
;
}
}
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
>
{
}
}
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
;
}
}
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
();
}
...
...
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
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
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
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