Commit debe369a by 罗翻

Merge remote-tracking branch 'remotes/origin/dev' into test

parents 92ec07b1 8752da76
Showing with 843 additions and 253 deletions
......@@ -138,6 +138,10 @@
android:name=".ui.MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<activity
android:name="com.dayu.bigfish.ui.ManagerActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
</application>
</manifest>
\ No newline at end of file
......@@ -16,7 +16,7 @@ import com.dayu.bigfish.databinding.ActivityInitializeMainBinding;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.managercenter.ui.activity.ManagerActivity;
import com.dayu.bigfish.ui.ManagerActivity;
import com.dayu.managercenter.ui.activity.ServiceStationActivity;
import com.dayu.provider.router.RouterPath;
import com.dayu.usercenter.ui.activity.SmsLoginActivity;
......@@ -97,7 +97,6 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
startActivity(intent2);
} else {
intent2 = new Intent(InitializeActivity.this, ServiceStationActivity.class);
}
startActivity(intent2);
break;
......
package com.dayu.bigfish.presenter.manager;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
/**
* Created by luo on 2016/8/4.
*/
public interface ManagerContract {
interface View extends BaseView {
/**
* 是否显示小红点.
*
* @param flag
*/
void isShowRedIcon(boolean flag);
}
abstract class Presenter extends BasePresenter<View> {
/**
* 获取环信消息数量.
*
* @param hxAccout 环信账号.
*/
public abstract void getHxNum(String hxAccout);
}
}
package com.dayu.bigfish.presenter.manager;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.event.UserInfo;
import com.dayu.utils.UserManager;
/**
* Created by luofan
* on 2017/11/8.
*/
public class ManagerPresenter extends ManagerContract.Presenter {
@Override
public void onAttached() {
UserInfo mUser = UserManager.getInstance().getUser();
getHxNum(mUser.getHxAccount());
}
@Override
public void getHxNum(String accountId) {
mView.showDialog();
ApiFactory.getHxNum(accountId).subscribe(baseObserver(integer -> {
if (integer > 0) {
mView.isShowRedIcon(true);
}
}));
}
}
package com.dayu.bigfish.ui;
import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.KeyEvent;
import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.bigfish.R;
import com.dayu.bigfish.api.protocol.InformBean;
import com.dayu.bigfish.databinding.ActivityManagerBinding;
import com.dayu.bigfish.presenter.manager.ManagerContract;
import com.dayu.bigfish.presenter.manager.ManagerPresenter;
import com.dayu.common.Constants;
import com.dayu.managercenter.ui.fragment.ManagerFragment;
import com.dayu.message.ui.fragment.HomeMessageFragment;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.UserManager;
/**
* Created by luofan
* on 2018/2/7.
*/
@Route(path = RouterPath.PATH_MANAGER)
public class ManagerActivity extends BaseActivity<ManagerPresenter, ActivityManagerBinding> implements ManagerContract.View {
private FragmentManager mFragmentManger;
private Fragment[] mFragments;
private ManagerFragment mManagerFragment;
private HomeMessageFragment mMessageFragment;
private int mShowPosition;
@Override
public int getLayoutId() {
return R.layout.activity_manager;
}
@Override
public void initView() {
mManagerFragment = ManagerFragment.newInstance();
mMessageFragment = HomeMessageFragment.newInstance();
mFragments = new Fragment[]{mManagerFragment, mMessageFragment};
addFragment();
if (UserManager.getInstance().getRole() == Constants.MANAGER
|| UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER) {
mBind.msg.setVisibility(View.VISIBLE);
}
mBind.msg.setOnClickListener(v -> {
showHideFragment(1, 0);
mBind.msg.setImageResource(R.mipmap.icon_news);
});
doAction(getIntent());
}
private void addFragment() {
mFragmentManger = getSupportFragmentManager();
FragmentTransaction transaction = mFragmentManger.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
for (int i = 0; i < mFragments.length; i++) {
Fragment fragment = mFragments[i];
transaction.add(com.dayu.bigfish.R.id.fl_content, fragment);
if (i == 0) {
transaction.show(fragment);
} else {
transaction.hide(fragment);
}
}
transaction.commit();
}
private void showHideFragment(int showPosition, int hidePosition) {
if (showPosition == hidePosition) return;
mFragmentManger.beginTransaction()
.hide(mFragments[hidePosition])
.show(mFragments[showPosition])
.commit();
mShowPosition = showPosition;
if (showPosition == 1) {
mBind.msg.setVisibility(View.GONE);
} else {
mBind.msg.setVisibility(View.VISIBLE);
}
}
public void doAction(Intent intent) {
InformBean info = (InformBean) intent.getSerializableExtra(Constants.MESSAGE_INFO);
if (info != null) {
int secondIndex = 0;
if (info.getCategory() == 1) {
secondIndex = 0; //系统通知
} else if (info.getCategory() == 2) {
secondIndex = 1;//大鱼通知
}
showHideFragment(1, 0);
mBind.msg.setImageResource(R.mipmap.icon_news);
if (mMessageFragment != null) {
mMessageFragment.setIndex(secondIndex);
mMessageFragment.swtichFragment(secondIndex);
}
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
doAction(intent);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mShowPosition == 1) {
showHideFragment(0, 1);
} else {
moveTaskToBack(true);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void setPresenter() {
}
@Override
public void isShowRedIcon(boolean flag) {
mBind.msg.setImageResource(R.mipmap.icon_red_news);
}
}
......@@ -15,6 +15,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.bigfish.R;
import com.dayu.bigfish.api.protocol.InformBean;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.bigfish.ui.ManagerActivity;
import com.dayu.common.BaseConstant;
import com.dayu.common.Constants;
import com.dayu.usercenter.ui.activity.LicenceDetailActivity;
......@@ -55,6 +56,7 @@ public class HxManager {
private Context mContext;
private LicenceDialog mDialog;
private int mCount = 0;
private long mpreTime=0;
private HxManager() {
}
......@@ -125,11 +127,13 @@ public class HxManager {
if (!(boolean) SPUtils.get(Constants.HX_STATE, true)) {
return;
}
if (info.getCategory() == 1 && (info.getFunctionType() == 2)) {
MediaPlayer player = MediaPlayer.create(mContext, R.raw.new_order);
player.start();
Intent intent;
if (UserManager.getInstance().getRole() == Constants.MANAGER_NOSITE_ENGINEER ||
UserManager.getInstance().getRole() == Constants.MANAGER) {
intent = new Intent(mContext, ManagerActivity.class);
} else {
intent = new Intent(mContext, MainActivity.class);
}
Intent intent = new Intent(mContext, MainActivity.class);
intent.putExtra(Constants.MESSAGE_INFO, info);
PendingIntent pi = PendingIntent.getActivity(mContext,
1, intent, FLAG_CANCEL_CURRENT);
......@@ -157,6 +161,19 @@ public class HxManager {
if (notificationManager != null) {
notificationManager.notify(0, builder.build());
}
int res = -1;
if (info.getCategory() == 1 && (info.getFunctionType() == 2)) {
res = R.raw.new_order;
} else if (info.getCategory() == 1 && (info.getFunctionType() == 4)) {
res = R.raw.manager_order;
} else if (info.getCategory() == 1 && (info.getFunctionType() == 5)) {
res = R.raw.eu_order;
}
if (System.currentTimeMillis() - mpreTime >= 3000 && res != -1) {
MediaPlayer player = MediaPlayer.create(mContext, res);
player.start();
mpreTime = System.currentTimeMillis();
}
mCount++;
BadgeNumberManager.from(mContext).setBadgeNumber(mCount);
BadgeNumberUtils.setBadgeNumberXiaoMi(notification, mCount);
......
<?xml version="1.0" encoding="utf-8"?>
<layout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/fl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
<ImageView
android:id="@+id/msg"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="80dp"
android:layout_marginRight="15dp"
android:src="@mipmap/icon_news"
android:visibility="visible" />
</RelativeLayout>
</layout>
......@@ -65,7 +65,7 @@ dependencies {
//jsbridge
api 'com.github.lzyzsd:jsbridge:1.0.4'
//zxing
api 'com.google.zxing:core:3.3.2'
api 'com.google.zxing:core:3.3.3'
api 'com.journeyapps:zxing-android-embedded:3.5.0'
api project(':locationComponent')
......
......@@ -12,16 +12,16 @@ public class Constants {
/**
* 测试环境配置.
*/
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
public static final String ENVIROMENT = "debug";
public static final String BASE_URL = "http://47.94.101.239:3112";
public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
public static final boolean IS_DEBUG = true;
// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
// public static final String ENVIROMENT = "debug";
// public static final String BASE_URL = "http://47.94.101.239:3112";
// public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
// public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
// public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
// public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
// public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
// public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
// public static final boolean IS_DEBUG = true;
/**
* uat环境配置.
......@@ -40,16 +40,16 @@ public class Constants {
/**
* 正式环境.
*/
// public static final String ENVIROMENT = "release";
// public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
// public static final String BASE_URL = "https://mobile.kf.ai";
// public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
// public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
// public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
// public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
// public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
// public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
// public static final boolean IS_DEBUG = false;
public static final String ENVIROMENT = "release";
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
public static final String BASE_URL = "https://mobile.kf.ai";
public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
public static final boolean IS_DEBUG = false;
/**
* 演示环境
......@@ -176,7 +176,7 @@ public class Constants {
public static final String STATE = "state";
public static final String CETIFICATION_STATE = "cetificaiton_state";//1:接单跳转0:待预约,登录页,个人中心跳转
public static final String CETIFICATION_STATE = "cetificaiton_state";//1:接单跳转、待预约 0:登录页,个人中心跳转
/**
......
package com.dayu.utils;
import android.graphics.Bitmap;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.journeyapps.barcodescanner.BarcodeEncoder;
/**
* Created by luofan
* on 2018/10/11.
*/
public class QRCodeUtils {
public static Bitmap createBitmap(String str){
Bitmap bitmap = null;
BitMatrix result;
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
try {
result = multiFormatWriter.encode(str, BarcodeFormat.QR_CODE, 800, 800);
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
bitmap = barcodeEncoder.createBitmap(result);
} catch (WriterException e){
e.printStackTrace();
} catch (IllegalArgumentException iae){
return null;
}
return bitmap;
}
}
......@@ -77,9 +77,12 @@ public class UserManager {
}
public int getRole() {
return getRole(getUser());
}
public int getRole(UserInfo userInfo) {
boolean isEngineer = false;
boolean isManager = false;
UserInfo userInfo = getUser();
if (userInfo != null && userInfo.getRoles().contains(2)) {
isEngineer = true;
}
......@@ -100,24 +103,4 @@ public class UserManager {
return Constants.NOT_LOGIN;
}
}
public int getRole(UserInfo userInfo) {
boolean isEngineer = false;
boolean isManager = false;
if (userInfo != null && userInfo.getRoles().contains(2)) {
isEngineer = true;
}
if (userInfo != null && userInfo.getRoles().contains(3)) {
isManager = true;
}
if (isEngineer && isManager) {
return Constants.MANAGER_ENGINEER;
} else if (isEngineer) {
return Constants.ENGINEER;
} else if (isManager) {
return Constants.MANAGER;
} else {
return Constants.NOT_LOGIN;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="0.7dp"
android:color="@color/cl_white" />
<solid android:color="@color/cl_white"
/>
</layer-list>
......@@ -309,7 +309,7 @@
<string name="modify_part_info">修改信息</string>
<string name="customer_acceptance">客户验收</string>
<string name="scan_code_for_appointment">请扫描二维码关注大鱼服务公众号</string>
<string name="scan_code_for_appointment_two">点击-查询工单-进行绑定登录后,选择工单验收</string>
<string name="scan_code_for_appointment_two">点击-上门服务-预约记录-进行绑定登录后,选择工单验收</string>
<string name="order_record">工单记录</string>
<string name="order_num">工单编号</string>
<string name="order_state">工单状态</string>
......
......@@ -5,8 +5,8 @@ buildscript {
ext.build_tools_version = "27.0.3"
ext.min_sdk_version = 16
ext.target_sdk_version = 23
ext.version_code = 16
ext.verson_name = "1.9.3"
ext.version_code = 17
ext.verson_name = "1.9.4"
ext.gradle_version = '3.1.4'
ext.isReleaseMinify = true
ext.isDebugMinify = true
......
......@@ -7,13 +7,6 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name="com.dayu.managercenter.ui.activity.ManagerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ui.activity.ServiceStationActivity" />
<activity android:name=".ui.activity.SendOrderDetailActivity" />
<activity android:name=".ui.activity.SubOrderDetailActivity" />
......
......@@ -6,7 +6,6 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.common.Constants;
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;
......@@ -54,7 +53,7 @@ public class ServiceStationPresenter extends ServiceStationContract.Presenter {
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);
ARouter.getInstance().build(RouterPath.PATH_MANAGER).navigation();
}
}
}
......
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;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.managercenter.R;
import com.dayu.managercenter.ui.fragment.ManagerFragment;
import com.dayu.provider.router.RouterPath;
/**
* Created by luofan
* on 2018/2/7.
*/
@Route(path = RouterPath.PATH_MANAGER)
public class ManagerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_manager);
initView();
}
public void initView() {
getSupportFragmentManager().beginTransaction()
.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);
}
}
......@@ -6,9 +6,6 @@
android:label="@string/app_name"
android:supportsRtl="true">
<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
......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<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"
android:maxEms="9"
android:ellipsize="middle"
/>
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:text="@string/swtich_service_station"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3" />
</RelativeLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:background="@color/cl_white"
app:tabIndicatorColor="@color/cl_receiving_order_item_data"
app:tabMaxWidth="0dp"
android:textSize="15sp"
app:tabSelectedTextColor="@color/cl_receiving_order_item_data"
app:tabTextAppearance="@style/TabLayoutTextStyle"
app:tabTextColor="@color/cl_tab_line" />
<ImageView style="@style/line" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10" />
</LinearLayout>
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<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:ellipsize="middle"
android:maxEms="9"
android:singleLine="true"
android:text="@string/send_order" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:text="@string/swtich_service_station"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3" />
</RelativeLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:background="@color/cl_white"
android:textSize="15sp"
app:tabIndicatorColor="@color/cl_receiving_order_item_data"
app:tabMaxWidth="0dp"
app:tabSelectedTextColor="@color/cl_receiving_order_item_data"
app:tabTextAppearance="@style/TabLayoutTextStyle"
app:tabTextColor="@color/cl_tab_line" />
<ImageView style="@style/line" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -21,7 +21,6 @@ import io.reactivex.functions.Function;
* Created by luofan
* on 2017/11/20.
*/
public class HomeMessageFragment extends DataBindingFragment<FragmentMessageBinding> {
private int mIndex = 0;
private String mUmTag = "serverMessage";
......
......@@ -141,4 +141,8 @@ public class OrderApiFactory {
public static Observable<Boolean> certificationLive(RequestBody body) {
return Api.getService(OrderService.class).certificationLive(body).compose(Api.applySchedulers());
}
public static Observable<String> createUrl(int orderId) {
return Api.getService(OrderService.class).createUrl(orderId).compose(Api.applySchedulers());
}
}
......@@ -315,4 +315,12 @@ interface OrderService {
*/
@POST(OrderConstant.FACE_CERTIFICAITON)
Observable<BaseResponse<Boolean>> certificationLive(@Body RequestBody body);
/**
* 获取客户验收url.
* @param orderId
* @return
*/
@GET(OrderConstant.CREATE_URL)
Observable<BaseResponse<String>> createUrl(@Path("orderId") int orderId);
}
......@@ -73,10 +73,10 @@ public class OrderConstant {
*/
public final static String KA_ADDRESS = "/api-ka-user/" + "companyAddress/default/companyId/{companyId}";
/**
/**
* 获取厂商选择的收货地址.
*/
public final static String KA_SELECT_ADDRESS = "/api-ka-user/" +"/companyAddress/sendAddress";
public final static String KA_SELECT_ADDRESS = "/api-ka-user/" + "/companyAddress/sendAddress";
/**
* 申请备件.
......@@ -156,6 +156,11 @@ public class OrderConstant {
/**
* 接单活体检测校验.
*/
public final static String FACE_CERTIFICAITON = "/api-third/" +"detect/receiptOrderVerify";
public final static String FACE_CERTIFICAITON = "/api-third/" + "detect/receiptOrderVerify";
/**
* 获取客户验收url
*/
public final static String CREATE_URL = "/api-user" + "/account/createUrlByOrderId/{orderId}";
}
......@@ -171,6 +171,7 @@ public class MultipleProcessPresenter extends MultipleProcessContract.Presenter
if (integer == 6) {
Bundle bundle = new Bundle();
bundle.putInt(Constants.TYPE, 1);
bundle.putInt(Constants.ORDER_ID, mSpus.get(0).getOrderId());
mView.startActivity(QrCodeActivity.class, bundle);
} else {
ARouter.getInstance().build(RouterPath.PATH_MAIN).navigation();
......
......@@ -52,5 +52,8 @@ public interface MultiProcessOrderContract {
public abstract void getInfo();
public abstract void getPhone();
public abstract void callPhone();
}
}
package com.dayu.order.presenter.multiprocessorder;
import android.content.Intent;
import android.databinding.ObservableField;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
......@@ -47,9 +49,12 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
public ObservableField<String> mSn = new ObservableField<>();
public ObservableField<Boolean> mSpuState = new ObservableField<>();
public ObservableField<Boolean> mIsShowSn = new ObservableField<>(false);
public ObservableField<Boolean> mIsShowPhone = new ObservableField<>(false);
private ArrayList<Spu> mSpus;
private int mId;
private int mState;
private String mPhone;
private int mKaId;
@Override
public void onAttached() {
......@@ -57,6 +62,10 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
mSpu = (Spu) bundle.getSerializable(OrderConstant.SPU);
mSpus = bundle.getParcelableArrayList(OrderConstant.SPUS);
mState = bundle.getInt(Constants.STATE);
mKaId = mView.getBundle().getInt(OrderConstant.KAADDRESSID, -1);
if (mKaId != -1) {
getPhone();
}
mId = mSpu.getId();
mDetail.set(mSpu);
mBrandName.set(mSpu.getBrandName());
......@@ -280,4 +289,26 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
}
}));
}
@Override
public void getPhone() {
mView.showDialog();
OrderApiFactory.getManagerMobile(mKaId, 3).subscribe(baseObserver(companyManager -> {
mPhone = companyManager.getMobile();
if (mPhone != null) {
mIsShowPhone.set(true);
}
}, responeThrowable -> {
if (Constants.ERROR_NULL.equals(responeThrowable.subCode)) {
mIsShowPhone.set(false);
}
}));
}
@Override
public void callPhone() {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + mPhone));
mView.startActivityForIntent(intent);
}
}
......@@ -11,9 +11,12 @@ import com.dayu.event.UserInfo;
import com.dayu.order.R;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.Order;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.MultiProcessOrderActivity;
import com.dayu.order.ui.activity.OrderDetailsActivity;
import com.dayu.order.ui.activity.OrderLivenessActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.order.ui.fragment.OrderThreeTabFragment;
import com.dayu.provider.event.RefreshTab;
import com.dayu.utils.AppManager;
......@@ -28,6 +31,7 @@ import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import io.reactivex.Observable;
......@@ -134,6 +138,30 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
}
@Override
public void getServerList(int id, int kaId) {
mView.showDialog();
OrderApiFactory.getServerList(id).subscribe(baseObserver(spus -> {
Spu spu = spus.get(0);
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, spu.getId());
bundle.putInt(Constants.STATE, 0);
bundle.putSerializable(OrderConstant.SPU, spu);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(OrderConstant.KAADDRESSID, kaId);
if (spu.getSopStatus() == 1 && spu.getStatus() == 1) {
mView.startActivity(SopWebViewActivity.class, bundle);
} else {
mView.startActivity(MultiProcessOrderActivity.class, bundle);
}
}));
}
@Override
public void dumpDetail(int orderId) {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, orderId);
......@@ -141,7 +169,7 @@ public class OrderDoingPresenter extends orderDoingContract.Presenter {
MobclickAgent.onEvent(BaseApplication.getContext(), "check_order_detail");
}
public void checkCachedLicense(Order order) {
private void checkCachedLicense(Order order) {
String uuid = ConUtil.getUUIDString(BaseApplication.getContext());
new Thread(() -> {
Manager manager = new Manager(BaseApplication.getContext());
......
......@@ -48,5 +48,10 @@ public interface orderDoingContract {
public abstract void dumpToFaceCert(Order order);
/**
* 获取单任务列表.
* @param id
*/
public abstract void getServerList(int id, int kaId);
}
}
......@@ -22,5 +22,7 @@ public interface OrderLivenessContract {
public abstract void verifyIdentity(List<String> list);
public abstract void commitePhoto(ArrayList<File> list, String delta);
public abstract void getServerList(int id, int kaId);
}
}
......@@ -7,9 +7,12 @@ import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.Order;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.ui.activity.MultiProcessOrderActivity;
import com.dayu.order.ui.activity.ServerInfoActivity;
import com.dayu.order.ui.activity.ServerListActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
import com.dayu.utils.SPUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
......@@ -88,8 +91,13 @@ public class OrderLivenessPresenter extends OrderLivenessContract.Presenter {
bundle.putInt(Constants.ID, mOrder.getId());
mView.startActivity(ServerInfoActivity.class, bundle);
} else if (mOrder.getSpus().size() == 1) {
bundle.putInt(Constants.ID, mOrder.getSpus().get(0).getId());
mView.startActivity(ServerListActivity.class, bundle);
Spu spu = mOrder.getSpus().get(0);
if (spu.getGoodNum() == 1) {
getServerList(spu.getId(), mOrder.getKaCompanyId());
} else {
bundle.putInt(Constants.ID, mOrder.getSpus().get(0).getId());
mView.startActivity(ServerListActivity.class, bundle);
}
}
} else {
ToastUtils.showShortToast(R.string.certification_not_pass);
......@@ -128,4 +136,28 @@ public class OrderLivenessPresenter extends OrderLivenessContract.Presenter {
mView.dumpBack();
}));
}
@Override
public void getServerList(int id, int kaId) {
mView.showDialog();
OrderApiFactory.getServerList(id).subscribe(baseObserver(spus -> {
Spu spu = spus.get(0);
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, spu.getId());
bundle.putInt(Constants.STATE, 0);
bundle.putSerializable(OrderConstant.SPU, spu);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(OrderConstant.KAADDRESSID, kaId);
if (spu.getSopStatus() == 1 && spu.getStatus() == 1) {
mView.startActivity(SopWebViewActivity.class, bundle);
} else {
mView.startActivity(MultiProcessOrderActivity.class, bundle);
}
}));
}
}
package com.dayu.order.presenter.qrcode;
import android.graphics.Bitmap;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
/**
* Created by luo
* on 2016/8/4.
*/
public interface QRCodeContract {
interface View extends BaseView {
void setBitmap(Bitmap bitmap);
}
abstract class Presenter extends BasePresenter<View> {
public abstract void getUrl();
}
}
package com.dayu.order.presenter.qrcode;
import android.graphics.Bitmap;
import com.dayu.common.Constants;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.utils.QRCodeUtils;
/**
* Created by luofan
* on 2017/11/8.
*/
public class QRCodePresenter extends QRCodeContract.Presenter {
private int mId;
@Override
public void onAttached() {
mId = mView.getBundle().getInt(Constants.ORDER_ID);
getUrl();
}
@Override
public void getUrl() {
mView.showDialog();
OrderApiFactory.createUrl(mId).subscribe(baseObserver(s -> {
Bitmap bitmap = QRCodeUtils.createBitmap(s);
mView.setBitmap(bitmap);
}));
}
}
package com.dayu.order.presenter.sop;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
/**
* Created by luo
* on 2016/8/4.
*/
public interface SopContract {
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<View> {
public abstract void callPhone();
public abstract void getPhone();
}
}
package com.dayu.order.presenter.sop;
import android.content.Intent;
import android.databinding.ObservableField;
import android.net.Uri;
import com.dayu.common.Constants;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.common.OrderConstant;
/**
* Created by luofan
* on 2017/11/8.
*/
public class SopPresenter extends SopContract.Presenter {
public ObservableField<Boolean> showPhone = new ObservableField<>(false);
private Integer mKaId;
private String mPhone;
@Override
public void onAttached() {
mKaId = mView.getBundle().getInt(OrderConstant.KAADDRESSID, -1);
if (mKaId != -1) {
getPhone();
}
}
@Override
public void callPhone() {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + mPhone));
mView.startActivityForIntent(intent);
}
@Override
public void getPhone() {
mView.showDialog();
OrderApiFactory.getManagerMobile(mKaId, 3).subscribe(baseObserver(companyManager -> {
mPhone = companyManager.getMobile();
if (mPhone != null) {
showPhone.set(true);
}
}, responeThrowable -> {
if (Constants.ERROR_NULL.equals(responeThrowable.subCode)) {
showPhone.set(false);
}
}));
}
}
package com.dayu.order.ui.activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.databinding.QrCodeLayoutBinding;
import com.dayu.order.presenter.qrcode.QRCodeContract;
import com.dayu.order.presenter.qrcode.QRCodePresenter;
import com.dayu.provider.event.RefreshServe;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.QRCodeUtils;
import org.greenrobot.eventbus.EventBus;
......@@ -20,7 +24,7 @@ import org.greenrobot.eventbus.EventBus;
* on 2018/1/31.
*/
public class QrCodeActivity extends DataBindingActivity<QrCodeLayoutBinding> {
public class QrCodeActivity extends BaseActivity<QRCodePresenter, QrCodeLayoutBinding> implements QRCodeContract.View {
private int mType;
@Override
......@@ -36,7 +40,7 @@ public class QrCodeActivity extends DataBindingActivity<QrCodeLayoutBinding> {
}
mBind.titleBack.setOnClickListener(v -> goBack());
SpannableString spannableString = new SpannableString(getString(R.string.scan_code_for_appointment_two));
spannableString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.bg_button)), 3, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.bg_button)), 3, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mBind.notice.setText(spannableString);
}
......@@ -53,4 +57,14 @@ public class QrCodeActivity extends DataBindingActivity<QrCodeLayoutBinding> {
EventBus.getDefault().post(new RefreshServe(1));
}
}
@Override
public void setPresenter() {
}
@Override
public void setBitmap(Bitmap bitmap) {
mBind.qrCode.setImageBitmap(bitmap);
}
}
......@@ -37,37 +37,34 @@ public class ServerListActivity extends BaseActivity<ServerListPresenter, Activi
@Override
public void initView() {
mBind.tvTitle.setText(getString(R.string.task_list));
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Spu, ActivityServerListBinding>() {
@Override
public void OnItemClick(Spu item, ActivityServerListBinding bind) {
ArrayList<Spu> spus = (ArrayList<Spu>) mBind.recyclerView.getDatas();
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
for (Spu spu : spus) {
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
mBind.recyclerView.setOnItemClickListener((OnItemClickListener<Spu, ActivityServerListBinding>) (item, bind) -> {
ArrayList<Spu> spus = (ArrayList<Spu>) mBind.recyclerView.getDatas();
ArrayList<Spu> mUnFinishSpus = new ArrayList<>();
for (Spu spu : spus) {
if (spu.getStatus() == 1) {
mUnFinishSpus.add(spu);
}
Intent intent;
if (item.getSopStatus() == 1 && item.getStatus() == 1) {
intent = new Intent(mActivity, SopWebViewActivity.class);
} else {
intent = new Intent(mActivity, MultiProcessOrderActivity.class);
}
int state;
if (mPresenter.mIsShowProcess.get()) {
state = 0;//单任务单
} else {
state = 1;
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, item.getId());
bundle.putInt(Constants.STATE, state);
bundle.putSerializable(OrderConstant.SPU, item);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
}
Intent intent;
if (item.getSopStatus() == 1 && item.getStatus() == 1) {
intent = new Intent(mActivity, SopWebViewActivity.class);
} else {
intent = new Intent(mActivity, MultiProcessOrderActivity.class);
}
int state;
if (mPresenter.mIsShowProcess.get()) {
state = 0;//单任务单
} else {
state = 1;
}
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, item.getId());
bundle.putInt(Constants.STATE, state);
bundle.putSerializable(OrderConstant.SPU, item);
bundle.putParcelableArrayList(OrderConstant.SPUS, mUnFinishSpus);
bundle.putInt(Constants.ORDER_POSTION, 0);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
});
}
......
......@@ -12,13 +12,15 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.LinearLayout;
import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.baselibrary.databinding.ActivityWebviewBinding;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.order.R;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.ActivitySopWebviewBinding;
import com.dayu.order.presenter.sop.SopContract;
import com.dayu.order.presenter.sop.SopPresenter;
import com.dayu.provider.event.OrderState;
import com.dayu.utils.ProgressUtil;
import com.dayu.utils.SelectPicUtils;
......@@ -47,7 +49,7 @@ import static com.dayu.order.common.OrderConstant.ORDER_SOP_FINISH;
* on 2017/11/27.
*/
public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBinding> {
public class SopWebViewActivity extends BaseActivity<SopPresenter,ActivitySopWebviewBinding> implements SopContract.View{
private String mToken;
private int mOrderId;
private int mPositon;
......@@ -64,7 +66,7 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
@Override
public int getLayoutId() {
return R.layout.activity_webview;
return R.layout.activity_sop_webview;
}
@Override
......@@ -334,6 +336,11 @@ public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBindi
}
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
}
@Override
protected void onDestroy() {
super.onDestroy();
clearCach();
......
......@@ -20,6 +20,7 @@ import com.dayu.order.common.OrderConstant;
import com.dayu.order.databinding.FragmentOrderdoingItemBinding;
import com.dayu.order.presenter.orderdoing.OrderDoingPresenter;
import com.dayu.order.ui.activity.ProcessOrderActivity;
import com.dayu.order.ui.activity.QrCodeActivity;
import com.dayu.order.ui.activity.ServerInfoActivity;
import com.dayu.order.ui.activity.ServerListActivity;
import com.dayu.order.ui.activity.SopWebViewActivity;
......@@ -165,10 +166,11 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvErrorState.setText(mContext.getString(R.string.check_upon_delivery));
holder.tvErrorState.setTextColor(mContext.getResources().getColor(R.color.cl_tab_line));
holder.tvErrorState.setVisibility(View.VISIBLE);
holder.itemUpdataTime.setVisibility(View.GONE);
holder.itemUpdataTime.setVisibility(View.VISIBLE);
holder.tvItemProcess.setVisibility(View.GONE);
holder.orderLineOne.setVisibility(View.GONE);
holder.orderLineOne.setVisibility(View.VISIBLE);
holder.orderLineTwo.setVisibility(View.GONE);
holder.itemUpdataTime.setText(mContext.getString(R.string.customer_acceptance));
if (!haveCustomer) {
holder.llBottom.setVisibility(View.GONE);
......@@ -232,17 +234,25 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
holder.tvItemProcess.setOnClickListener(
v -> processClick(item, holder, position));
String temp = time;
String temp = time;
holder.itemUpdataTime.setOnClickListener(v -> {
dumpSubcribeTimeActivity(id, position, item.getStatus(),temp);
//工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭
//工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成
if (item.getStatus() == 2) {
MobclickAgent.onEvent(mContext, "subcribe_time");
} else if (item.getStatus() == 3) {
MobclickAgent.onEvent(mContext, "modify_time");
} else if (item.getStatus() == 4) {
MobclickAgent.onEvent(mContext, "modify_time_again");
if (item.getStatus() == 4 && item.getSubStatus() == 6) {
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, item.getId());
Intent intent = new Intent(mContext, QrCodeActivity.class);
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
} else {
dumpSubcribeTimeActivity(id, position, item.getStatus(), temp);
//工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭
//工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成
if (item.getStatus() == 2) {
MobclickAgent.onEvent(mContext, "subcribe_time");
} else if (item.getStatus() == 3) {
MobclickAgent.onEvent(mContext, "modify_time");
} else if (item.getStatus() == 4) {
MobclickAgent.onEvent(mContext, "modify_time_again");
}
}
});
if (item.getStatus() != 1) {
......@@ -359,7 +369,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
}
}
private void dumpSubcribeTimeActivity(int id, int adapterPosition, int state,String time) {
private void dumpSubcribeTimeActivity(int id, int adapterPosition, int state, String time) {
int status = UserManager.getInstance().getUser().getDetectStatus();
if (state == 2 && (status == 2 || status == 3)) { //没有活体检测的先去进行活体检测
showCertificationDialog();
......@@ -369,7 +379,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
bundle.putInt(Constants.ORDER_ID, id);
bundle.putInt(Constants.ORDER_POSTION, adapterPosition);
bundle.putInt(Constants.ORDER_STATE, state);
bundle.putString(OrderConstant.TIME,time);
bundle.putString(OrderConstant.TIME, time);
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
}
......@@ -388,6 +398,9 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
private void dumpServerActivity(Order order) {
Intent intent;
Bundle bundle = new Bundle();
if (order.getKaCompanyId() != null) {
bundle.putInt(OrderConstant.KAADDRESSID, order.getKaCompanyId());
}
boolean flag = (boolean) SPUtils.get(Constants.ORDER_ID + order.getId(), false);
if (!flag && (order.getFaceSwitch() != null && order.getFaceSwitch() == 1)) {
mPresenter.dumpToFaceCert(order);
......@@ -395,17 +408,19 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
if (order.getSpus().size() > 1) {
intent = new Intent(mContext, ServerInfoActivity.class);
bundle.putInt(Constants.ID, order.getId());
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
} else if (order.getSpus().size() == 1) {
intent = new Intent(mContext, ServerListActivity.class);
bundle.putInt(Constants.ID, order.getSpus().get(0).getId());
} else {
return;
}
if (order.getKaCompanyId() != null) {
bundle.putInt(OrderConstant.KAADDRESSID, order.getKaCompanyId());
Spu spu = order.getSpus().get(0);
if (spu.getGoodNum() == 1) {
mPresenter.getServerList(spu.getId(), order.getKaCompanyId());
} else {
intent = new Intent(mContext, ServerListActivity.class);
bundle.putInt(Constants.ID, order.getSpus().get(0).getId());
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
}
}
intent.putExtra(Constants.BUNDLE, bundle);
mContext.startActivity(intent);
}
}
......@@ -423,7 +438,9 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
CustomDialog customDialog = new CustomDialog(mContext, R.style.CustomDialog, UIUtils.getString(R.string.engineer_identity_not_audite)
, (dialog, confirm) -> {
if (confirm) {
ARouter.getInstance().build(RouterPath.PATH_CERTIFICAITON).navigation();
Bundle bundle = new Bundle();
bundle.putInt(Constants.CETIFICATION_STATE, 1);
ARouter.getInstance().build(RouterPath.PATH_CERTIFICAITON).withBundle(Constants.BUNDLE, bundle).navigation();
}
});
customDialog.setTitle(UIUtils.getString(R.string.certification))
......
......@@ -106,7 +106,11 @@ public class MultiOrderDetailFragment extends DataBindingFragment<FragmentMultiD
mBind.customerAcceptance.setVisibility(View.GONE);
}
mBind.customerAcceptance.setOnClickListener(v -> {
startActivity(new Intent(mActivity, QrCodeActivity.class));
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, detail.getId());
Intent intent = new Intent(mActivity, QrCodeActivity.class);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
MobclickAgent.onEvent(mActivity, "customer_apponitment");
});
if (detail.getEsignatureImg() == null) {
......
......@@ -70,7 +70,11 @@ public class OrderDetaillsFragment extends DataBindingFragment<FragmentOrderData
mBind.customerAcceptance.setVisibility(View.GONE);
}
mBind.customerAcceptance.setOnClickListener(v -> {
startActivity(new Intent(mActivity, QrCodeActivity.class));
Bundle bundle = new Bundle();
bundle.putInt(Constants.ORDER_ID, dataBean.getId());
Intent intent = new Intent(mActivity, QrCodeActivity.class);
intent.putExtra(Constants.BUNDLE, bundle);
startActivity(intent);
MobclickAgent.onEvent(mActivity, "customer_apponitment");
});
mBind.tvOrderRmark.post(() -> {
......
......@@ -33,6 +33,15 @@
style="@style/title_image_back"
android:onClick="@{()->presenter.dumpBack()}" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:onClick="@{()->presenter.callPhone()}"
android:text="@string/company_mobile"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3"
android:visibility="@{presenter.mIsShowPhone?View.VISIBLE:View.GONE}" />
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_6"
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="presenter"
type="com.dayu.order.presenter.sop.SopPresenter" />
<import type="android.view.View" />
</data>
<LinearLayout
android:id="@+id/ll_web"
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" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
/>
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:onClick="@{()->presenter.callPhone()}"
android:text="@string/company_mobile"
android:textColor="#3faafc"
android:textSize="@dimen/dp_13.3"
android:visibility="@{presenter.showPhone?View.VISIBLE:View.GONE}" />
</RelativeLayout>
<ImageView style="@style/card_line" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -29,10 +29,10 @@
android:orientation="vertical">
<ImageView
android:id="@+id/qr_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:src="@drawable/icon_appointment_code" />
android:layout_marginTop="100dp" />
<TextView
android:layout_width="wrap_content"
......@@ -44,9 +44,11 @@
<TextView
android:id="@+id/notice"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="@dimen/dp_15"
android:text="@string/scan_code_for_appointment_two"
android:textSize="15sp" />
......
......@@ -9,8 +9,9 @@ public class RouterPath {
/**
* APP.
*/
public final static String PATH_MAIN ="/app/main";
public final static String PATH_SETTING ="/app/setting";
public final static String PATH_MAIN = "/app/main";
public final static String PATH_MANAGER = "/app/manager_home";
public final static String PATH_SETTING = "/app/setting";
/**
......@@ -23,12 +24,10 @@ public class RouterPath {
/**
* 我的模块.
*/
public final static String PATH_CERTIFICAITON="/user/certificaiton";
public final static String PATH_CERTIFICAITON = "/user/certificaiton";
/**
* 店长模块
*/
public final static String PATH_SERVICESTATION="/manager/servicestation";
public final static String PATH_MANAGER="/manager/manager_home";
public final static String PATH_SERVICESTATION = "/manager/servicestation";
}
......@@ -116,6 +116,8 @@ public class SmsLoginPresenter extends SmsLoginContract.Presenter {
@Override
public void dumpAndSave(UserInfo info) {
// info.getRoles().clear();
// info.getRoles().add(3);
switch (UserManager.getInstance().getRole(info)) {
case Constants.MANAGER:
UserManager.getInstance().saveUser(info);
......
package com.dayu.usercenter.ui.activity;
import android.text.Editable;
import android.text.TextUtils;
import android.widget.TextView;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.common.MyTextWatcher;
import com.dayu.usercenter.R;
import com.dayu.usercenter.databinding.ActivitySmsCodeBinding;
import com.dayu.usercenter.presenter.smslogin.SmsLoginContract;
......@@ -13,6 +16,8 @@ import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnCloseListener;
import com.umeng.analytics.MobclickAgent;
import java.lang.reflect.Field;
/**
* Created by luofan
* on 2018/7/2.
......@@ -33,7 +38,21 @@ public class SmsCodeActivity extends BaseActivity<SmsLoginPresenter, ActivitySms
public void initView() {
mPresenter.sendCode(1);
mBind.sendCode.setOnClickListener(v -> changeCodeBtn());
mBind.smsCode.setOnCodeFinishListener(content -> mPresenter.login(content));
try {
Field f = TextView.class.getDeclaredField("mCursorDrawableRes");
f.setAccessible(true);
f.set(mBind.code, mActivity.getResources().getDrawable(R.drawable.et_cursor));
} catch (Exception ignored) {
}
mBind.code.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
String str = mBind.code.getText().toString().trim();
if (!TextUtils.isEmpty(str) && str.toCharArray().length == 6) {
mPresenter.login(str);
}
}
});
UIUtils.showSoftInputFromWindow(mActivity);
}
......@@ -65,11 +84,11 @@ public class SmsCodeActivity extends BaseActivity<SmsLoginPresenter, ActivitySms
@Override
public void setError(String str) {
if (TextUtils.isEmpty(str)){
mBind.smsCode.clear();
}else {
if (TextUtils.isEmpty(str)) {
mBind.code.setText("");
} else {
mBind.error.setText(str);
mBind.smsCode.clear();
mBind.code.setText("");
UIUtils.setShakeAnimation(mBind.error);
}
}
......
......@@ -43,8 +43,8 @@
android:id="@+id/error_"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/common_red"
android:layout_marginTop="@dimen/dp_12"
android:textColor="@color/common_red"
android:textSize="12sp" />
<com.dayu.widgets.SmsCodeView
......@@ -54,6 +54,7 @@
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone"
app:vcv_et_bg="@drawable/et_login_code"
app:vcv_et_cursor="@drawable/et_cursor"
app:vcv_et_inputType="number"
......@@ -62,6 +63,29 @@
app:vcv_et_text_size="5sp"
app:vcv_et_width="40dp" />
<EditText
android:id="@+id/code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="15dp"
android:background="@null"
android:gravity="center"
android:inputType="number"
android:maxEms="6"
android:textColor="@color/default_text_color"
android:textCursorDrawable="@null"
android:textSize="20sp" />
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:background="@color/cl_line" />
<TextView
android:id="@+id/send_code"
android:layout_width="wrap_content"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment