Commit 5a359247 by 罗翻

增加个人资料和修改头像页面

parent 875973da
Showing with 688 additions and 127 deletions
...@@ -21,7 +21,8 @@ public class Constants { ...@@ -21,7 +21,8 @@ public class Constants {
/***********************测试环境配置**********************************/ /***********************测试环境配置**********************************/
public static final int DEBUGLEVEL = LogUtils.LEVEL_ALL; public static final int DEBUGLEVEL = LogUtils.LEVEL_ALL;
public static final String BASE_URL = "http://47.94.101.239:3112"; // public static final String BASE_URL = "http://47.94.101.239:3112";
public static final String BASE_URL = "http://192.168.1.136:3112";
public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply"; 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 WEB_SOP = "http://47.94.101.239:9004/#/sop";
public static final boolean UM_DEBUG = true; public static final boolean UM_DEBUG = true;
...@@ -35,38 +36,81 @@ public class Constants { ...@@ -35,38 +36,81 @@ public class Constants {
// public final static String WEB_SOP = "https://sop.kf.ai/#/sop"; // public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
// public static final boolean UM_DEBUG = false; // public static final boolean UM_DEBUG = false;
/*****************/ /*****************/
/**
* 登录.
*/
public static final String LOGIN_URL = "/check"; public static final String LOGIN_URL = "/check";
//登录时发送验证码的URL /**
* 登录时发送验证码
*/
public static final String REGISTER_URL = "/api-user/" + "account/loginSms/{telephone}/type/{type}"; public static final String REGISTER_URL = "/api-user/" + "account/loginSms/{telephone}/type/{type}";
//异常单获取 /**
* 修改用户信息.
*/
public static final String MODIFY_USER_INFO = "/api-user/" + "auditInfo/accountReAuthenticate";
/**
* 修改用户头像.
*/
public static final String MODIFY_USER_HEADER = "/api-user/" + "/account/modifyHeadURL";
/**
* 异常单获取.
*/
public static final String ERROR_ORDER = "/api-order/" + "orders/findExceptionSimpleOrderVO"; public static final String ERROR_ORDER = "/api-order/" + "orders/findExceptionSimpleOrderVO";
//工程师接单 /**
* 工程师接单.
*/
public static final String ORDER_RECEIVING = "/api-order/" + "orders/{orderId}/engineer/{engineerId}"; public static final String ORDER_RECEIVING = "/api-order/" + "orders/{orderId}/engineer/{engineerId}";
//再次上门、重新预约时间 /**
* 重新预约时间.
*/
public static final String SUBCRIBE_TIME = "/api-order/" + "orders/bespeakDoor"; public static final String SUBCRIBE_TIME = "/api-order/" + "orders/bespeakDoor";
//开始出发 /**
* 开始出发.
*/
public static final String START_ORDER = "/api-order/" + "orders/onWayUpgrade"; public static final String START_ORDER = "/api-order/" + "orders/onWayUpgrade";
//开始服务 /**
* 开始服务.
*/
public static final String START_SERVE = "/api-order/" + "orders/onWorkingUpgrade"; public static final String START_SERVE = "/api-order/" + "orders/onWorkingUpgrade";
//工单详情信息,包含评价,投诉,服务记录 /**
* 工单详情信息,包含评价,投诉,服务记录.
*/
public static final String ORDER_DETAILS = "/api-order/" + "orders/{orderId}/detail"; public static final String ORDER_DETAILS = "/api-order/" + "orders/{orderId}/detail";
//工单完成,提交验收报告 /**
* 工单完成,提交验收报告.
*/
public static final String ORDER_FINISH = "/api-order/" + "orders/waitCustomerCheckUpgrade"; public static final String ORDER_FINISH = "/api-order/" + "orders/waitCustomerCheckUpgrade";
//个人中心 /**
* 获取工程师信息.
*/
public static final String PERSONAL_CENTER = "/api-user/" + "engineerInfo/accountId/{accountId}"; public static final String PERSONAL_CENTER = "/api-user/" + "engineerInfo/accountId/{accountId}";
//个人中心,今日收益 /**
* 工程师今日收益.
*/
public static final String PERSONAL_ACOUNT_BALANCE = "/api-settlement/" + "payAccount/queryAccountBalanceAndtodayIncrease/accountId/{accountId}"; public static final String PERSONAL_ACOUNT_BALANCE = "/api-settlement/" + "payAccount/queryAccountBalanceAndtodayIncrease/accountId/{accountId}";
//账户余额 /**
* 工程师账户余额.
*/
public static final String PERSONAL_ACCOUT_LIST = "/api-settlement/" + "payStream/queryPayStream/"; public static final String PERSONAL_ACCOUT_LIST = "/api-settlement/" + "payStream/queryPayStream/";
//绑定支付宝账号 /**
* 绑定支付宝账号.
*/
public static final String PERSONAL_ALIPAY_BOUND = "/api-settlement/" + "alipay/save"; public static final String PERSONAL_ALIPAY_BOUND = "/api-settlement/" + "alipay/save";
//查询支付宝账号 /**
* 查询支付宝账号.
*/
public static final String PERSONAL_ALIPAY_QUERY = "/api-settlement/" + "alipay/queryAlipayByAccountId/accountId/{accountId}"; public static final String PERSONAL_ALIPAY_QUERY = "/api-settlement/" + "alipay/queryAlipayByAccountId/accountId/{accountId}";
//修改支付宝账号 /**
* 修改支付宝账号.
*/
public static final String PERSONAL_ALIPAY_MODIFY = "/api-settlement/" + "alipay/modifyAlipay"; public static final String PERSONAL_ALIPAY_MODIFY = "/api-settlement/" + "alipay/modifyAlipay";
//单表查询工单记录 /**
* 单表查询工单记录.
*/
public final static String SELECT_ORDER_LITTLE = "/api-order/" + "orders/{accountId}"; public final static String SELECT_ORDER_LITTLE = "/api-order/" + "orders/{accountId}";
//根据工程师id和工程师id获取今日业绩(今日收益) /**
* 根据工程师id和工程师id获取今日业绩(今日收益).
*/
public final static String USER_ORDER_REVENUE = "/api-count/" + "ordersStatistics/income/siteId/{siteId}/engineerId/{engineerId}"; public final static String USER_ORDER_REVENUE = "/api-count/" + "ordersStatistics/income/siteId/{siteId}/engineerId/{engineerId}";
//服务记录、工程师评价 //服务记录、工程师评价
public final static String USER_REVENUE = "/api-count/" + "ordersStatistics/total/siteId/{siteId}/engineerId/{engineerId}"; public final static String USER_REVENUE = "/api-count/" + "ordersStatistics/total/siteId/{siteId}/engineerId/{engineerId}";
...@@ -86,7 +130,6 @@ public class Constants { ...@@ -86,7 +130,6 @@ public class Constants {
public final static String MESSAGE_HX_LIST = "/api-message/hXMessage/hxAccount/{hxAccount}/category/{category}"; public final static String MESSAGE_HX_LIST = "/api-message/hXMessage/hxAccount/{hxAccount}/category/{category}";
//获取消息数量 //获取消息数量
public final static String MESSAGE_NUM = " /api-message/" + "hXMessage/count/hxAccount/{hxAccount}"; public final static String MESSAGE_NUM = " /api-message/" + "hXMessage/count/hxAccount/{hxAccount}";
...@@ -124,4 +167,11 @@ public class Constants { ...@@ -124,4 +167,11 @@ public class Constants {
//设置通知提醒按钮状态 //设置通知提醒按钮状态
public final static String MESSAGE_STATE = "message_state"; public final static String MESSAGE_STATE = "message_state";
/**
* 使base类不弹出提示.
*/
public final static String NOT_SHOW = "not_show";
public final static String PICURL = "pic_url";
public final static String ENGINEERINFO = "engineer_info";
} }
...@@ -59,6 +59,16 @@ public interface APIService { ...@@ -59,6 +59,16 @@ public interface APIService {
Observable<BaseResponse<Boolean>> sendCode(@Path("telephone") String telephone, @Path("type") int type); Observable<BaseResponse<Boolean>> sendCode(@Path("telephone") String telephone, @Path("type") int type);
/** /**
* 修改头像.
*
* @param accoutId
* @param headURL
* @return
*/
@PUT(Constants.MODIFY_USER_HEADER)
Observable<BaseResponse<Boolean>> modifyHead(@Query("accountId") int accoutId, @Query("headURL") String headURL);
/**
* 上传版本信息 * 上传版本信息
* *
* @return * @return
...@@ -313,8 +323,11 @@ public interface APIService { ...@@ -313,8 +323,11 @@ public interface APIService {
@PUT(Constants.MESSAGE_HX) @PUT(Constants.MESSAGE_HX)
Observable<BaseResponse<Boolean>> readMessage(@Body RequestBody body); Observable<BaseResponse<Boolean>> readMessage(@Body RequestBody body);
@PUT(Constants.MODIFY_USER_INFO)
Observable<BaseResponse<Boolean>> modifyUserInfo(@Body RequestBody body);
/** /**
* 上传图片. * 上传图片多张.
* *
* @param partMap * @param partMap
* @return * @return
...@@ -324,6 +337,16 @@ public interface APIService { ...@@ -324,6 +337,16 @@ public interface APIService {
Observable<BaseResponse<List<String>>> uploadPhoto( Observable<BaseResponse<List<String>>> uploadPhoto(
@Part MultipartBody.Part[] partMap); @Part MultipartBody.Part[] partMap);
/**
* 上传图片单张.
*
* @param part
* @return
*/
@Multipart
@POST(Constants.UP_PHOTO)
Observable<BaseResponse<List<String>>> uploadPhoto(
@Part MultipartBody.Part part);
@Streaming @Streaming
@GET @GET
......
...@@ -144,7 +144,7 @@ public class Api { ...@@ -144,7 +144,7 @@ public class Api {
UserInfo userInfo = UserManager.getInstance().getUser(MyApplication.getContext()); UserInfo userInfo = UserManager.getInstance().getUser(MyApplication.getContext());
if (userInfo != null) { if (userInfo != null) {
String token = userInfo.getToken(); String token = userInfo.getToken();
if (!TextUtils.isEmpty(token)) { if (!TextUtils.isEmpty(token) && !request.url().toString().contains(Constants.BASE_URL + Constants.LOGIN_URL)) {
request = request.newBuilder() request = request.newBuilder()
.header("token", token) .header("token", token)
.build(); .build();
......
package com.dayu.bigfish.api; package com.dayu.bigfish.api;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MyApplication; import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
...@@ -46,52 +47,80 @@ public class ServerException extends Exception { ...@@ -46,52 +47,80 @@ public class ServerException extends Exception {
break; break;
/** 用户相关错误*/ /** 用户相关错误*/
case "USER0002":
message = MyApplication.getContext().getString(R.string.sms_code_unsend_or_expire);
break;
case "USER0004": case "USER0004":
message = MyApplication.getContext().getString(R.string.not_engineer); message = MyApplication.getContext().getString(R.string.not_engineer);
break; break;
case "USER0005": case "USER0005":
message = MyApplication.getContext().getString(R.string.account_frozen); message = MyApplication.getContext().getString(R.string.account_frozen);
break; break;
case "USER0020":
message = MyApplication.getContext().getString(R.string.sms_code_unsend_or_expire);
break;
case "USER0021":
message = MyApplication.getContext().getString(R.string.sms_code_error);
break;
case "USER0023":
message = MyApplication.getContext().getString(R.string.engineer_acount_notavialibe);
break;
case "USER0024":
message = MyApplication.getContext().getString(R.string.engineer_not_have_site);
break;
/** 账户相关*/ /** 账户相关*/
case "SETTLEMENT0015": case "SETTLEMENT0015":
message = MyApplication.getContext().getString(R.string.not_show); message = Constants.NOT_SHOW;
break; break;
case "SETTLEMENT0001": case "SETTLEMENT0001":
message = MyApplication.getContext().getString(R.string.perameter_is_null); message = MyApplication.getContext().getString(R.string.perameter_is_null);
break; break;
/**全局错误*/ /**全局错误*/
case "GLOBAL0001": case "GLOBAL0001":
message = "未知错误GLOBAL0001"; message = "未知错误GLOBAL0001"; //参数错误
break; break;
case "GLOBAL0002": case "GLOBAL0002":
message = "未知错误GLOBAL0002"; message = "未知错误GLOBAL0002"; //格式化序列化错误
break; break;
case "GLOBAL0003": case "GLOBAL0003":
message = "未知错误GLOBAL0003"; message = "未知错误GLOBAL0003"; //业务错误
break; break;
case "GLOBAL0004": case "GLOBAL0004":
message = "未知错误GLOBAL0004"; message = "未知错误GLOBAL0004"; //全局错误
break;
case "GLOBAL0100":
message = "未知错误GLOBAL0100"; //远程调用失败
break;
case "GLOBAL0101":
message = "未知错误GLOBAL0101"; //短信验证失败
break;
case "GLOBAL0102":
message = "未知错误GLOBAL0102"; // unknowable error type
break; break;
case "GLOBAL0400": case "GLOBAL0400":
message = "未知错误GLOBAL0400"; message = "未知错误GLOBAL0400"; //Bad Request!
break; break;
case "GLOBAL0406": case "GLOBAL0406":
message = "未知错误GLOBAL0406"; message = "未知错误GLOBAL0406"; //not Acceptable
break;
case "GLOBAL0405":
message = "未知错误GLOBAL0405"; //Method Not Allowed
break; break;
case "GLOBAL1001": case "GLOBAL1001":
message = "未知错误GLOBAL1001"; message = "未知错误GLOBAL1001"; //空指针异常
break; break;
case "GLOBAL1002": case "GLOBAL1002":
message = "未知错误GLOBAL1002"; message = "未知错误GLOBAL1002"; //类型转换异
break; break;
case "GLOBAL1003": case "GLOBAL1003":
message = "未知错误GLOBAL1003"; message = "未知错误GLOBAL1003"; //IO异常
break; break;
case "GLOBAL1004": case "GLOBAL1004":
message = "未知错误GLOBAL1004"; message = "未知错误GLOBAL1004"; //未知方法异
break; break;
case "GLOBAL1005": case "GLOBAL1005":
message = "未知错误GLOBAL1005"; message = "未知错误GLOBAL1005"; //数据越界异
break; break;
default: default:
message = MyApplication.getContext().getString(R.string.get_info_failed); message = MyApplication.getContext().getString(R.string.get_info_failed);
......
...@@ -18,7 +18,6 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi ...@@ -18,7 +18,6 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
public P mPresenter; public P mPresenter;
protected CompositeDisposable mDisposable = new CompositeDisposable(); protected CompositeDisposable mDisposable = new CompositeDisposable();
@Override @Override
protected void initPresenter() { protected void initPresenter() {
super.initPresenter(); super.initPresenter();
......
...@@ -133,9 +133,9 @@ public abstract class BasePresenter<V> { ...@@ -133,9 +133,9 @@ public abstract class BasePresenter<V> {
} }
return exception; return exception;
} }
if (!"not_show".equals(message) && mView instanceof BaseActivity) { if (!Constants.NOT_SHOW.equals(message) && mView instanceof BaseActivity) {
((BaseActivity) mView).showToast(message); ((BaseActivity) mView).showToast(message);
} else if (!"not_show".equals(message) && mView instanceof BaseFragment) { } else if (!Constants.NOT_SHOW.equals(message) && mView instanceof BaseFragment) {
((BaseFragment) mView).showToast(message); ((BaseFragment) mView).showToast(message);
} }
return exception; return exception;
...@@ -156,13 +156,10 @@ public abstract class BasePresenter<V> { ...@@ -156,13 +156,10 @@ public abstract class BasePresenter<V> {
Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK |
Intent.FLAG_ACTIVITY_NEW_TASK); Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(Intents); mActivity.startActivity(Intents);
} else {
} }
dialog.dismiss(); dialog.dismiss();
}); });
mDialog.setTitle(getString(R.string.notice)) mDialog.setTitle(getString(R.string.notice))
.setNegativeButton(getString(R.string.cancle))
.setPositiveButton(getString(R.string.login_again)) .setPositiveButton(getString(R.string.login_again))
.setOneButton(true); .setOneButton(true);
mDialog.show(); mDialog.show();
...@@ -183,6 +180,7 @@ public abstract class BasePresenter<V> { ...@@ -183,6 +180,7 @@ public abstract class BasePresenter<V> {
mActivity.startActivity(new Intent(mActivity, clz)); mActivity.startActivity(new Intent(mActivity, clz));
} }
/** /**
* 跳转页面 * 跳转页面
* *
...@@ -202,6 +200,15 @@ public abstract class BasePresenter<V> { ...@@ -202,6 +200,15 @@ public abstract class BasePresenter<V> {
* *
* @param clz 所跳转的目的Activity类 * @param clz 所跳转的目的Activity类
*/ */
public void startActivityForReult(Class<?> clz, int requestCode) {
mActivity.startActivityForResult(new Intent(mActivity, clz), requestCode);
}
/**
* 跳转页面
*
* @param clz 所跳转的目的Activity类
*/
public void startActvityAndFinish(Class<?> clz) { public void startActvityAndFinish(Class<?> clz) {
mActivity.startActivity(new Intent(mActivity, clz)); mActivity.startActivity(new Intent(mActivity, clz));
mActivity.finish(); mActivity.finish();
......
package com.dayu.bigfish.bean; package com.dayu.bigfish.bean;
import android.databinding.BaseObservable;
import android.databinding.Bindable;
import com.dayu.bigfish.BR;
import java.io.Serializable;
/** /**
* Created by luofan on 2017/11/14. * Created by luofan on 2017/11/14.
*/ */
public class EngineerInfo { public class EngineerInfo extends BaseObservable implements Serializable {
/** /**
* id : 30 * id : 30
* accountId : 115 * accountId : 115
* realName : 工程师 * realName : 工程师
* identity : 110200198802021561 * identity : 110200198802021561
* identityUrl : null * mIdentityUrl : null
* accountUrl : null * accountUrl : null
* aduitStatus : 2 * auditStatus : 2
* createTime : null * createTime : null
* created : null * created : null
* updateTime : null * updateTime : null
...@@ -31,9 +38,9 @@ public class EngineerInfo { ...@@ -31,9 +38,9 @@ public class EngineerInfo {
private int accountId; private int accountId;
private String realName; private String realName;
private String identity; private String identity;
private Object identityUrl; private String identityUrl;
private Object accountUrl; private String accountUrl;
private int aduitStatus; private int auditStatus;
private Object createTime; private Object createTime;
private Object created; private Object created;
private Object updateTime; private Object updateTime;
...@@ -62,45 +69,49 @@ public class EngineerInfo { ...@@ -62,45 +69,49 @@ public class EngineerInfo {
public void setAccountId(int accountId) { public void setAccountId(int accountId) {
this.accountId = accountId; this.accountId = accountId;
} }
@Bindable
public String getRealName() { public String getRealName() {
return realName; return realName;
} }
public void setRealName(String realName) { public void setRealName(String realName) {
this.realName = realName; this.realName = realName;
notifyPropertyChanged(BR.realName);
} }
@Bindable
public String getIdentity() { public String getIdentity() {
return identity; return identity;
} }
public void setIdentity(String identity) { public void setIdentity(String identity) {
this.identity = identity; this.identity = identity;
notifyPropertyChanged(BR.identity);
} }
@Bindable
public Object getIdentityUrl() { public String getIdentityUrl() {
return identityUrl; return identityUrl;
} }
public void setIdentityUrl(Object identityUrl) { public void setIdentityUrl(String identityUrl) {
this.identityUrl = identityUrl; this.identityUrl = identityUrl;
notifyPropertyChanged(BR.identityUrl);
} }
@Bindable
public Object getAccountUrl() { public String getAccountUrl() {
return accountUrl; return accountUrl;
} }
public void setAccountUrl(Object accountUrl) { public void setAccountUrl(String accountUrl) {
this.accountUrl = accountUrl; this.accountUrl = accountUrl;
notifyPropertyChanged(BR.accountUrl);
} }
public int getAduitStatus() { public int getAduitStatus() {
return aduitStatus; return auditStatus;
} }
public void setAduitStatus(int aduitStatus) { public void setAduitStatus(int aduitStatus) {
this.aduitStatus = aduitStatus; this.auditStatus = aduitStatus;
} }
public Object getCreateTime() { public Object getCreateTime() {
...@@ -150,13 +161,14 @@ public class EngineerInfo { ...@@ -150,13 +161,14 @@ public class EngineerInfo {
public void setAge(int age) { public void setAge(int age) {
this.age = age; this.age = age;
} }
@Bindable
public String getMobile() { public String getMobile() {
return mobile; return mobile;
} }
public void setMobile(String mobile) { public void setMobile(String mobile) {
this.mobile = mobile; this.mobile = mobile;
notifyPropertyChanged(BR.mobile);
} }
public Object getSiteId() { public Object getSiteId() {
......
...@@ -28,6 +28,7 @@ public class UserInfo { ...@@ -28,6 +28,7 @@ public class UserInfo {
private String hxAccount; private String hxAccount;
private String hxPwd; private String hxPwd;
private String token; private String token;
private int status;
public String getHxAccount() { public String getHxAccount() {
return hxAccount; return hxAccount;
...@@ -84,4 +85,12 @@ public class UserInfo { ...@@ -84,4 +85,12 @@ public class UserInfo {
public void setToken(String token) { public void setToken(String token) {
this.token = token; this.token = token;
} }
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
} }
...@@ -9,6 +9,9 @@ import com.dayu.bigfish.R; ...@@ -9,6 +9,9 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.UserInfo; import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.ui.AgreementActivity; import com.dayu.bigfish.ui.AgreementActivity;
import com.dayu.bigfish.ui.MainActivity; import com.dayu.bigfish.ui.MainActivity;
import com.dayu.bigfish.ui.PersonInfoActivity;
import com.dayu.bigfish.ui.views.CustomDialog;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.UtilsUserAccountMatcher; import com.dayu.bigfish.utils.UtilsUserAccountMatcher;
import com.dayu.bigfish.utils.managers.UserManager; import com.dayu.bigfish.utils.managers.UserManager;
import com.hyphenate.EMCallBack; import com.hyphenate.EMCallBack;
...@@ -16,6 +19,8 @@ import com.hyphenate.chat.EMClient; ...@@ -16,6 +19,8 @@ import com.hyphenate.chat.EMClient;
import io.reactivex.functions.Consumer; import io.reactivex.functions.Consumer;
import static com.dayu.bigfish.utils.UIUtils.getString;
/** /**
* Created by luofan on 2017/11/8. * Created by luofan on 2017/11/8.
*/ */
...@@ -72,10 +77,18 @@ public class LoginPresenter extends LoginContract.Presenter { ...@@ -72,10 +77,18 @@ public class LoginPresenter extends LoginContract.Presenter {
ApiFactory.login(userName.get(), password.get()).subscribe(baseObserver(new Consumer<UserInfo>() { ApiFactory.login(userName.get(), password.get()).subscribe(baseObserver(new Consumer<UserInfo>() {
@Override @Override
public void accept(UserInfo userInfo) throws Exception { public void accept(UserInfo userInfo) throws Exception {
if (userInfo.getStatus() == 1) {
loginHx(userInfo.getHxAccount(), userInfo.getHxPwd()); loginHx(userInfo.getHxAccount(), userInfo.getHxPwd());
dumpAndSave(userInfo); dumpAndSave(userInfo);
} else if (userInfo.getStatus() == 2) {
ToastUtils.showShortToast(R.string.engineer_identity_auditing);
UserManager.getInstance().saveUser(mActivity, userInfo);
} else if (userInfo.getStatus() == 3) {
showLoginDialog();
UserManager.getInstance().saveUser(mActivity, userInfo);
}
} }
}, throwable -> mView.showToast(R.string.login_faile))); }));
} }
@Override @Override
...@@ -99,6 +112,20 @@ public class LoginPresenter extends LoginContract.Presenter { ...@@ -99,6 +112,20 @@ public class LoginPresenter extends LoginContract.Presenter {
} }
} }
private void showLoginDialog() {
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.engineer_identity_not_audite)
, (dialog, confirm) -> {
if (confirm) {
startActivity(PersonInfoActivity.class);
}
dialog.dismiss();
});
customDialog.setTitle(getString(R.string.identity_not_audite))
.setPositiveButton(getString(R.string.submit_again))
.setOneButton(true);
customDialog.show();
}
@Override @Override
public void dumpAndSave(UserInfo info) { public void dumpAndSave(UserInfo info) {
UserManager.getInstance().saveUser(mActivity, info); UserManager.getInstance().saveUser(mActivity, info);
......
package com.dayu.bigfish.presenter.modifyperson;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.ui.views.CustomDialog;
/**
* Created by luo on 2016/8/4.
*/
public interface ModifyPersonContract {
interface View extends BaseView {
void showPicDialog();
void showTip();
void showSubmiteDialog(CustomDialog.OnCloseListener listener);
}
abstract class Presenter extends BasePresenter<View> {
public abstract void showPicDialog();
public abstract void showSubmiteDialog();
public abstract void deletePic();
public abstract void uploadPic(String path);
public abstract void modifyUserInfo(String realName, String identity, String identityUrl);
}
}
package com.dayu.bigfish.presenter.modifyperson;
import android.databinding.ObservableField;
import android.os.Bundle;
import android.text.TextUtils;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.EngineerInfo;
import org.json.JSONObject;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import io.reactivex.functions.Consumer;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* Created by luofan on 2017/11/14.
*/
@InstanceFactory
public class ModifyPersonPresenter extends ModifyPersonContract.Presenter {
public ObservableField<String> realName = new ObservableField<>();
public ObservableField<String> identity = new ObservableField<>();
public ObservableField<String> mIdentityUrl = new ObservableField<>("");
private String mIvPath;
private EngineerInfo mInfo;
@Override
public void onAttached() {
Bundle bundle = mActivity.getIntent().getBundleExtra(Constants.BUNDLE);
mInfo = (EngineerInfo) bundle.getSerializable(Constants.ENGINEERINFO);
if (mInfo != null) {
mIvPath = mInfo.getIdentityUrl();
realName.set(mInfo.getRealName());
identity.set(mInfo.getIdentity());
mIdentityUrl.set(mIvPath);
}
}
@Override
public void showPicDialog() {
mView.showPicDialog();
}
@Override
public void showSubmiteDialog() {
if (TextUtils.isEmpty(realName.get())) {
mView.showToast(R.string.name_not_empty);
return;
}
if (TextUtils.isEmpty(identity.get())) {
mView.showToast(R.string.identity_not_empty);
return;
}
if (TextUtils.isEmpty(mIdentityUrl.get())) {
mView.showToast(R.string.identityurl_not_empty);
return;
}
mView.showSubmiteDialog((dialog, confirm) -> {
if (confirm) {
uploadPic(mIdentityUrl.get());
}
dialog.dismiss();
});
}
@Override
public void deletePic() {
mIdentityUrl.set("");
}
@Override
public void uploadPic(String path) {
File file = new File(path);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("fileUpload", file.getName(), requestFile);
mView.showDialog();
ApiFactory.uploadPhoto(body).subscribe(baseObserver(new Consumer<List<String>>() {
@Override
public void accept(List<String> list) throws Exception {
if (list != null && list.size() > 0) {
modifyUserInfo(realName.get(), identity.get(), list.get(0));
} else {
mView.showToast("修改头像失败");
}
}
}));
}
@Override
public void modifyUserInfo(String realName, String identity, String identityUrl) {
HashMap<String, Object> params = new HashMap<>();
params.put("accountId", mInfo.getAccountId());
params.put("realName", realName);
params.put("identity", identity);
params.put("mIdentityUrl", identityUrl);
JSONObject jsonObject = new JSONObject(params);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
ApiFactory.modifyUserInfo(body).subscribe(baseObserver(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
mView.showTip();
}
}));
}
}
package com.dayu.bigfish.presenter.myhead;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
/**
* Created by luo on 2016/8/4.
*/
public interface MyHeadContract {
interface View extends BaseView {
void showPicDialog();
}
abstract class Presenter extends BasePresenter<View> {
public abstract void uploadPic(String path);
public abstract void modifyHead(String path);
}
}
package com.dayu.bigfish.presenter.myhead;
import android.databinding.ObservableField;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.utils.managers.UserManager;
import com.luck.picture.lib.tools.PictureFileUtils;
import java.io.File;
import java.util.List;
import io.reactivex.functions.Consumer;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
/**
* Created by luofan on 2017/11/14.
*/
@InstanceFactory
public class MyHeadPresenter extends MyHeadContract.Presenter {
public ObservableField<String> headUrl = new ObservableField<>();
private UserInfo mUserInfo;
private int mAccountId;
@Override
public void onAttached() {
mUserInfo = UserManager.getInstance().getUser(mActivity);
mAccountId = Integer.parseInt(mUserInfo.getAccountId());
headUrl.set(mUserInfo.getHeaderImg());
}
@Override
public void uploadPic(String path) {
File file = new File(path);
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("fileUpload", file.getName(), requestFile);
mView.showDialog();
ApiFactory.uploadPhoto(body).subscribe(baseObserver(new Consumer<List<String>>() {
@Override
public void accept(List<String> list) throws Exception {
if (list != null && list.size() > 0) {
modifyHead(list.get(0));
} else {
mView.showToast("修改头像失败");
}
}
}));
}
@Override
public void modifyHead(String path) {
ApiFactory.modifyHead(mAccountId, path).subscribe(baseObserver(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
headUrl.set(path);
PictureFileUtils.deleteCacheDirFile(mActivity);
}
}));
}
}
...@@ -18,5 +18,8 @@ public interface PersonInfoContract { ...@@ -18,5 +18,8 @@ public interface PersonInfoContract {
public abstract void dumpToHeader(); public abstract void dumpToHeader();
public abstract void dumpToModifyPerson(); public abstract void dumpToModifyPerson();
public abstract void queryInfo(int accountId);
} }
} }
package com.dayu.bigfish.presenter.personinfo; package com.dayu.bigfish.presenter.personinfo;
import android.databinding.ObservableField;
import android.os.Bundle;
import com.app.annotation.apt.InstanceFactory; import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.bean.EngineerInfo;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.ui.ModifyPersonInfoActivity; import com.dayu.bigfish.ui.ModifyPersonInfoActivity;
import com.dayu.bigfish.ui.MyHeaderIvActivity; import com.dayu.bigfish.ui.MyHeaderIvActivity;
import com.dayu.bigfish.utils.managers.UserManager;
import io.reactivex.functions.Consumer;
/** /**
* Created by luofan on 2017/11/14. * Created by luofan on 2017/11/14.
*/ */
@InstanceFactory @InstanceFactory
public class PersonInfoPresenter extends PersonInfoContract.Presenter { public class PersonInfoPresenter extends PersonInfoContract.Presenter {
public ObservableField<EngineerInfo> info = new ObservableField<>();
private int mAccountId;
@Override @Override
public void onAttached() { public void onAttached() {
UserInfo info = UserManager.getInstance().getUser(mActivity);
mAccountId = Integer.parseInt(info.getAccountId());
mView.showDialog();
queryInfo(mAccountId);
} }
@Override @Override
public void dumpToHeader() { public void dumpToHeader() {
startActivity(MyHeaderIvActivity.class); startActivityForReult(MyHeaderIvActivity.class, 1);
} }
@Override @Override
public void dumpToModifyPerson() { public void dumpToModifyPerson() {
startActivity(ModifyPersonInfoActivity.class); Bundle bundle = new Bundle();
bundle.putSerializable(Constants.ENGINEERINFO, info.get());
startActivity(ModifyPersonInfoActivity.class, bundle);
}
@Override
public void queryInfo(int accountId) {
ApiFactory.getEngineerInfo(accountId).subscribe(baseObserver(new Consumer<EngineerInfo>() {
@Override
public void accept(EngineerInfo engineerInfo) throws Exception {
info.set(engineerInfo);
}
}));
} }
} }
...@@ -18,6 +18,7 @@ import com.dayu.bigfish.greendao.GreenDaoManager; ...@@ -18,6 +18,7 @@ import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.greendao.OrderInfoDao; import com.dayu.bigfish.greendao.OrderInfoDao;
import com.dayu.bigfish.ui.SopWebViewActivity; import com.dayu.bigfish.ui.SopWebViewActivity;
import com.dayu.bigfish.utils.managers.UserManager; import com.dayu.bigfish.utils.managers.UserManager;
import com.luck.picture.lib.tools.PictureFileUtils;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.greendao.query.Query; import org.greenrobot.greendao.query.Query;
...@@ -153,7 +154,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -153,7 +154,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
} }
EventBus.getDefault().post(new OrderState(status, mPosition)); EventBus.getDefault().post(new OrderState(status, mPosition));
mOrderInfoDao.deleteByKey((long) orderId); mOrderInfoDao.deleteByKey((long) orderId);
// PictureFileUtils.deleteCacheDirFile(mActivity); PictureFileUtils.deleteCacheDirFile(mActivity);
mActivity.finish(); mActivity.finish();
} }
})); }));
...@@ -183,7 +184,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter { ...@@ -183,7 +184,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
mAccountId, isPay, info.getDoorPrice(), info.getOtherInfo(), mAccountId, isPay, info.getDoorPrice(), info.getOtherInfo(),
info.getServerPrice(), info.getMaterialCost(), info.getOtherPrice()); info.getServerPrice(), info.getMaterialCost(), info.getOtherPrice());
mImages.clear(); mImages.clear();
// PictureFileUtils.deleteCacheDirFile(mActivity); PictureFileUtils.deleteCacheDirFile(mActivity);
} }
})); }));
} }
......
...@@ -22,7 +22,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, LoginBinding> im ...@@ -22,7 +22,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, LoginBinding> im
@Override @Override
public void initView() { public void initView() {
} }
@Override @Override
......
...@@ -2,12 +2,14 @@ package com.dayu.bigfish.ui; ...@@ -2,12 +2,14 @@ package com.dayu.bigfish.ui;
import android.content.Intent; import android.content.Intent;
import android.os.Environment; import android.os.Environment;
import android.view.View; import android.text.TextUtils;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity; import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.databinding.ActivityModifyPersonActivityBinding; import com.dayu.bigfish.databinding.ActivityModifyPersonActivityBinding;
import com.dayu.bigfish.utils.GlideImageLoader; import com.dayu.bigfish.presenter.modifyperson.ModifyPersonPresenter;
import com.dayu.bigfish.presenter.modifyperson.ModifyPersonContract;
import com.dayu.bigfish.ui.views.CustomDialog;
import com.dayu.bigfish.utils.ToastUtils; import com.dayu.bigfish.utils.ToastUtils;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
...@@ -16,15 +18,13 @@ import com.luck.picture.lib.config.PictureMimeType; ...@@ -16,15 +18,13 @@ import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
import java.io.File; import java.io.File;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Created by luofan on 2017/12/25. * Created by luofan on 2017/12/25.
*/ */
public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModifyPersonActivityBinding> { public class ModifyPersonInfoActivity extends BaseActivity<ModifyPersonPresenter, ActivityModifyPersonActivityBinding> implements ModifyPersonContract.View {
private List<LocalMedia> mSelectList;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -33,18 +33,12 @@ public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModify ...@@ -33,18 +33,12 @@ public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModify
@Override @Override
public void initView() { public void initView() {
mSelectList = new ArrayList<>();
mBind.ivAdd.setOnClickListener(v -> showPicDialog());
mBind.titleBack.setOnClickListener(v -> finish());
mBind.ivDelete.setOnClickListener(v -> {
mBind.rlHeader.setVisibility(View.GONE);
mBind.tvPicNum.setText(getString(R.string.commite_pic_zero));
mSelectList.clear();
});
} }
@Override
public void showPicDialog() { public void showPicDialog() {
if (mSelectList.size() == 1) { if (!TextUtils.isEmpty(mPresenter.mIdentityUrl.get())) {
ToastUtils.showShortToast(R.string.one_pic_most); ToastUtils.showShortToast(R.string.one_pic_most);
return; return;
} }
...@@ -71,6 +65,31 @@ public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModify ...@@ -71,6 +65,31 @@ public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModify
selector.forResult(PictureConfig.CHOOSE_REQUEST); selector.forResult(PictureConfig.CHOOSE_REQUEST);
} }
@Override
public void showTip() {
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.audite_tip)
, (dialog, confirm) -> {
if (confirm) {
finish();
}
dialog.dismiss();
});
customDialog.setTitle(getString(R.string.audite_tip_title))
.setPositiveButton(getString(R.string.iknown))
.setOneButton(true);
customDialog.show();
}
@Override
public void showSubmiteDialog(CustomDialog.OnCloseListener listener) {
CustomDialog customDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.audite_tip_submite)
, listener);
customDialog.setTitle(getString(R.string.audite_tip_submite_title))
.setNegativeButton(getString(R.string.think_again))
.setPositiveButton(getString(R.string.comfirm));
customDialog.show();
}
private String getPath() { private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/"; String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
File file = new File(path); File file = new File(path);
...@@ -86,12 +105,10 @@ public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModify ...@@ -86,12 +105,10 @@ public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModify
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
switch (requestCode) { switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST: case PictureConfig.CHOOSE_REQUEST:
mSelectList = PictureSelector.obtainMultipleResult(data); List<LocalMedia> list = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) { if (list != null) {
for (int a = 0; a < mSelectList.size(); a++) { for (int a = 0; a < list.size(); a++) {
GlideImageLoader.load(mActivity, mSelectList.get(a).getCompressPath(), mBind.ivHeader); mPresenter.mIdentityUrl.set(list.get(a).getCutPath());
mBind.rlHeader.setVisibility(View.VISIBLE);
mBind.tvPicNum.setText(getString(R.string.commite_pic_one));
} }
} }
break; break;
......
...@@ -3,10 +3,12 @@ package com.dayu.bigfish.ui; ...@@ -3,10 +3,12 @@ package com.dayu.bigfish.ui;
import android.content.Intent; import android.content.Intent;
import android.os.Environment; import android.os.Environment;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity; import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.databinding.MyHeaderActivityBinding; import com.dayu.bigfish.databinding.MyHeaderActivityBinding;
import com.dayu.bigfish.utils.GlideImageLoader; import com.dayu.bigfish.presenter.myhead.MyHeadContract;
import com.dayu.bigfish.presenter.myhead.MyHeadPresenter;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
...@@ -21,7 +23,7 @@ import java.util.List; ...@@ -21,7 +23,7 @@ import java.util.List;
* Created by luofan on 2017/12/25. * Created by luofan on 2017/12/25.
*/ */
public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBinding> { public class MyHeaderIvActivity extends BaseActivity<MyHeadPresenter, MyHeaderActivityBinding> implements MyHeadContract.View {
private List<LocalMedia> mSelectList; private List<LocalMedia> mSelectList;
...@@ -34,7 +36,7 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind ...@@ -34,7 +36,7 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind
public void initView() { public void initView() {
mSelectList = new ArrayList<>(); mSelectList = new ArrayList<>();
mBind.tvRightTitle.setOnClickListener(v -> showPicDialog()); mBind.tvRightTitle.setOnClickListener(v -> showPicDialog());
mBind.titleBack.setOnClickListener(v -> finish()); mBind.titleBack.setOnClickListener(v -> dumpBack());
} }
public void showPicDialog() { public void showPicDialog() {
...@@ -53,7 +55,7 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind ...@@ -53,7 +55,7 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
.compressSavePath(getPath())//压缩图片保存地址 .compressSavePath(getPath())//压缩图片保存地址
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩 .minimumCompressSize(100)// 小于100kb的图片不压缩
.synOrAsy(true)//同步true或异步false 压缩 默认同步、 .synOrAsy(true)//同步true或异步false 压缩 默认同步、
.enableCrop(true)//是否裁剪 .enableCrop(true)//是否裁剪
.withAspectRatio(1, 1) .withAspectRatio(1, 1)
...@@ -71,6 +73,18 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind ...@@ -71,6 +73,18 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind
} }
@Override @Override
public void onBackPressed() {
dumpBack();
}
public void dumpBack() {
Intent intent = new Intent();
intent.putExtra(Constants.PICURL, mPresenter.headUrl.get());
setResult(1, intent);
finish();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
...@@ -79,7 +93,7 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind ...@@ -79,7 +93,7 @@ public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBind
mSelectList = PictureSelector.obtainMultipleResult(data); mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) { if (mSelectList != null) {
for (int a = 0; a < mSelectList.size(); a++) { for (int a = 0; a < mSelectList.size(); a++) {
GlideImageLoader.load(mActivity, mSelectList.get(a).getCompressPath(), mBind.ivHeader); mPresenter.uploadPic(mSelectList.get(a).getCutPath());
} }
} }
break; break;
......
package com.dayu.bigfish.ui; package com.dayu.bigfish.ui;
import android.content.Intent;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity; import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.databinding.ActivityPersonInfoBinding; import com.dayu.bigfish.databinding.ActivityPersonInfoBinding;
import com.dayu.bigfish.presenter.personinfo.PersonInfoContract; import com.dayu.bigfish.presenter.personinfo.PersonInfoContract;
import com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter; import com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter;
public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, ActivityPersonInfoBinding> implements PersonInfoContract.View{ public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, ActivityPersonInfoBinding> implements PersonInfoContract.View {
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -17,4 +20,13 @@ public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, Activi ...@@ -17,4 +20,13 @@ public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, Activi
public void initView() { public void initView() {
} }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && data != null) {
String url = data.getStringExtra(Constants.PICURL);
mPresenter.info.get().setAccountUrl(url);
}
}
} }
...@@ -82,6 +82,11 @@ public class HomePersonFragment extends BaseFragment<HomePersonPresenter, Fragme ...@@ -82,6 +82,11 @@ public class HomePersonFragment extends BaseFragment<HomePersonPresenter, Fragme
} else { } else {
mBind.tvSex.setText(mActivity.getString(R.string.unknown)); mBind.tvSex.setText(mActivity.getString(R.string.unknown));
} }
if (info.getAduitStatus() == 1) {
mBind.ivAudited.setBackgroundResource(R.mipmap.icon_authentication);
} else {
mBind.ivAudited.setBackgroundResource(R.mipmap.icon_authentication);
}
mBind.tvAge.setText(info.getAge() + mActivity.getString(R.string.age)); mBind.tvAge.setText(info.getAge() + mActivity.getString(R.string.age));
mUserPhone = info.getMobile(); mUserPhone = info.getMobile();
mBind.tvPhone.setText(mUserPhone); mBind.tvPhone.setText(mUserPhone);
......
...@@ -13,8 +13,7 @@ import com.dayu.bigfish.R; ...@@ -13,8 +13,7 @@ import com.dayu.bigfish.R;
* Created by luofan on 2017/11/10. * Created by luofan on 2017/11/10.
*/ */
public class public class CustomDialog extends Dialog implements View.OnClickListener {
CustomDialog extends Dialog implements View.OnClickListener {
private TextView contentTxt; private TextView contentTxt;
private TextView titleTxt; private TextView titleTxt;
private TextView submitTxt; private TextView submitTxt;
...@@ -27,6 +26,7 @@ CustomDialog extends Dialog implements View.OnClickListener { ...@@ -27,6 +26,7 @@ CustomDialog extends Dialog implements View.OnClickListener {
private String negativeName; private String negativeName;
private String title; private String title;
private boolean flag; private boolean flag;
private View line;
public CustomDialog(Context context) { public CustomDialog(Context context) {
super(context); super(context);
...@@ -83,6 +83,7 @@ CustomDialog extends Dialog implements View.OnClickListener { ...@@ -83,6 +83,7 @@ CustomDialog extends Dialog implements View.OnClickListener {
private void initView() { private void initView() {
contentTxt = (TextView) findViewById(R.id.content); contentTxt = (TextView) findViewById(R.id.content);
titleTxt = (TextView) findViewById(R.id.title); titleTxt = (TextView) findViewById(R.id.title);
line = findViewById(R.id.v_line);
submitTxt = (TextView) findViewById(R.id.submit); submitTxt = (TextView) findViewById(R.id.submit);
submitTxt.setOnClickListener(this); submitTxt.setOnClickListener(this);
cancelTxt = (TextView) findViewById(R.id.cancel); cancelTxt = (TextView) findViewById(R.id.cancel);
...@@ -101,6 +102,7 @@ CustomDialog extends Dialog implements View.OnClickListener { ...@@ -101,6 +102,7 @@ CustomDialog extends Dialog implements View.OnClickListener {
titleTxt.setText(title); titleTxt.setText(title);
} }
if (flag) { if (flag) {
line.setVisibility(View.GONE);
cancelTxt.setVisibility(View.GONE); cancelTxt.setVisibility(View.GONE);
} }
......
...@@ -61,7 +61,8 @@ public class UserManager { ...@@ -61,7 +61,8 @@ public class UserManager {
if (userInfo != null) { if (userInfo != null) {
//有数据 //有数据
if ((!TextUtils.isEmpty(userInfo.getAccountId())) && (!TextUtils.isEmpty(userInfo.getSiteId())) if ((!TextUtils.isEmpty(userInfo.getAccountId())) && (!TextUtils.isEmpty(userInfo.getSiteId()))
&& (!TextUtils.isEmpty(userInfo.getHxAccount()) && (!TextUtils.isEmpty(userInfo.getHxPwd())))) { && (!TextUtils.isEmpty(userInfo.getHxAccount()) && (!TextUtils.isEmpty(userInfo.getHxPwd()))
&& userInfo.getStatus() == 1)) {
return true; return true;
} else { } else {
return false; return false;
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:bottomLeftRadius="@dimen/dp_8"
android:bottomRightRadius="@dimen/dp_8" />
<solid android:color="#f0f0f0" />
</shape>
\ No newline at end of file
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
<data> <data>
<variable
name="presenter"
type="com.dayu.bigfish.presenter.modifyperson.ModifyPersonPresenter" />
<import type="android.view.View" />
</data> </data>
<LinearLayout <LinearLayout
...@@ -28,11 +33,13 @@ ...@@ -28,11 +33,13 @@
<ImageView <ImageView
android:id="@+id/title_back" android:id="@+id/title_back"
style="@style/title_image_back" /> style="@style/title_image_back"
android:onClick="@{()->presenter.dumpBack()}" />
<TextView <TextView
android:id="@+id/tv_right_title" android:id="@+id/tv_right_title"
style="@style/title_right_text" style="@style/title_right_text"
android:onClick="@{()->presenter.showSubmiteDialog()}"
android:text="@string/submission_of_audit" android:text="@string/submission_of_audit"
android:textColor="#FF4BAFFD" android:textColor="#FF4BAFFD"
android:textSize="15sp" /> android:textSize="15sp" />
...@@ -61,11 +68,12 @@ ...@@ -61,11 +68,12 @@
<EditText <EditText
android:id="@+id/tv_name" android:id="@+id/tv_name"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="35dp" android:layout_marginLeft="35dp"
android:background="@null" android:background="@null"
android:hint="请输入真实姓名" android:hint="请输入真实姓名"
android:text="@={presenter.realName}"
android:textSize="15sp" /> android:textSize="15sp" />
</LinearLayout> </LinearLayout>
...@@ -92,11 +100,12 @@ ...@@ -92,11 +100,12 @@
<EditText <EditText
android:id="@+id/tv_identity_num" android:id="@+id/tv_identity_num"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="35dp" android:layout_marginLeft="35dp"
android:background="@null" android:background="@null"
android:hint="请输入证件号" android:hint="请输入证件号"
android:text="@={presenter.identity}"
android:textSize="15sp" /> android:textSize="15sp" />
</LinearLayout> </LinearLayout>
...@@ -120,7 +129,7 @@ ...@@ -120,7 +129,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="15dp" android:layout_marginRight="15dp"
android:text="@string/commite_pic_zero" android:text='@{presenter.mIdentityUrl==""?@string/commite_pic_zero:@string/commite_pic_one}'
android:textSize="15sp" /> android:textSize="15sp" />
</LinearLayout> </LinearLayout>
...@@ -141,10 +150,11 @@ ...@@ -141,10 +150,11 @@
android:layout_width="100dp" android:layout_width="100dp"
android:layout_height="100dp" android:layout_height="100dp"
android:layout_marginLeft="15dp" android:layout_marginLeft="15dp"
android:visibility="gone"> android:visibility='@{presenter.mIdentityUrl==""?View.GONE:View.VISIBLE}'>
<ImageView <ImageView
android:id="@+id/iv_header" android:id="@+id/iv_header"
imageUrl="@{presenter.mIdentityUrl}"
android:layout_width="100dp" android:layout_width="100dp"
android:layout_height="100dp" /> android:layout_height="100dp" />
...@@ -154,6 +164,7 @@ ...@@ -154,6 +164,7 @@
android:layout_width="18dp" android:layout_width="18dp"
android:layout_height="18dp" android:layout_height="18dp"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:onClick="@{()->presenter.deletePic()}"
android:src="@mipmap/img_photo_delete" /> android:src="@mipmap/img_photo_delete" />
</RelativeLayout> </RelativeLayout>
...@@ -163,6 +174,7 @@ ...@@ -163,6 +174,7 @@
android:layout_width="100dp" android:layout_width="100dp"
android:layout_height="100dp" android:layout_height="100dp"
android:layout_marginLeft="15dp" android:layout_marginLeft="15dp"
android:onClick="@{()->presenter.showPicDialog()}"
android:src="@mipmap/icon_identity_default" /> android:src="@mipmap/icon_identity_default" />
</LinearLayout> </LinearLayout>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<variable <variable
name="presenter" name="presenter"
type="com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter" /> type="com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter" />
</data> </data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
...@@ -33,8 +34,7 @@ ...@@ -33,8 +34,7 @@
<ImageView <ImageView
android:id="@+id/title_back" android:id="@+id/title_back"
style="@style/title_image_back" style="@style/title_image_back"
android:onClick="@{()->presenter.dumpBack()}" android:onClick="@{()->presenter.dumpBack()}" />
/>
<ImageView <ImageView
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
<com.dayu.bigfish.ui.views.CircleImageView <com.dayu.bigfish.ui.views.CircleImageView
android:id="@+id/cv_header" android:id="@+id/cv_header"
imageUrl="@{presenter.info.accountUrl}"
android:layout_width="50dp" android:layout_width="50dp"
android:layout_height="50dp" android:layout_height="50dp"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
...@@ -105,7 +106,7 @@ ...@@ -105,7 +106,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_15" android:layout_marginRight="@dimen/dp_15"
android:text="13567810832" android:text="@{presenter.info.mobile}"
android:textSize="15sp" /> android:textSize="15sp" />
</LinearLayout> </LinearLayout>
...@@ -130,7 +131,7 @@ ...@@ -130,7 +131,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:text="" android:text="@{presenter.info.realName}"
android:textSize="15sp" /> android:textSize="15sp" />
<ImageView <ImageView
...@@ -167,7 +168,7 @@ ...@@ -167,7 +168,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:text="手机号" android:text="@{presenter.info.identity}"
android:textSize="15sp" /> android:textSize="15sp" />
<ImageView <ImageView
...@@ -201,6 +202,7 @@ ...@@ -201,6 +202,7 @@
<ImageView <ImageView
android:id="@+id/cv_identity" android:id="@+id/cv_identity"
imageUrl="@{presenter.info.identityUrl}"
android:layout_width="50dp" android:layout_width="50dp"
android:layout_height="50dp" android:layout_height="50dp"
android:layout_marginRight="@dimen/dp_10" android:layout_marginRight="@dimen/dp_10"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp" android:layout_width="280dp"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:background="@drawable/item_shape" android:background="@drawable/item_shape"
android:layout_gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:padding="12dp" android:padding="20dp"
android:text="@string/notice" android:text="@string/notice"
android:textColor="#3a3a3a" android:textColor="#FF030303"
android:textSize="16sp" android:textSize="17sp" />
/>
<TextView <TextView
android:id="@+id/content" android:id="@+id/content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginBottom="30dp" android:layout_marginBottom="20dp"
android:layout_marginLeft="20dp" android:layout_marginLeft="20dp"
android:layout_marginRight="20dp" android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:gravity="center" android:gravity="center"
android:lineSpacingExtra="3dp" android:lineSpacingExtra="3dp"
android:textColor="#3a3a3a" android:textColor="#FF030303"
android:textSize="12sp" android:textSize="13sp" />
/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/cl_selector_hui" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -42,23 +45,26 @@ ...@@ -42,23 +45,26 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1.0" android:layout_weight="1.0"
android:background="@drawable/btn_grey_react"
android:gravity="center" android:gravity="center"
android:textColor="#8a8a8a" android:text="@string/cancle"
android:textSize="12sp" android:textColor="@color/cl_receiving_order_item_data"
/> android:textSize="17sp" />
<View
android:id="@+id/v_line"
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/cl_selector_hui" />
<TextView <TextView
android:id="@+id/submit" android:id="@+id/submit"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1.0" android:layout_weight="1.0"
android:background="@drawable/btn_blue_dialog_react"
android:gravity="center" android:gravity="center"
android:textColor="#ffffff" android:text="@string/comfirm"
android:textSize="12sp" android:textColor="@color/cl_receiving_order_item_data"
/> android:textSize="17sp" />
</LinearLayout> </LinearLayout>
......
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
android:textStyle="bold" /> android:textStyle="bold" />
<ImageView <ImageView
android:id="@+id/iv_audited"
android:layout_width="41dp" android:layout_width="41dp"
android:layout_height="14dp" android:layout_height="14dp"
android:layout_below="@id/iv_header" android:layout_below="@id/iv_header"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout> <layout>
<data>
<import type="android.text.TextUtils" />
<import type="android.view.View" />
<variable
name="presenter"
type="com.dayu.bigfish.presenter.myhead.MyHeadPresenter" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
...@@ -23,7 +34,8 @@ ...@@ -23,7 +34,8 @@
<ImageView <ImageView
android:id="@+id/title_back" android:id="@+id/title_back"
style="@style/title_image_back" /> style="@style/title_image_back"
/>
<TextView <TextView
android:id="@+id/tv_right_title" android:id="@+id/tv_right_title"
...@@ -42,8 +54,38 @@ ...@@ -42,8 +54,38 @@
<ImageView <ImageView
android:id="@+id/iv_header" android:id="@+id/iv_header"
imageUrl="@{presenter.headUrl}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="375dp" android:layout_height="375dp"
android:layout_marginTop="50dp" /> android:layout_marginTop="50dp"
android:visibility="@{TextUtils.isEmpty(presenter.headUrl)?View.GONE:View.VISIBLE}" />
<LinearLayout
android:id="@+id/ll_emptyview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="@{TextUtils.isEmpty(presenter.headUrl)?View.VISIBLE:View.GONE}">
<ImageView
android:id="@+id/iv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@mipmap/yu" />
<TextView
android:id="@+id/tv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_empty"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_13"
android:text="暂无头像"
android:textColor="@color/cl_selector_hui"
android:textSize="@dimen/sp_13.3" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<dimen name="sp_12">12sp</dimen> <dimen name="sp_12">12sp</dimen>
<dimen name="size_order_item_data_text">24sp</dimen> <dimen name="size_order_item_data_text">24sp</dimen>
<dimen name="size_login_button_text">15sp</dimen> <dimen name="size_login_button_text">15sp</dimen>
<dimen name="size_main_title">80dp</dimen> <dimen name="size_main_title">70dp</dimen>
<dimen name="size_title_ml">13.3dp</dimen> <dimen name="size_title_ml">13.3dp</dimen>
<dimen name="size_login_mlcircleimageview_width">80dp</dimen> <dimen name="size_login_mlcircleimageview_width">80dp</dimen>
<dimen name="size_login_mlcircleimageview_height">80dp</dimen> <dimen name="size_login_mlcircleimageview_height">80dp</dimen>
......
...@@ -123,9 +123,11 @@ ...@@ -123,9 +123,11 @@
<string name="no_permission">没有此权限将无法使用本app,请在设置中打开权限!</string> <string name="no_permission">没有此权限将无法使用本app,请在设置中打开权限!</string>
<string name="login_state_no">登录状态已失效,请重新登录!</string> <string name="login_state_no">登录状态已失效,请重新登录!</string>
<string name="login_again">重新登录</string> <string name="login_again">重新登录</string>
<string name="submit_again">重新提交</string>
<string name="please_open__permission">没有此权限将无法使用此app,请允许权限打开。</string> <string name="please_open__permission">没有此权限将无法使用此app,请允许权限打开。</string>
<string name="cancle">取消</string> <string name="cancle">取消</string>
<string name="go_setting">前往设置</string> <string name="go_setting">前往设置</string>
<string name="iknown">我知道了</string>
<string name="login_agreement">登录即表示同意此</string> <string name="login_agreement">登录即表示同意此</string>
<string name="title_agreement">用户协议</string> <string name="title_agreement">用户协议</string>
<string name="agreement_detail">《用户协议》</string> <string name="agreement_detail">《用户协议》</string>
...@@ -273,6 +275,9 @@ ...@@ -273,6 +275,9 @@
<string name="one_pic_most">最多只能选择一张照片</string> <string name="one_pic_most">最多只能选择一张照片</string>
<string name="reminder">温馨提示</string> <string name="reminder">温馨提示</string>
<string name="reminder_content">"·请上传真实清晰完整的手持身份证照片·若认证失败,可修改认证信息后再次提交"</string> <string name="reminder_content">"·请上传真实清晰完整的手持身份证照片·若认证失败,可修改认证信息后再次提交"</string>
<string name="name_not_empty">真实姓名不能为空</string>
<string name="identity_not_empty">身份证号不能为空</string>
<string name="identityurl_not_empty">身份证照片不能为空</string>
<!--error--> <!--error-->
...@@ -286,8 +291,21 @@ ...@@ -286,8 +291,21 @@
<string name="error_connect_time">连接超时</string> <string name="error_connect_time">连接超时</string>
<string name="error_unknow">未知错误</string> <string name="error_unknow">未知错误</string>
<string name="engineer_identity_auditing">您的身份认证正在审核中,请耐心等待</string>
<string name="engineer_identity_not_audite">您的身份认证审核未通过,请重新修改再次提交</string>
<string name="engineer_not_have_site">您目前没有工作站,加入工作站之后才能接单</string>
<string name="audite_tip">资料已经提交审核\n审核结果会通过短信通知您</string>
<string name="audite_tip_title">提交成功</string>
<string name="audite_tip_submite_title">重新提交</string>
<string name="audite_tip_submite">修改资料需要大鱼客服重新审核\n您确定要修改吗?</string>
<string name="think_again">我再想想</string>
<string name="identity_not_audite">审核未通过</string>
<string name="engineer_acount_notavialibe">工程师账号不存在</string>
<string name="user_on_blackilst">用户被列入黑名单</string>
<string name="not_engineer">该账号尚不是工程师</string> <string name="not_engineer">该账号尚不是工程师</string>
<string name="account_frozen">该账号冻结</string> <string name="account_frozen">该账号冻结</string>
<string name="sms_code_error">验证码错误</string>
<string name="sms_code_unsend_or_expire">验证码未发送或已过期</string>
<string name="order_cancle_not_receive">工单已取消,无法接单</string> <string name="order_cancle_not_receive">工单已取消,无法接单</string>
<string name="order_cancle_not_subcribe">工单已取消,无法预约时间</string> <string name="order_cancle_not_subcribe">工单已取消,无法预约时间</string>
<string name="order_cancle_not_begin">工单已取消,不能上门了</string> <string name="order_cancle_not_begin">工单已取消,不能上门了</string>
......
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