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
d6f9d5dc
authored
Sep 10, 2018
by
罗翻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加角色判断,修改登录逻辑
parent
f0343d32
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
391 additions
and
152 deletions
app/src/main/java/com/dayu/bigfish/InitializeActivity.java
app/src/main/java/com/dayu/bigfish/presenter/setting/SettingPresenter.java
baseSDK/src/main/java/com/dayu/base/api/ServerException.java
baseSDK/src/main/java/com/dayu/common/Constants.java
baseSDK/src/main/java/com/dayu/utils/StationManager.java
baseSDK/src/main/java/com/dayu/utils/TimeUtils.java
baseSDK/src/main/java/com/dayu/utils/UserManager.java
baseSDK/src/main/res/values/strings.xml
build.gradle
managercenter/src/main/java/com/dayu/managercenter/presenter/changeorder/ChangeOrderPresenter.java
managercenter/src/main/java/com/dayu/managercenter/presenter/changereason/ChangeReasonContract.java
managercenter/src/main/java/com/dayu/managercenter/presenter/changereason/ChangeReasonPresenter.java
managercenter/src/main/java/com/dayu/managercenter/presenter/senddetail/SendDetailContract.java
managercenter/src/main/java/com/dayu/managercenter/presenter/senddetail/SendDetailPresenter.java
managercenter/src/main/java/com/dayu/managercenter/presenter/servicestation/ServiceStationPresenter.java
managercenter/src/main/java/com/dayu/managercenter/ui/activity/ChangeReasonActivity.java
managercenter/src/main/java/com/dayu/managercenter/ui/activity/ManagerActivity.java
managercenter/src/main/java/com/dayu/managercenter/ui/activity/SendOrderDetailActivity.java
managercenter/src/main/java/com/dayu/managercenter/ui/activity/ServiceStationActivity.java
managercenter/src/main/java/com/dayu/managercenter/ui/adapter/GrabOrderAdapter.java
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/BargainFragment.java
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/ChangeOrderFragment.java
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/GrabFragment.java
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/ManagerFragment.java
managercenter/src/main/release/AndroidManifest.xml
managercenter/src/main/res/layout/activity_manager.xml
managercenter/src/main/res/layout/fragment_manager.xml
userCenter/src/main/java/com/dayu/usercenter/presenter/pwlogin/PwLoginPresenter.java
userCenter/src/main/java/com/dayu/usercenter/presenter/smslogin/SmsLoginPresenter.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity/CertificationResultActivity.java
app/src/main/java/com/dayu/bigfish/InitializeActivity.java
View file @
d6f9d5dc
...
...
@@ -71,39 +71,43 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
}
private
void
doJump
()
{
switch
(
UserManager
.
getInstance
().
getRole
())
{
case
Constants
.
NOT_LOGIN
:
Intent
intent
=
new
Intent
(
InitializeActivity
.
this
,
SmsLoginActivity
.
class
);
startActivity
(
intent
);
break
;
case
Constants
.
MANAGER
:
if
(
StationManager
.
getInstance
().
haveData
())
{
UserInfo
info
=
UserManager
.
getInstance
().
getUser
();
if
(
info
!=
null
)
{
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
}
if
(
UserManager
.
getInstance
().
hasUserInfo
())
{
switch
(
UserManager
.
getInstance
().
getRole
())
{
case
Constants
.
MANAGER
:
case
Constants
.
MANAGER_NOSITE_ENGINEER
:
if
(
StationManager
.
getInstance
().
haveData
())
{
Intent
intent1
=
new
Intent
(
InitializeActivity
.
this
,
ManagerActivity
.
class
);
startActivity
(
intent1
);
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
break
;
case
Constants
.
ENGINEER
:
Intent
intent1
=
new
Intent
(
InitializeActivity
.
this
,
MainActivity
.
class
);
startActivity
(
intent1
);
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
break
;
case
Constants
.
ENGINEER
:
Intent
intent1
=
new
Intent
(
InitializeActivity
.
this
,
MainActivity
.
class
);
startActivity
(
intent1
);
break
;
case
Constants
.
MANAGER_ENGINEER
:
Intent
intent2
;
if
(
StationManager
.
getInstance
().
haveData
())
{
intent2
=
new
Intent
(
InitializeActivity
.
this
,
ManagerActivity
.
class
);
break
;
case
Constants
.
MANAGER_ENGINEER
:
Intent
intent2
;
if
(
StationManager
.
getInstance
().
haveData
())
{
intent2
=
new
Intent
(
InitializeActivity
.
this
,
MainActivity
.
class
);
startActivity
(
intent2
);
}
else
{
intent2
=
new
Intent
(
InitializeActivity
.
this
,
ServiceStationActivity
.
class
);
}
startActivity
(
intent2
);
}
else
{
intent2
=
new
Intent
(
InitializeActivity
.
this
,
ServiceStationActivity
.
class
);
}
startActivity
(
intent2
);
break
;
default
:
break
;
break
;
default
:
break
;
}
}
else
{
Intent
intent
=
new
Intent
(
InitializeActivity
.
this
,
SmsLoginActivity
.
class
);
startActivity
(
intent
);
}
UserInfo
info
=
UserManager
.
getInstance
().
getUser
();
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
finish
();
}
...
...
app/src/main/java/com/dayu/bigfish/presenter/setting/SettingPresenter.java
View file @
d6f9d5dc
...
...
@@ -18,6 +18,7 @@ import com.dayu.utils.AppManager;
import
com.dayu.utils.AppUtils
;
import
com.dayu.utils.DataCleanManager
;
import
com.dayu.utils.SPUtils
;
import
com.dayu.utils.StationManager
;
import
com.dayu.utils.UIUtils
;
import
com.dayu.utils.UserManager
;
import
com.hyphenate.chat.EMClient
;
...
...
@@ -92,6 +93,7 @@ public class SettingPresenter extends SettingContract.Presenter {
public
void
exite
()
{
EMClient
.
getInstance
().
logout
(
true
);
UserManager
.
getInstance
().
clearUserInfo
();
StationManager
.
getInstance
().
clear
();
AppManager
.
getInstance
().
finishAllActivity
();
mView
.
startActivity
(
SmsLoginActivity
.
class
);
MobclickAgent
.
onEvent
(
MyApplication
.
getContext
(),
"login_out"
);
...
...
baseSDK/src/main/java/com/dayu/base/api/ServerException.java
View file @
d6f9d5dc
...
...
@@ -82,6 +82,9 @@ public class ServerException extends Exception {
case
"USER0065"
:
message
=
BaseApplication
.
getContext
().
getString
(
R
.
string
.
old_pwd_error
);
break
;
case
"USER0084"
:
message
=
BaseApplication
.
getContext
().
getString
(
R
.
string
.
engineer_or_manager_not_exite
);
break
;
case
"DETECT_ERROR00003"
:
message
=
BaseApplication
.
getContext
().
getString
(
R
.
string
.
error_detect_face
);
break
;
...
...
baseSDK/src/main/java/com/dayu/common/Constants.java
View file @
d6f9d5dc
...
...
@@ -103,9 +103,22 @@ public class Constants {
/***********************其他配置**********************************/
public
final
static
int
PAGESIZE
=
20
;
public
final
static
int
NOT_LOGIN
=
-
1
;
/**
* 店长.
*/
public
final
static
int
MANAGER
=
1
;
/**
* 工程师.
*/
public
final
static
int
ENGINEER
=
2
;
/**
* 店长和工程师.
*/
public
final
static
int
MANAGER_ENGINEER
=
3
;
/**
* 店长和没有加入站点的工程师.
*/
public
final
static
int
MANAGER_NOSITE_ENGINEER
=
4
;
public
final
static
String
BUNDLE
=
"bundle"
;
public
final
static
String
ID
=
"id"
;
//订单详情
...
...
baseSDK/src/main/java/com/dayu/utils/StationManager.java
View file @
d6f9d5dc
...
...
@@ -33,6 +33,10 @@ public class StationManager {
public
boolean
haveData
()
{
ServiceStation
station
=
getStation
();
return
station
==
null
||
station
.
getAccountId
()
!=
null
;
return
!(
station
==
null
||
station
.
getId
()
==
0
);
}
public
void
clear
(){
SPUtils
.
remove
(
"SERVICE_STATION"
);
}
}
baseSDK/src/main/java/com/dayu/utils/TimeUtils.java
View file @
d6f9d5dc
...
...
@@ -9,12 +9,13 @@ import android.os.CountDownTimer;
public
class
TimeUtils
{
private
static
CountDownTimer
mTimer
;
public
static
void
startTimer
(
long
millisInFuture
,
long
countDownInterval
,
int
tag
,
OnCountDownCallBack
callBack
)
{
mTimer
=
getTimer
(
millisInFuture
,
countDownInterval
,
tag
,
callBack
);
public
static
CountDownTimer
startTimer
(
long
millisInFuture
,
long
countDownInterval
,
OnCountDownCallBack
callBack
)
{
mTimer
=
getTimer
(
millisInFuture
,
countDownInterval
,
callBack
);
mTimer
.
start
();
return
mTimer
;
}
private
static
CountDownTimer
getTimer
(
long
millisInFuture
,
long
interval
,
int
tag
,
OnCountDownCallBack
callBack
)
{
private
static
CountDownTimer
getTimer
(
long
millisInFuture
,
long
interval
,
OnCountDownCallBack
callBack
)
{
return
new
CountDownTimer
(
millisInFuture
,
interval
)
{
@Override
public
void
onTick
(
long
millisUntilFinished
)
{
...
...
@@ -31,14 +32,14 @@ public class TimeUtils {
hour
=
hour
%
24
;
}
if
(
callBack
!=
null
)
{
callBack
.
onProcess
(
day
,
hour
,
minute
,
second
,
tag
);
callBack
.
onProcess
(
day
,
hour
,
minute
,
second
);
}
}
@Override
public
void
onFinish
()
{
if
(
callBack
!=
null
)
{
callBack
.
onFinish
(
tag
);
callBack
.
onFinish
();
}
}
};
...
...
@@ -53,8 +54,8 @@ public class TimeUtils {
public
interface
OnCountDownCallBack
{
void
onProcess
(
int
day
,
int
hour
,
int
minute
,
int
second
,
int
tag
);
void
onProcess
(
int
day
,
int
hour
,
int
minute
,
int
second
);
void
onFinish
(
int
tag
);
void
onFinish
();
}
}
baseSDK/src/main/java/com/dayu/utils/UserManager.java
View file @
d6f9d5dc
...
...
@@ -79,13 +79,34 @@ public class UserManager {
boolean
isEngineer
=
false
;
boolean
isManager
=
false
;
UserInfo
userInfo
=
getUser
();
if
(
userInfo
==
null
||
userInfo
.
getRoles
()
==
null
||
(
TextUtils
.
isEmpty
(
userInfo
.
getAccountId
())
&&
TextUtils
.
isEmpty
(
userInfo
.
getAccountName
())))
{
if
(
userInfo
!=
null
&&
userInfo
.
getRoles
().
contains
(
2
))
{
isEngineer
=
true
;
}
if
(
userInfo
!=
null
&&
userInfo
.
getRoles
().
contains
(
3
))
{
isManager
=
true
;
}
if
(
isEngineer
&&
isManager
)
{
if
(
userInfo
.
getSiteId
()
==
-
1
)
{
return
Constants
.
MANAGER_NOSITE_ENGINEER
;
}
else
{
return
Constants
.
MANAGER_ENGINEER
;
}
}
else
if
(
isEngineer
)
{
return
Constants
.
ENGINEER
;
}
else
if
(
isManager
)
{
return
Constants
.
MANAGER
;
}
else
{
return
Constants
.
NOT_LOGIN
;
}
if
(
userInfo
.
getRoles
().
contains
(
2
))
{
}
public
int
getRole
(
UserInfo
userInfo
)
{
boolean
isEngineer
=
false
;
boolean
isManager
=
false
;
if
(
userInfo
!=
null
&&
userInfo
.
getRoles
().
contains
(
2
))
{
isEngineer
=
true
;
}
if
(
userInfo
.
getRoles
().
contains
(
3
))
{
if
(
userInfo
!=
null
&&
userInfo
.
getRoles
().
contains
(
3
))
{
isManager
=
true
;
}
if
(
isEngineer
&&
isManager
)
{
...
...
@@ -94,7 +115,8 @@ public class UserManager {
return
Constants
.
ENGINEER
;
}
else
if
(
isManager
)
{
return
Constants
.
MANAGER
;
}
else
{
return
Constants
.
NOT_LOGIN
;
}
return
Constants
.
NOT_LOGIN
;
}
}
baseSDK/src/main/res/values/strings.xml
View file @
d6f9d5dc
...
...
@@ -186,7 +186,7 @@
<string
name=
"out_of_date"
>
已过期
</string>
<string
name=
"grab_time"
>
还剩余%1$d天%2$d小时%3$d分%4$d秒"
</string>
<string
name=
"designate_success"
>
工程师指派成功
</string>
<string
name=
"engineer"
>
工
程
师
</string>
<string
name=
"engineer"
>
工
  
程
  
师
</string>
<string
name=
"change"
>
改派
</string>
<string
name=
"bargain_notice"
>
如果您的报价得到“%1$s”同意,该任务将由您承接。点击“提交报价”等待处理吧。注:提交报价需要等待,可能会被其他人抢单哦
</string>
<string
name=
"receive_notice"
>
如果您同意“%1$s”发布的任务和报价,点击“确定接单”按钮,您可以马上开始进行工作。
</string>
...
...
@@ -403,6 +403,7 @@
<string
name=
"my_price"
>
您的报价
</string>
<string
name=
"bao_price"
>
报价
</string>
<string
name=
"bargain_dialog_error"
>
您的报价不能低于发单方的价格
</string>
<string
name=
"login_out"
>
退出登录
</string>
<!--消息-->
<string
name=
"message_system"
>
系统通知
</string>
...
...
@@ -536,6 +537,7 @@
<string
name=
"engineer_identity_auditing"
>
您的身份认证正在审核中,请耐心等待
</string>
<string
name=
"engineer_identity_not_audite"
>
您还没有进行身份认证
</string>
<string
name=
"engineer_not_have_site"
>
您未加入服务站,请联系站点
</string>
<string
name=
"engineer_or_manager_not_exite"
>
工程师账号或店长账号不存在
</string>
<string
name=
"audite_tip"
>
资料已经提交审核\n审核结果会通过短信通知您
</string>
<string
name=
"audite_tip_title"
>
提交成功
</string>
<string
name=
"audite_tip_submite_title"
>
重新提交
</string>
...
...
build.gradle
View file @
d6f9d5dc
...
...
@@ -9,7 +9,7 @@ buildscript {
ext
.
verson_name
=
"1.9.2"
ext
.
gradle_version
=
'3.1.4'
ext
.
isReleaseMinify
=
true
ext
.
isDebugMinify
=
tru
e
ext
.
isDebugMinify
=
fals
e
ext
.
arouter_api_version
=
'1.3.1'
ext
.
arouter_compiler_version
=
'1.1.4'
...
...
managercenter/src/main/java/com/dayu/managercenter/presenter/changeorder/ChangeOrderPresenter.java
View file @
d6f9d5dc
...
...
@@ -34,6 +34,7 @@ public class ChangeOrderPresenter extends ChangeOrderContract.Presenter {
@Override
public
void
getDesignateList
()
{
mView
.
showDialog
();
ManagerApiFactory
.
getDesignateList
(
mStation
.
getId
(),
1
,
mPage
,
Constants
.
PAGESIZE
).
subscribe
(
baseObserver
(
orderBasePageBean
->
datas
.
set
(
orderBasePageBean
),
error
->
datas
.
set
(
Constants
.
FAILED
)));
...
...
managercenter/src/main/java/com/dayu/managercenter/presenter/changereason/ChangeReasonContract.java
View file @
d6f9d5dc
...
...
@@ -12,6 +12,7 @@ import com.dayu.common.BaseView;
public
interface
ChangeReasonContract
{
interface
View
extends
BaseView
{
void
dumpToDetail
();
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
...
...
managercenter/src/main/java/com/dayu/managercenter/presenter/changereason/ChangeReasonPresenter.java
View file @
d6f9d5dc
package
com
.
dayu
.
managercenter
.
presenter
.
changereason
;
import
android.databinding.ObservableField
;
import
android.text.TextUtils
;
import
com.dayu.common.Constants
;
import
com.dayu.managercenter.api.ManagerApiFactory
;
import
com.dayu.managercenter.common.ManagerConstant
;
import
com.dayu.provider.event.RefreshManagerEvent
;
import
com.dayu.utils.ToastUtils
;
import
org.greenrobot.eventbus.EventBus
;
/**
* Created by luofan
* on 2017/11/8.
...
...
@@ -14,21 +19,32 @@ public class ChangeReasonPresenter extends ChangeReasonContract.Presenter {
public
ObservableField
<
String
>
mReason
=
new
ObservableField
<>();
private
int
mAccountId
;
private
int
mId
;
private
int
mState
;
@Override
public
void
onAttached
()
{
mAccountId
=
mView
.
getBundle
().
getInt
(
Constants
.
ACCOUNT_ID
);
mId
=
mView
.
getBundle
().
getInt
(
Constants
.
ID
);
mState
=
mView
.
getBundle
().
getInt
(
Constants
.
STATE
);
}
@Override
public
void
changeEngineer
()
{
if
(
TextUtils
.
isEmpty
(
mReason
.
get
()))
{
ToastUtils
.
showShortToast
(
"请输入改派原因"
);
return
;
}
mView
.
showDialog
();
ManagerApiFactory
.
changeEngineer
(
mId
,
mReason
.
get
(),
mAccountId
).
subscribe
(
baseObserver
(
aBoolean
->
{
ToastUtils
.
showShortToast
(
"改派成功"
);
mView
.
dumpBack
();
EventBus
.
getDefault
().
post
(
new
RefreshManagerEvent
(
ManagerConstant
.
CHANGE_ORDER
));
if
(
mState
==
1
)
{
mView
.
dumpToDetail
();
}
else
{
mView
.
dumpBack
();
}
})
);
}
...
...
managercenter/src/main/java/com/dayu/managercenter/presenter/senddetail/SendDetailContract.java
View file @
d6f9d5dc
...
...
@@ -57,5 +57,6 @@ public interface SendDetailContract {
* @param kaOrderId id.
*/
public
abstract
void
getBargainPrice
(
int
kaOrderId
);
}
}
managercenter/src/main/java/com/dayu/managercenter/presenter/senddetail/SendDetailPresenter.java
View file @
d6f9d5dc
...
...
@@ -11,6 +11,7 @@ import com.dayu.managercenter.common.ManagerConstant;
import
com.dayu.managercenter.data.Engineer
;
import
com.dayu.managercenter.data.OrderDetail
;
import
com.dayu.managercenter.data.Spu
;
import
com.dayu.managercenter.ui.activity.ChangeReasonActivity
;
import
com.dayu.managercenter.ui.activity.SendOrderDetailActivity
;
import
com.dayu.provider.event.DesignateEvent
;
import
com.dayu.provider.event.ManagerReceiveEvent
;
...
...
@@ -43,11 +44,13 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
private
String
mAccountId
;
private
String
mAccountName
;
private
ServiceStation
mStation
;
private
int
mState
;
@Override
public
void
onAttached
()
{
mId
=
mView
.
getBundle
().
getInt
(
Constants
.
ID
);
mState
=
mView
.
getBundle
().
getInt
(
Constants
.
STATE
);
mStation
=
StationManager
.
getInstance
().
getStation
();
mStationId
=
mStation
.
getId
();
mAccountId
=
UserManager
.
getInstance
().
getUser
().
getAccountId
();
...
...
@@ -88,6 +91,7 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
@Override
public
void
getEngineers
()
{
mView
.
showDialog
();
ManagerApiFactory
.
getEngineers
(
mStationId
).
subscribe
(
baseObserver
(
this
::
showEngineerDialog
));
}
...
...
@@ -97,7 +101,17 @@ public class SendDetailPresenter extends SendDetailContract.Presenter {
list
.
add
(
info
.
getRealName
());
}
mView
.
showEngineerDialog
(
list
,
(
options1
,
options2
,
options3
,
v
)
->
designate
(
engineers
.
get
(
options1
).
getAccountId
()));
->
{
if
(
mState
==
ManagerConstant
.
CHANGE_ORDER
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
Constants
.
ACCOUNT_ID
,
engineers
.
get
(
options1
).
getAccountId
());
bundle
.
putInt
(
Constants
.
ID
,
mId
);
bundle
.
putInt
(
Constants
.
STATE
,
1
);
mView
.
startActivityForReult
(
ChangeReasonActivity
.
class
,
bundle
,
100
);
}
else
{
designate
(
engineers
.
get
(
options1
).
getAccountId
());
}
});
}
@Override
...
...
managercenter/src/main/java/com/dayu/managercenter/presenter/servicestation/ServiceStationPresenter.java
View file @
d6f9d5dc
...
...
@@ -8,6 +8,7 @@ import com.dayu.event.ServiceStation;
import
com.dayu.managercenter.api.ManagerApiFactory
;
import
com.dayu.managercenter.ui.activity.ManagerActivity
;
import
com.dayu.provider.router.RouterPath
;
import
com.dayu.utils.AppManager
;
import
com.dayu.utils.StationManager
;
import
com.dayu.utils.UserManager
;
...
...
@@ -17,11 +18,14 @@ import com.dayu.utils.UserManager;
*/
public
class
ServiceStationPresenter
extends
ServiceStationContract
.
Presenter
{
private
ObservableField
<
Object
>
datas
=
new
ObservableField
<>();
private
int
mAccountId
;
@Override
public
void
onAttached
()
{
mView
.
showDialog
();
getStations
(
1268
);
String
accountId
=
UserManager
.
getInstance
().
getUser
().
getAccountId
();
mAccountId
=
Integer
.
parseInt
(
accountId
);
getStations
(
mAccountId
);
}
@Override
...
...
@@ -38,17 +42,25 @@ public class ServiceStationPresenter extends ServiceStationContract.Presenter {
@Override
public
void
selectStation
(
ServiceStation
station
)
{
mView
.
showDialog
();
StationManager
.
getInstance
().
svaeStation
(
station
);
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
mView
.
startActivity
(
ManagerActivity
.
class
);
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
ServiceStation
last
=
StationManager
.
getInstance
().
getStation
();
if
(
last
!=
null
&&
station
.
getId
()
==
last
.
getId
())
{
mView
.
dumpBack
();
}
else
{
mView
.
showDialog
();
StationManager
.
getInstance
().
svaeStation
(
station
);
AppManager
.
getInstance
().
finishAllActivity
();
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
||
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_NOSITE_ENGINEER
||
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER
)
{
mView
.
startActivity
(
ManagerActivity
.
class
);
}
}
}
@Override
public
void
refresh
()
{
getStations
(
1268
);
getStations
(
mAccountId
);
}
}
managercenter/src/main/java/com/dayu/managercenter/ui/activity/ChangeReasonActivity.java
View file @
d6f9d5dc
...
...
@@ -26,4 +26,10 @@ public class ChangeReasonActivity extends BaseActivity<ChangeReasonPresenter, Ac
public
void
setPresenter
()
{
mBind
.
setPresenter
(
mPresenter
);
}
@Override
public
void
dumpToDetail
()
{
setResult
(
111
);
finish
();
}
}
managercenter/src/main/java/com/dayu/managercenter/ui/activity/ManagerActivity.java
View file @
d6f9d5dc
...
...
@@ -2,6 +2,7 @@ package com.dayu.managercenter.ui.activity;
import
android.os.Bundle
;
import
android.support.v7.app.AppCompatActivity
;
import
android.view.KeyEvent
;
import
android.view.Window
;
import
android.view.WindowManager
;
...
...
@@ -32,4 +33,14 @@ public class ManagerActivity extends AppCompatActivity {
.
add
(
R
.
id
.
fl_content
,
ManagerFragment
.
newInstance
())
.
commit
();
}
@Override
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
if
(
keyCode
==
KeyEvent
.
KEYCODE_BACK
)
{
// 不退出程序,进入后台
moveTaskToBack
(
true
);
return
true
;
}
return
super
.
onKeyDown
(
keyCode
,
event
);
}
}
managercenter/src/main/java/com/dayu/managercenter/ui/activity/SendOrderDetailActivity.java
View file @
d6f9d5dc
package
com
.
dayu
.
managercenter
.
ui
.
activity
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.os.CountDownTimer
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
android.widget.TextView
;
...
...
@@ -37,6 +39,7 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
private
int
mState
;
private
BargainDialog
mDialog
;
private
OrderDetail
mDetail
;
private
CountDownTimer
mTimer
;
@Override
public
void
setPresenter
()
{
...
...
@@ -96,6 +99,7 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
mBind
.
tvEngineer
.
setVisibility
(
View
.
VISIBLE
);
mBind
.
engineerName
.
setVisibility
(
View
.
VISIBLE
);
mBind
.
customerAcceptance
.
setText
(
getString
(
R
.
string
.
change
));
mBind
.
customerAcceptance
.
setOnClickListener
(
v
->
mPresenter
.
getEngineers
());
}
}
...
...
@@ -114,8 +118,8 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
mBind
.
tvLookMore
.
setVisibility
(
View
.
GONE
);
}
});
if
(
(
detail
.
getCreatedSource
()
!=
null
&&
detail
.
getCreatedSource
()
==
1
||
detail
.
getCreatedSource
()
==
5
)
||
mState
==
ManagerConstant
.
GRAB_ORDER
||
mState
==
ManagerConstant
.
BARGAIN_ORDER
)
{
if
(
mState
==
ManagerConstant
.
GRAB_ORDER
||
mState
==
ManagerConstant
.
BARGAIN_ORDER
||
(
detail
.
getCreatedSource
()
!=
null
&&
detail
.
getCreatedSource
()
==
1
||
detail
.
getCreatedSource
()
==
5
)
)
{
mBind
.
rlServerContent
.
setVisibility
(
View
.
GONE
);
mBind
.
serverName
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
...
...
@@ -125,7 +129,7 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
mBind
.
rlServerContent
.
setAdapter
(
serverAdapter
);
serverAdapter
.
setData
(
detail
.
getSpus
());
}
mBind
.
tvState
.
setText
(
getStaus
(
detail
.
getStatus
()));
mBind
.
tv
Order
State
.
setText
(
getStaus
(
detail
.
getStatus
()));
if
(
mBind
.
leftTime
.
getVisibility
()
==
View
.
VISIBLE
)
{
setTime
(
detail
.
getAppointmentTime
(),
mBind
.
leftTime
);
}
...
...
@@ -182,16 +186,16 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
private
void
setTime
(
String
endTime
,
TextView
view
)
{
long
time
=
UtilsDate
.
timeSub
(
endTime
);
TimeUtils
.
startTimer
(
time
,
1000
,
-
1
,
new
TimeUtils
.
OnCountDownCallBack
()
{
mTimer
=
TimeUtils
.
startTimer
(
time
,
1000
,
new
TimeUtils
.
OnCountDownCallBack
()
{
@Override
public
void
onProcess
(
int
day
,
int
hour
,
int
minute
,
int
second
,
int
tag
)
{
public
void
onProcess
(
int
day
,
int
hour
,
int
minute
,
int
second
)
{
String
str
=
UIUtils
.
getString
(
R
.
string
.
grab_time
);
String
result
=
String
.
format
(
str
,
day
,
hour
,
minute
,
second
);
view
.
setText
(
UIUtils
.
setNumColor
(
result
,
Color
.
RED
));
}
@Override
public
void
onFinish
(
int
tag
)
{
public
void
onFinish
()
{
}
});
}
...
...
@@ -227,4 +231,21 @@ public class SendOrderDetailActivity extends BaseActivity<SendDetailPresenter, A
return
mActivity
.
getString
(
R
.
string
.
no_data
);
}
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
100
&&
resultCode
==
111
)
{
mPresenter
.
querySpInfo
(
mState
);
}
}
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
if
(
mTimer
!=
null
)
{
mTimer
.
cancel
();
}
mTimer
=
null
;
}
}
managercenter/src/main/java/com/dayu/managercenter/ui/activity/ServiceStationActivity.java
View file @
d6f9d5dc
...
...
@@ -2,6 +2,7 @@ package com.dayu.managercenter.ui.activity;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.dayu.base.ui.activity.BaseActivity
;
import
com.dayu.common.Constants
;
import
com.dayu.event.ServiceStation
;
import
com.dayu.managercenter.R
;
import
com.dayu.managercenter.databinding.ActivityServiceStationBinding
;
...
...
@@ -27,6 +28,13 @@ public class ServiceStationActivity extends BaseActivity<ServiceStationPresenter
@Override
public
void
initView
()
{
if
(
getBundle
()
!=
null
)
{
int
state
=
getBundle
().
getInt
(
Constants
.
STATE
);
if
(
state
==
1
)
{
mBind
.
toolbar
.
setNavigationIcon
(
R
.
drawable
.
back_btn_normal
);
mBind
.
toolbar
.
setNavigationOnClickListener
(
v
->
finish
());
}
}
mBind
.
recyclerView
.
setOnItemClickListener
((
item
,
bind
)
->
mPresenter
.
selectStation
((
ServiceStation
)
item
));
}
...
...
managercenter/src/main/java/com/dayu/managercenter/ui/adapter/GrabOrderAdapter.java
View file @
d6f9d5dc
package
com
.
dayu
.
managercenter
.
ui
.
adapter
;
import
android.graphics.Color
;
import
android.os.CountDownTimer
;
import
android.support.annotation.NonNull
;
import
android.view.View
;
import
com.dayu.base.ui.adapter.BaseViewHolder
;
import
com.dayu.base.ui.adapter.CoreAdapter
;
import
com.dayu.managercenter.R
;
import
com.dayu.managercenter.data.GrabOrder
;
...
...
@@ -80,24 +83,33 @@ public class GrabOrderAdapter extends CoreAdapter<GrabOrder, ItemGrabBargainBind
});
}
@Override
public
void
onViewRecycled
(
@NonNull
BaseViewHolder
holder
)
{
super
.
onViewRecycled
(
holder
);
if
(
holder
.
mBind
instanceof
ItemGrabBargainBinding
)
{
CountDownTimer
timer
=
(
CountDownTimer
)
((
ItemGrabBargainBinding
)
holder
.
mBind
).
leftTime
.
getTag
();
if
(
timer
!=
null
)
{
timer
.
cancel
();
}
timer
=
null
;
}
}
private
void
setTime
(
String
endTime
,
ItemGrabBargainBinding
holder
,
int
position
)
{
long
time
=
UtilsDate
.
timeSub
(
endTime
);
TimeUtils
.
startTimer
(
time
,
1000
,
position
,
new
TimeUtils
.
OnCountDownCallBack
()
{
CountDownTimer
timer
=
TimeUtils
.
startTimer
(
time
,
1000
,
new
TimeUtils
.
OnCountDownCallBack
()
{
@Override
public
void
onProcess
(
int
day
,
int
hour
,
int
minute
,
int
second
,
int
tag
)
{
if
(((
int
)
holder
.
leftTime
.
getTag
())
==
tag
)
{
String
str
=
UIUtils
.
getString
(
R
.
string
.
grab_time
);
String
result
=
String
.
format
(
str
,
day
,
hour
,
minute
,
second
);
holder
.
leftTime
.
setText
(
UIUtils
.
setNumColor
(
result
,
Color
.
RED
));
}
public
void
onProcess
(
int
day
,
int
hour
,
int
minute
,
int
second
)
{
String
str
=
UIUtils
.
getString
(
R
.
string
.
grab_time
);
String
result
=
String
.
format
(
str
,
day
,
hour
,
minute
,
second
);
holder
.
leftTime
.
setText
(
UIUtils
.
setNumColor
(
result
,
Color
.
RED
));
}
@Override
public
void
onFinish
(
int
tag
)
{
if
(((
int
)
holder
.
leftTime
.
getTag
())
==
tag
)
{
((
GrabPresenter
)
mPresenter
).
getGrapOrders
();
}
public
void
onFinish
()
{
((
GrabPresenter
)
mPresenter
).
getGrapOrders
();
}
});
holder
.
leftTime
.
setTag
(
timer
);
}
}
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/BargainFragment.java
View file @
d6f9d5dc
...
...
@@ -55,7 +55,6 @@ public class BargainFragment extends BaseFragment<BargainPresenter, FragmentRecy
GrabOrderAdapter
adapter
=
new
GrabOrderAdapter
(
true
,
1
);
adapter
.
setViewType
(
R
.
layout
.
item_grab_bargain
);
mBind
.
recyclerView
.
setAdapter
(
adapter
);
mPresenter
.
refresh
();
mBind
.
recyclerView
.
setOnItemClickListener
((
item
,
bind
)
->
{
if
(((
GrabOrder
)
item
).
getStatus
()
==
1
)
{
...
...
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/ChangeOrderFragment.java
View file @
d6f9d5dc
...
...
@@ -15,6 +15,11 @@ import com.dayu.managercenter.presenter.changeorder.ChangeOrderContract;
import
com.dayu.managercenter.presenter.changeorder.ChangeOrderPresenter
;
import
com.dayu.managercenter.ui.activity.SendOrderDetailActivity
;
import
com.dayu.managercenter.ui.adapter.ManagerOrderAdapter
;
import
com.dayu.provider.event.RefreshManagerEvent
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
import
org.greenrobot.eventbus.ThreadMode
;
import
java.util.List
;
...
...
@@ -42,15 +47,15 @@ public class ChangeOrderFragment extends BaseFragment<ChangeOrderPresenter, Frag
@Override
protected
void
lazyLoad
()
{
super
.
lazyLoad
();
mPresenter
.
refresh
();
}
@Override
public
void
initView
()
{
EventBus
.
getDefault
().
register
(
this
);
ManagerOrderAdapter
adapter
=
new
ManagerOrderAdapter
(
true
,
ManagerConstant
.
CHANGE_ORDER
);
adapter
.
setViewType
(
R
.
layout
.
item_manager_order
);
mBind
.
recyclerView
.
setAdapter
(
adapter
);
mPresenter
.
refresh
();
mBind
.
recyclerView
.
setOnItemClickListener
((
item
,
bind
)
->
{
Bundle
bundle
=
new
Bundle
();
...
...
@@ -77,4 +82,11 @@ public class ChangeOrderFragment extends BaseFragment<ChangeOrderPresenter, Frag
pvOptions
.
setPicker
(
list
);
pvOptions
.
show
();
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
void
swtichfragment
(
RefreshManagerEvent
event
)
{
if
(
event
.
getState
()
==
ManagerConstant
.
CHANGE_ORDER
)
{
mPresenter
.
refresh
();
}
}
}
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/GrabFragment.java
View file @
d6f9d5dc
...
...
@@ -57,8 +57,6 @@ public class GrabFragment extends BaseFragment<GrabPresenter, FragmentRecycleBin
GrabOrderAdapter
adapter
=
new
GrabOrderAdapter
(
true
,
0
);
adapter
.
setViewType
(
R
.
layout
.
item_grab_bargain
);
mBind
.
recyclerView
.
setAdapter
(
adapter
);
mPresenter
.
refresh
();
mBind
.
recyclerView
.
setOnItemClickListener
((
item
,
bind
)
->
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
Constants
.
ID
,
(((
GrabOrder
)
item
).
getId
()));
...
...
managercenter/src/main/java/com/dayu/managercenter/ui/fragment/ManagerFragment.java
View file @
d6f9d5dc
...
...
@@ -4,15 +4,23 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.support.design.widget.TabLayout
;
import
android.support.v4.app.Fragment
;
import
android.view.View
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.dayu.base.ui.adapter.FragmentBaseAdapter
;
import
com.dayu.base.ui.fragment.DataBindingFragment
;
import
com.dayu.common.BaseConstant
;
import
com.dayu.common.Constants
;
import
com.dayu.managercenter.R
;
import
com.dayu.managercenter.common.ManagerConstant
;
import
com.dayu.managercenter.databinding.FragmentManagerBinding
;
import
com.dayu.managercenter.ui.activity.ServiceStationActivity
;
import
com.dayu.provider.event.ManagerReceiveEvent
;
import
com.dayu.utils.AppManager
;
import
com.dayu.utils.StationManager
;
import
com.dayu.utils.TabLayoutUtils
;
import
com.dayu.utils.UserManager
;
import
com.hyphenate.chat.EMClient
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
...
...
@@ -48,7 +56,25 @@ public class ManagerFragment extends DataBindingFragment<FragmentManagerBinding>
@Override
public
void
initView
()
{
EventBus
.
getDefault
().
register
(
this
);
mBind
.
tvRightTitle
.
setOnClickListener
(
v
->
startActivity
(
new
Intent
(
mActivity
,
ServiceStationActivity
.
class
)));
mBind
.
title
.
setText
(
StationManager
.
getInstance
().
getStation
().
getName
());
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER
||
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_NOSITE_ENGINEER
)
{
mBind
.
titleLeft
.
setVisibility
(
View
.
VISIBLE
);
}
mBind
.
titleLeft
.
setOnClickListener
(
v
->
{
EMClient
.
getInstance
().
logout
(
true
);
UserManager
.
getInstance
().
clearUserInfo
();
StationManager
.
getInstance
().
clear
();
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
BaseConstant
.
PATH_LOGIN
).
navigation
();
});
mBind
.
tvRightTitle
.
setOnClickListener
(
v
->
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
Constants
.
STATE
,
1
);
Intent
intent
=
new
Intent
(
mActivity
,
ServiceStationActivity
.
class
);
intent
.
putExtra
(
Constants
.
BUNDLE
,
bundle
);
startActivity
(
intent
);
});
mFragments
=
new
ArrayList
<>();
mFragments
.
add
(
SendOrderFragment
.
newInstance
());
mFragments
.
add
(
GrabOrderFragment
.
newInstance
());
...
...
managercenter/src/main/release/AndroidManifest.xml
View file @
d6f9d5dc
...
...
@@ -5,12 +5,24 @@
android:allowBackup=
"true"
android:label=
"@string/app_name"
android:supportsRtl=
"true"
>
<activity
android:name=
"com.dayu.managercenter.ui.activity.ManagerActivity"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.ServiceStationActivity"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.SendOrderDetailActivity"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.SubOrderDetailActivity"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.PreviewActivty"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.ChangeReasonActivity"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.ManagerActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.ServiceStationActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.SendOrderDetailActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.SubOrderDetailActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.PreviewActivty"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.dayu.managercenter.ui.activity.ChangeReasonActivity"
android:screenOrientation=
"portrait"
/>
</application>
</manifest>
managercenter/src/main/res/layout/activity_manager.xml
View file @
d6f9d5dc
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/
r
l_content"
android:id=
"@+id/
f
l_content"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
...
...
managercenter/src/main/res/layout/fragment_manager.xml
View file @
d6f9d5dc
...
...
@@ -9,6 +9,14 @@
<RelativeLayout
style=
"@style/title"
>
<TextView
android:id=
"@+id/title_left"
style=
"@style/title_left"
android:text=
"@string/login_out"
android:visibility=
"gone"
/>
<TextView
android:id=
"@+id/title"
style=
"@style/text_title"
android:text=
"@string/send_order"
android:singleLine=
"true"
...
...
userCenter/src/main/java/com/dayu/usercenter/presenter/pwlogin/PwLoginPresenter.java
View file @
d6f9d5dc
...
...
@@ -5,6 +5,7 @@ import android.os.Bundle;
import
android.text.TextUtils
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.dayu.common.BaseApplication
;
import
com.dayu.common.Constants
;
import
com.dayu.event.UserInfo
;
import
com.dayu.provider.router.RouterPath
;
...
...
@@ -13,9 +14,9 @@ import com.dayu.usercenter.api.UserApiFactory;
import
com.dayu.usercenter.common.UserConstant
;
import
com.dayu.usercenter.ui.activity.IdentityCertificationActivity
;
import
com.dayu.usercenter.ui.activity.SmsLoginActivity
;
import
com.dayu.utils.AppManager
;
import
com.dayu.utils.LogUtils
;
import
com.dayu.utils.MD5Util
;
import
com.dayu.utils.StationManager
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UIUtils
;
import
com.dayu.utils.UserManager
;
...
...
@@ -46,7 +47,7 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
}
mView
.
showDialog
();
UserApiFactory
.
login
(
phoneNume
.
get
(),
MD5Util
.
encrypt
(
code
.
get
()),
"usernameLogin"
).
subscribe
(
baseObserver
(
this
::
getSiteId
));
baseObserver
(
this
::
dumpAndSave
));
}
@Override
...
...
@@ -73,49 +74,55 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
@Override
public
void
getSiteId
(
UserInfo
info
)
{
mView
.
showDialog
();
UserApiFactory
.
getSiteId
(
Integer
.
parseInt
(
info
.
getAccountId
())).
subscribe
(
baseObserver
(
integer
->
{
info
.
setSiteId
(
integer
);
dumpAndSave
(
info
);
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
if
(
info
.
getDetectStatus
()
==
1
)
{
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
else
if
(
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
showLoginDialog
();
}
},
error
->
{
switch
(
error
.
subCode
)
{
case
"USER0024"
:
//工程师不属于任何服务站
String
message
=
BaseApplication
.
getContext
().
getString
(
com
.
dayu
.
baselibrary
.
R
.
string
.
engineer_not_have_site
);
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
info
.
setSiteId
(-
1
);
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
ToastUtils
.
showShortToast
(
message
);
}
break
;
default
:
ToastUtils
.
showShortToast
(
R
.
string
.
login_faile
);
break
;
}
}));
}
@Override
public
void
dumpAndSave
(
UserInfo
info
)
{
switch
(
UserManager
.
getInstance
().
getRole
())
{
switch
(
UserManager
.
getInstance
().
getRole
(
info
))
{
case
Constants
.
MANAGER
:
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
if
(
StationManager
.
getInstance
().
haveData
())
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
break
;
case
Constants
.
ENGINEER
:
if
(
info
.
getDetectStatus
()
==
1
)
{
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
UserManager
.
getInstance
().
saveUser
(
info
);
showLoginDialog
(
info
);
}
else
{
ToastUtils
.
showShortToast
(
UIUtils
.
getString
(
R
.
string
.
login_faile
));
}
break
;
case
Constants
.
MANAGER_ENGINEER
:
if
(
info
.
getDetectStatus
()
==
1
)
{
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
if
(
StationManager
.
getInstance
().
haveData
())
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MANAGER
).
navigation
();
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
else
if
(
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
if
(
info
.
getDetectStatus
()
==
1
||
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
UserManager
.
getInstance
().
saveUser
(
info
);
showLoginDialog
(
info
);
getSiteId
(
info
);
}
else
{
ToastUtils
.
showShortToast
(
UIUtils
.
getString
(
R
.
string
.
login_faile
));
}
...
...
@@ -125,13 +132,17 @@ public class PwLoginPresenter extends PwLoginContract.Presenter {
}
}
private
void
showLoginDialog
(
UserInfo
userInfo
)
{
private
void
showLoginDialog
()
{
mView
.
showLoginDialog
((
dialog
,
confirm
)
->
{
if
(
confirm
)
{
mView
.
startActivity
(
IdentityCertificationActivity
.
class
);
}
else
{
loginHx
(
userInfo
.
getHxAccount
(),
userInfo
.
getHxPwd
());
dumpAndSave
(
userInfo
);
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
});
}
...
...
userCenter/src/main/java/com/dayu/usercenter/presenter/smslogin/SmsLoginPresenter.java
View file @
d6f9d5dc
...
...
@@ -13,8 +13,8 @@ import com.dayu.usercenter.R;
import
com.dayu.usercenter.api.UserApiFactory
;
import
com.dayu.usercenter.common.UserConstant
;
import
com.dayu.usercenter.ui.activity.IdentityCertificationActivity
;
import
com.dayu.utils.AppManager
;
import
com.dayu.utils.LogUtils
;
import
com.dayu.utils.StationManager
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UIUtils
;
import
com.dayu.utils.UserManager
;
...
...
@@ -57,7 +57,7 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
public
void
login
(
String
code
)
{
mView
.
showDialog
();
UserApiFactory
.
login
(
mPhone
,
code
,
"mobileLogin"
).
subscribe
(
baseObserver
(
this
::
getSiteId
,
error
->
{
this
::
dumpAndSave
,
error
->
{
String
message
=
UIUtils
.
getString
(
R
.
string
.
login_faile
);
switch
(
error
.
subCode
)
{
case
"USER0002"
:
...
...
@@ -83,6 +83,9 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
case
"USER0024"
:
message
=
BaseApplication
.
getContext
().
getString
(
com
.
dayu
.
baselibrary
.
R
.
string
.
engineer_not_have_site
);
break
;
case
"USER0084"
:
message
=
BaseApplication
.
getContext
().
getString
(
com
.
dayu
.
baselibrary
.
R
.
string
.
engineer_or_manager_not_exite
);
break
;
}
mView
.
setError
(
message
);
}));
...
...
@@ -112,49 +115,57 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
@Override
public
void
getSiteId
(
UserInfo
info
)
{
mView
.
showDialog
();
UserApiFactory
.
getSiteId
(
Integer
.
parseInt
(
info
.
getAccountId
())).
subscribe
(
baseObserver
(
integer
->
{
info
.
setSiteId
(
integer
);
dumpAndSave
(
info
);
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
if
(
info
.
getDetectStatus
()
==
1
)
{
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
else
if
(
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
showLoginDialog
();
}
},
error
->
{
switch
(
error
.
subCode
)
{
case
"USER0024"
:
//工程师不属于任何服务站
String
message
=
BaseApplication
.
getContext
().
getString
(
com
.
dayu
.
baselibrary
.
R
.
string
.
engineer_not_have_site
);
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
mView
.
setError
(
message
);
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
info
.
setSiteId
(-
1
);
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
ToastUtils
.
showShortToast
(
message
);
}
break
;
default
:
ToastUtils
.
showShortToast
(
R
.
string
.
login_faile
);
break
;
}
}));
}
@Override
public
void
dumpAndSave
(
UserInfo
info
)
{
switch
(
UserManager
.
getInstance
().
getRole
())
{
switch
(
UserManager
.
getInstance
().
getRole
(
info
))
{
case
Constants
.
MANAGER
:
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
if
(
StationManager
.
getInstance
().
haveData
())
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
break
;
case
Constants
.
ENGINEER
:
if
(
info
.
getDetectStatus
()
==
1
)
{
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
UserManager
.
getInstance
().
saveUser
(
info
);
showLoginDialog
(
info
);
}
else
{
ToastUtils
.
showShortToast
(
UIUtils
.
getString
(
R
.
string
.
login_faile
));
}
break
;
case
Constants
.
MANAGER_ENGINEER
:
if
(
info
.
getDetectStatus
()
==
1
)
{
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
UserManager
.
getInstance
().
saveUser
(
info
);
if
(
StationManager
.
getInstance
().
haveData
())
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MANAGER
).
navigation
();
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
else
if
(
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
if
(
info
.
getDetectStatus
()
==
1
||
info
.
getDetectStatus
()
==
2
||
info
.
getDetectStatus
()
==
3
)
{
UserManager
.
getInstance
().
saveUser
(
info
);
showLoginDialog
(
info
);
getSiteId
(
info
);
}
else
{
ToastUtils
.
showShortToast
(
UIUtils
.
getString
(
R
.
string
.
login_faile
));
}
...
...
@@ -164,13 +175,17 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
}
}
private
void
showLoginDialog
(
UserInfo
userInfo
)
{
private
void
showLoginDialog
()
{
mView
.
showLoginDialog
((
dialog
,
confirm
)
->
{
if
(
confirm
)
{
mView
.
startActivity
(
IdentityCertificationActivity
.
class
);
}
else
{
loginHx
(
userInfo
.
getHxAccount
(),
userInfo
.
getHxPwd
());
dumpAndSave
(
userInfo
);
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
});
}
...
...
userCenter/src/main/java/com/dayu/usercenter/ui/activity/CertificationResultActivity.java
View file @
d6f9d5dc
...
...
@@ -61,7 +61,11 @@ public class CertificationResultActivity extends DataBindingActivity<ActivityCer
AppManager
.
getInstance
().
finishActivity
(
IdentityCertificationActivity
.
class
);
finish
();
}
else
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_MAIN
).
navigation
();
}
else
if
(
UserManager
.
getInstance
().
getRole
()
==
Constants
.
MANAGER_ENGINEER
)
{
ARouter
.
getInstance
().
build
(
RouterPath
.
PATH_SERVICESTATION
).
navigation
();
}
}
});
}
...
...
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