Commit b04401aa by mReturn

user & sale

parent 81df450b
Showing with 1746 additions and 210 deletions
......@@ -4,6 +4,7 @@ import android.net.ParseException;
import com.dayu.baselibrary.R;
import com.dayu.common.BaseApplication;
import com.dayu.utils.LogUtils;
import com.google.gson.JsonParseException;
import org.apache.http.conn.ConnectTimeoutException;
......@@ -31,6 +32,7 @@ public class APIException {
public static final int GATEWAY_TIMEOUT = 504;
public static ResponeThrowable APIException(Throwable e) {
LogUtils.e("request_error e: "+e.toString());
ResponeThrowable ex;
if (e instanceof HttpException) {
HttpException httpException = (HttpException) e;
......
......@@ -10,6 +10,7 @@ import com.dayu.baselibrary.R;
import com.dayu.common.BaseConstant;
import com.dayu.common.BaseView;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.utils.AppManager;
import com.dayu.utils.ProgressUtil;
import com.dayu.utils.TUtil;
......@@ -29,6 +30,7 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
implements BaseView {
public P mPresenter;
private boolean isDialogShow = false;
protected int mUserId;
@Override
protected void initPresenter() {
......@@ -157,4 +159,9 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
mDialog.show();
isDialogShow = true;
}
protected void initUser(){
UserInfo info = UserManager.getInstance().getUser();
mUserId = Integer.parseInt(info.getAccountId());
}
}
......@@ -97,7 +97,7 @@ public abstract class BasePresenter<V> {
@Override
public void onError(Throwable e) {
Log.d("reguest+error", e.toString());
Log.d("reguest_error", e.toString());
APIException.ResponeThrowable exception = processException(e);
ProgressUtil.stopLoad();
try {
......
......@@ -9,6 +9,21 @@ import com.dayu.utils.LogUtils;
*/
public class Constants {
public static final String API_7100 = "/api-user";
public static final String API_7200 = "/api-order";
public static final String API_7300 = "/api-base";
public static final String API_7400 = "/api-message";
public static final String API_7500 = "/api-count";
public static final String API_7600 = "/api-ka-user";
public static final String API_7700 = "/api-ka-order";
public static final String API_7800 = "/api-settlement";
public static final String API_7900 = "/api-ka-base";
public static final String API_8100 = "/api-ka-bid";
public static final String API_8200 = "/api-ka-accredit";
public static final String API_8400 = "/api-permission";
public static final String API_8500 = "/api-contract";
public static final String API_8600 = "/api-mall";
/**
* 测试环境配置.
*/
......@@ -234,4 +249,7 @@ public class Constants {
public static final int BYMYSELF = 1;
public static final int BY_MODIFY_PART = 2;
}
......@@ -877,8 +877,11 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="user_id_num">身份证号:</string>
<string name="user_bank_info">银行账户信息</string>
<string name="user_bank_name">开户银行:</string>
<string name="user_bank_name_hint">请输入开户银行</string>
<string name="user_bank_account">银行账号:</string>
<string name="user_bank_account_hint">请输入银行账号</string>
<string name="user_bank_holer">开户人姓名:</string>
<string name="user_bank_holer_hint">请输入开户人姓名</string>
<string name="user_addr_info">快递地址信息</string>
<string name="user_receiver_addr">收件地址:</string>
<string name="user_receiver_name">收件人姓名:</string>
......@@ -916,6 +919,11 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="record_country_ranking">全国业绩排名:</string>
<string name="success_service_orders">成功服务工单数:</string>
<string name="success_service_income">获得服务收入:</string>
<string name="submit_success">提交成功</string>
<string name="submit_fail">提交失败</string>
<string name="save_str">保存</string>
<string name="save_success">保存成功</string>
<string name="save_fail">保存失败</string>
</resources>
......@@ -53,6 +53,44 @@
<item name="android:layout_marginRight">@dimen/dp_20</item>
</style>
<style name="ll_user_edit">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">50dp</item>
<item name="android:paddingLeft">@dimen/dp_10</item>
<item name="android:paddingRight">@dimen/dp_10</item>
<item name="android:orientation">horizontal</item>
<item name="android:background">@color/cl_white</item>
</style>
<style name="tv_user_edit" parent="sale_item_text">
<item name="android:textSize">16sp</item>
</style>
<style name="edt_user_edit">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:paddingLeft">@dimen/dp_15</item>
<item name="android:background">@color/transparent</item>
<item name="android:textColor">@color/default_text_color</item>
<item name="android:textSize">14sp</item>
<item name="android:maxLines">1</item>
</style>
<style name="btn_bottom_common">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">45dp</item>
<item name="android:background">@drawable/tab_blue_react</item>
<item name="android:textColor">@color/white</item>
<item name="android:gravity">center</item>
<item name="android:textSize">16sp</item>
</style>
<style name="title">
<item name="android:layout_width">match_parent</item>
......
......@@ -2,14 +2,18 @@ package com.bigfish.salecenter.adapter;
import com.bigfish.salecenter.R;
import com.bigfish.salecenter.databinding.ItemSaleProductBinding;
import com.bigfish.salecenter.event.CollectChangedEvent;
import com.bigfish.salecenter.model.CollectProductData;
import com.bigfish.salecenter.model.ProductListBean;
import com.bigfish.salecenter.presenter.saleproduct.SaleProductPresent;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.LogUtils;
import com.dayu.utils.ToastUtils;
import org.greenrobot.eventbus.EventBus;
/**
* Created by mReturn
* on 2020/2/13
......@@ -28,10 +32,15 @@ public class SaleProductAdapter extends CoreAdapter<ProductListBean,ItemSaleProd
GlideImageLoader.load(mContext, holder.ivImg, item.getFirstUrl(),R.drawable.icon_img_default);
holder.tvSinglePrice.setText(CommonUtils.getMoneyStr(mContext,item.getPrice()));
holder.tvCommision.setText(CommonUtils.getMoneyStr(mContext,item.getSalesPrice()));
if (item.getCollectionStatus() == 1){
holder.btnCollect.setText(R.string.un_collect);
}else {
holder.btnCollect.setText(R.string.special_collect);
}
holder.btnCollect.setOnClickListener(v -> {
mPresenter.onCollectClick(item).subscribe(mPresenter.baseObserver(
success->{
ToastUtils.showShortToast("collect: " +success);
EventBus.getDefault().post(new CollectChangedEvent(mPresenter.type,item));
}
));
});
......
......@@ -19,7 +19,7 @@ import retrofit2.http.Query;
* on 2020/2/21
**/
public interface SaleService {
String kaApi= "api-ka-base";
String kaApi= "/api-ka-base";
/**
* 商品列表
......
package com.bigfish.salecenter.event;
import com.bigfish.salecenter.model.ProductListBean;
/**
* 商品列表收藏状态改变
*/
public class CollectChangedEvent {
public int type;
public ProductListBean item;
public CollectChangedEvent(int type, ProductListBean item) {
this.type = type;
this.item = item;
}
}
......@@ -63,7 +63,7 @@ public class ProductListBean implements Serializable {
private String modified;
private Object modifyTime;
private int status;
private Object collectionStatus;
private int collectionStatus;
private Object engineerId;
private Object key;
private Object orderBy;
......@@ -260,11 +260,11 @@ public class ProductListBean implements Serializable {
this.status = status;
}
public Object getCollectionStatus() {
public int getCollectionStatus() {
return collectionStatus;
}
public void setCollectionStatus(Object collectionStatus) {
public void setCollectionStatus(int collectionStatus) {
this.collectionStatus = collectionStatus;
}
......
......@@ -20,7 +20,7 @@ import io.reactivex.Observable;
public class SaleProductPresent extends SaleProductContract.Presenter {
private int mPage;
private int mUserId;
private int type; //1.商品 2.收藏
public int type; //1.商品 2.收藏
private ObservableField<Object> datas = new ObservableField<>();
@Override
......@@ -48,10 +48,9 @@ public class SaleProductPresent extends SaleProductContract.Presenter {
getCollections();
}
//test data
}
//商品列表
private void getProducts() {
Api.getService(SaleService.class).getProducts(mUserId, mPage, Constants.PAGESIZE).compose(Api.applySchedulers())
......@@ -78,13 +77,18 @@ public class SaleProductPresent extends SaleProductContract.Presenter {
//点击收藏按钮
public Observable<Boolean> onCollectClick(ProductListBean item) {
CollectProductData data = new CollectProductData(1, "", mUserId, item.getId(), item.getId());
return Api.getService(SaleService.class).collectProdcut(data).compose(Api.applySchedulers());
// return Api.getService(SaleService.class).unCollectProdcut(item.getId(), mUserId).compose(Api.applySchedulers());
mView.showDialog();
if (item.getCollectionStatus() == 1) {
return Api.getService(SaleService.class).unCollectProdcut(item.getId(), mUserId).compose(Api.applySchedulers());
} else {
CollectProductData data = new CollectProductData(1, "", mUserId, item.getId(), item.getId());
return Api.getService(SaleService.class).collectProdcut(data).compose(Api.applySchedulers());
}
}
//点击分享按钮
public void onShareClick(ProductListBean item) {
mView.showDialog();
Api.getService(SaleService.class).canShare(item.getId(), mUserId).compose(Api.applySchedulers())
.subscribe(baseObserver(success -> {
ToastUtils.showShortToast("canShare: " + success);
......
......@@ -8,13 +8,18 @@ import com.bigfish.salecenter.R;
import com.bigfish.salecenter.adapter.SaleProductAdapter;
import com.bigfish.salecenter.databinding.FragmentCommonSaleBinding;
import com.bigfish.salecenter.databinding.ItemSaleProductBinding;
import com.bigfish.salecenter.event.CollectChangedEvent;
import com.bigfish.salecenter.model.ProductListBean;
import com.bigfish.salecenter.presenter.saleproduct.SaleProductContract;
import com.bigfish.salecenter.presenter.saleproduct.SaleProductPresent;
import com.bigfish.salecenter.ui.activity.ProductDetailActivity;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.utils.ToastUtils;
import com.dayu.widgets.listener.OnItemClickListener;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
......@@ -22,14 +27,15 @@ import java.util.List;
* Created by mReturn
* on 2020/2/12
**/
public class SaleProductFragment extends BaseFragment<SaleProductPresent,FragmentCommonSaleBinding> {
public class SaleProductFragment extends BaseFragment<SaleProductPresent, FragmentCommonSaleBinding> implements
SaleProductContract.View {
private int type; //1.商品 2.收藏
SaleProductAdapter mAdapter;
public static SaleProductFragment newInstance(int type) {
Bundle args = new Bundle();
args.putInt("type",type);
args.putInt("type", type);
SaleProductFragment fragment = new SaleProductFragment();
fragment.setArguments(args);
return fragment;
......@@ -49,10 +55,11 @@ public class SaleProductFragment extends BaseFragment<SaleProductPresent,Fragmen
@Override
public void initView() {
EventBus.getDefault().register(this);
Bundle bundle = getArguments();
type = bundle.getInt("type");
mPresenter.setType(type);
mBind.edtSeacher.setHint(mActivity.getString(R.string.input_sale_product)+type);
mBind.edtSeacher.setHint(mActivity.getString(R.string.input_sale_product) + type);
mAdapter = new SaleProductAdapter(true);
mAdapter.setViewType(R.layout.item_sale_product);
......@@ -68,8 +75,8 @@ public class SaleProductFragment extends BaseFragment<SaleProductPresent,Fragmen
}
private void toDetail(ProductListBean item) {
Intent intent = new Intent(mActivity,ProductDetailActivity.class);
intent.putExtra("id",item.getId());
Intent intent = new Intent(mActivity, ProductDetailActivity.class);
intent.putExtra("id", item.getId());
mActivity.startActivity(intent);
}
......@@ -77,4 +84,49 @@ public class SaleProductFragment extends BaseFragment<SaleProductPresent,Fragmen
public int getLayoutId() {
return R.layout.fragment_common_sale;
}
@Subscribe
public void onCollectChange(CollectChangedEvent event) {
if (type == 1) {
updateCollectStatus(event);
} else {
if (event.type == 1) {
mPresenter.refresh();
} else {
updateCollectData(event);
}
}
}
//更新商品目录收藏状态
private void updateCollectStatus(CollectChangedEvent event) {
for (int i = 0; i < mAdapter.getDatas().size(); i++) {
ProductListBean data = mAdapter.getDatas().get(i);
if (data.getId() == event.item.getId()) {
if (event.item.getCollectionStatus() == 1) {
data.setCollectionStatus(0);
} else {
data.setCollectionStatus(1);
}
mAdapter.notifyDataSetChanged();
}
}
}
//更新重点收藏数据
private void updateCollectData(CollectChangedEvent event) {
if (event.item.getCollectionStatus() == 1 && mAdapter.getDatas().contains(event.item)) {
mAdapter.getDatas().remove(event.item);
} else {
mAdapter.getDatas().add(0, event.item);
}
mAdapter.notifyDataSetChanged();
}
@Override
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}
package com.dayu.usercenter.adapter;
import android.view.View;
import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.usercenter.databinding.ItemUserLicenceBinding;
import com.dayu.usercenter.model.bean.UserLicenceBean;
import com.dayu.usercenter.presenter.userlicence.UserLicencePresent;
import com.dayu.utils.GlideImageLoader;
import com.dayu.usercenter.R;
public class UserLicenceAdapter extends CoreAdapter<UserLicenceBean,ItemUserLicenceBinding> {
private UserLicencePresent mPresent;
public UserLicenceAdapter(boolean needFoot) {
super(needFoot);
}
@Override
protected void onBind(ItemUserLicenceBinding holder, UserLicenceBean item, int position) {
super.onBind(holder, item, position);
GlideImageLoader.load(mContext, holder.ivImg, item.getUrl(),R.drawable.icon_img_default);
holder.tvTitle.setText(item.getName());
holder.tvCompany.setText(item.getLicenceAuthorityName());
holder.ivArrow.setVisibility(mPresent.type == 1?View.VISIBLE:View.GONE );
holder.btnApply.setVisibility(mPresent.type == 1?View.GONE:View.VISIBLE);
holder.btnApply.setOnClickListener(view -> mPresent.applyAllLicence(item));
}
public void setPresent(UserLicencePresent mPresent) {
this.mPresent = mPresent;
}
}
package com.dayu.usercenter.api;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.common.Constants;
import com.dayu.usercenter.model.ApplyLicenceData;
import com.dayu.usercenter.model.SaveSceneData;
import com.dayu.usercenter.model.bean.BusinessSceneBean;
import com.dayu.usercenter.model.EditBankData;
import com.dayu.usercenter.model.bean.ServiceTypeBean;
import com.dayu.usercenter.model.bean.UserBankInfoBean;
import com.dayu.usercenter.model.bean.UserInfoBean;
import com.dayu.usercenter.model.bean.UserLicenceBean;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;
import retrofit2.http.Query;
public interface UserService2 {
/**
* 获取师傅信息.
*
* @param accountId
* @return
*/
@GET(Constants.API_7100+"/account/queryAccountInfo/{accountId}")
Observable<BaseResponse<UserInfoBean>> getUserInfo(@Path("accountId") int accountId);
/**
* 获取银行信息.
* sourceType 1工程师账号 2小程序用户ID
* @return
*/
@GET(Constants.API_7800+"/payAccountBank/accountId/{accountId}/sourceType/1")
Observable<BaseResponse<UserBankInfoBean>> getUserBankInfo(@Path("accountId") int accountId);
/**
* 设置银行信息
* @param data
* @return
*/
// @POST("/api-settlement/payAccountBank")
@PUT(Constants.API_7800+"/payAccountBank")
Observable<BaseResponse<Boolean>> setBankInfo(@Body EditBankData data);
/**
* 销售业务场景
* @return
*/
@GET(Constants.API_8600+"/category/levelOne")
Observable<BaseResponse<List<BusinessSceneBean>>> getBusinessScene();
/**
* 已保存业务场景
* @return
*/
@GET(Constants.API_7900+"/accountGoodsCategory/accountId/{accountId}")
Observable<BaseResponse<List<SaveSceneData>>> getSavedSecne(@Path("accountId") int accountId);
/**
* 选择业务场景
* @param datas
* @return
*/
@POST(Constants.API_7900+"/accountGoodsCategory/batch")
Observable<BaseResponse<Boolean>> saveBusinessScene(@Body List<SaveSceneData> datas);
/**
* 服务产品类型
* @return
*/
@GET(Constants.API_7300+"/label/list")
Observable<BaseResponse<List<ServiceTypeBean>>> getServiceType();
/**
* 服务产品类型
* @return
*/
@GET(Constants.API_7100+"/engineerRelationCategory/accountId/{accountId}")
Observable<BaseResponse<List<ServiceTypeBean>>> getSavedServiceType(@Path("accountId") int accountId);
/**
* 批量保存产品类型
* @param ids
* @param accountId
* @return
*/
@POST(Constants.API_7100+"/engineerRelationCategory/batch/accountId/{accountId}")
Observable<BaseResponse<Boolean>> saveServiceType(@Body List<Long> ids,@Path("accountId") int accountId);
/**
* 全部认证资质
* @return
*/
@GET(Constants.API_7100+"/licenceInfo")
Observable<BaseResponse<BasePageBean<UserLicenceBean>>> getAllLicence(@Query("page") int page,
@Query("pageSize") int pageSize);
/**
*已获认证资质
* @return
*/
@GET(Constants.API_7100+"/licenceInfo/accountId/{accountId}")
Observable<BaseResponse<List<UserLicenceBean>>> gethasedLicence(@Path("accountId") int accountId);
/**
* 申请认证
* @param data
* @return
*/
@POST(Constants.API_7100+"/licenceRelationEngineer/apply")
Observable<BaseResponse<Boolean>> applyLicence(@Body ApplyLicenceData data);
}
package com.dayu.usercenter.model;
public class ApplyLicenceData {
public int accountId; // 工程师ID ,
public String accountMobile; // 工程师手机号 ,
public String accountName; // 工程师名称 ,
public String createTime ;
public String created;
public int id ;
public int licenceInfoId; // 认证信息ID ,
public int providerId ; // 服务商ID ,
public String providerName ; //服务商名称 ,
public int siteId ;//站点ID ,
public String siteName ; //站点名称 ,
public int status ; //1已认证2解除认证3申请中 ,
public String updateTime ;
public String updated;
public ApplyLicenceData() {
}
public ApplyLicenceData(int accountId, int licenceInfoId, int providerId, String providerName, int status) {
this.accountId = accountId;
this.licenceInfoId = licenceInfoId;
this.providerId = providerId;
this.providerName = providerName;
this.status = status;
}
}
package com.dayu.usercenter.model;
public class EditBankData {
public String bankAccount;
public String bankName;
public String createTime;
public int id;
public String realName;
public int sourceAccountId;
public int sourceType; //1.工程师账号 2.小程序用户id
public EditBankData(String bankAccount, String bankName, String realName, int sourceAccountId, int sourceType) {
this.bankAccount = bankAccount;
this.bankName = bankName;
this.realName = realName;
this.sourceAccountId = sourceAccountId;
this.sourceType = sourceType;
}
}
package com.dayu.usercenter.model;
public class SaveSceneData {
public int accountId;
public int categoryId;
public String categoryName;
public int id;
public SaveSceneData(int accountId, int categoryId, String categoryName, int id) {
this.accountId = accountId;
this.categoryId = categoryId;
this.categoryName = categoryName;
this.id = 0;
}
}
package com.dayu.usercenter.model.bean;
public class BusinessSceneBean {
/**
* id : 1
* parentId : -1
* name : 电脑办公
* comment :
* status : 1
* level : 1
* path : null
* sortNum : 10
*/
private int id;
private int parentId;
private String name;
private String comment;
private int status;
private int level;
private Object path;
private int sortNum;
private boolean isSelected;
public boolean isSelected() {
return isSelected;
}
public void setSelected(boolean selected) {
isSelected = selected;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getParentId() {
return parentId;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public Object getPath() {
return path;
}
public void setPath(Object path) {
this.path = path;
}
public int getSortNum() {
return sortNum;
}
public void setSortNum(int sortNum) {
this.sortNum = sortNum;
}
}
package com.dayu.usercenter.model.bean;
public class ServiceTypeBean {
/**
* id : 20
* name : 电视
* categoryOneId : 896
* categoryOneName : 家用电器
* categoryTwoId : 897
* categoryTwoName : 电视
* categoryThreeId : 898
* categoryThreeName : 电视
* status : 1
* createTime : null
* created : 管理员
* modifyTime : null
* modified : null
* siteId : null
*/
private long id;
private String name;
private int categoryOneId;
private String categoryOneName;
private int categoryTwoId;
private String categoryTwoName;
private int categoryThreeId;
private String categoryThreeName;
private int status;
private Object createTime;
private String created;
private Object modifyTime;
private Object modified;
private Object siteId;
private boolean isSelected;
private int labelId;
private String labelName;
public int getLabelId() {
return labelId;
}
public void setLabelId(int labelId) {
this.labelId = labelId;
}
public String getLabelName() {
return labelName;
}
public void setLabelName(String labelName) {
this.labelName = labelName;
}
public boolean isSelected() {
return isSelected;
}
public void setSelected(boolean selected) {
isSelected = selected;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getCategoryOneId() {
return categoryOneId;
}
public void setCategoryOneId(int categoryOneId) {
this.categoryOneId = categoryOneId;
}
public String getCategoryOneName() {
return categoryOneName;
}
public void setCategoryOneName(String categoryOneName) {
this.categoryOneName = categoryOneName;
}
public int getCategoryTwoId() {
return categoryTwoId;
}
public void setCategoryTwoId(int categoryTwoId) {
this.categoryTwoId = categoryTwoId;
}
public String getCategoryTwoName() {
return categoryTwoName;
}
public void setCategoryTwoName(String categoryTwoName) {
this.categoryTwoName = categoryTwoName;
}
public int getCategoryThreeId() {
return categoryThreeId;
}
public void setCategoryThreeId(int categoryThreeId) {
this.categoryThreeId = categoryThreeId;
}
public String getCategoryThreeName() {
return categoryThreeName;
}
public void setCategoryThreeName(String categoryThreeName) {
this.categoryThreeName = categoryThreeName;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public Object getCreateTime() {
return createTime;
}
public void setCreateTime(Object createTime) {
this.createTime = createTime;
}
public String getCreated() {
return created;
}
public void setCreated(String created) {
this.created = created;
}
public Object getModifyTime() {
return modifyTime;
}
public void setModifyTime(Object modifyTime) {
this.modifyTime = modifyTime;
}
public Object getModified() {
return modified;
}
public void setModified(Object modified) {
this.modified = modified;
}
public Object getSiteId() {
return siteId;
}
public void setSiteId(Object siteId) {
this.siteId = siteId;
}
}
package com.dayu.usercenter.model.bean;
public class UserBankInfoBean {
/**
* id : 0
* sourceAccountId : 1267
* sourceType : 1
* bankName : aksksks
* bankAccount : 7767664944
* realName : jdjdnn
* identity : null
* createTime : 2020-02-25 14:42:18
* mobile : null
*/
private int id;
private int sourceAccountId;
private int sourceType;
private String bankName;
private String bankAccount;
private String realName;
private Object identity;
private String createTime;
private Object mobile;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSourceAccountId() {
return sourceAccountId;
}
public void setSourceAccountId(int sourceAccountId) {
this.sourceAccountId = sourceAccountId;
}
public int getSourceType() {
return sourceType;
}
public void setSourceType(int sourceType) {
this.sourceType = sourceType;
}
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getBankAccount() {
return bankAccount;
}
public void setBankAccount(String bankAccount) {
this.bankAccount = bankAccount;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public Object getIdentity() {
return identity;
}
public void setIdentity(Object identity) {
this.identity = identity;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public Object getMobile() {
return mobile;
}
public void setMobile(Object mobile) {
this.mobile = mobile;
}
}
package com.dayu.usercenter.model.bean;
public class UserInfoBean {
/**
* account : string
* accountId : 0
* accountUrl : string
* age : 0
* approverName : string
* createTime : 2020-02-25T03:02:03.545Z
* fromCreateTime : 2020-02-25T03:02:03.545Z
* gender : 0
* id : 0
* identity : string
* identityUrl : string
* mobile : string
* realName : string
* siteId : 0
* siteName : string
* siteStatus : 0
* status : 0
* toCreateTime : 2020-02-25T03:02:03.545Z
* updateTime : 2020-02-25T03:02:03.545Z
* updated : string
* wxNickName : string
*/
private String account;
private int accountId;
private String accountUrl;
private int age;
private String approverName;
private String createTime;
private String fromCreateTime;
private int gender;
private int id;
private String identity;
private String identityUrl;
private String mobile;
private String realName;
private int siteId;
private String siteName;
private int siteStatus;
private int status;
private String toCreateTime;
private String updateTime;
private String updated;
private String wxNickName;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public String getAccountUrl() {
return accountUrl;
}
public void setAccountUrl(String accountUrl) {
this.accountUrl = accountUrl;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getApproverName() {
return approverName;
}
public void setApproverName(String approverName) {
this.approverName = approverName;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getFromCreateTime() {
return fromCreateTime;
}
public void setFromCreateTime(String fromCreateTime) {
this.fromCreateTime = fromCreateTime;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getIdentity() {
return identity;
}
public void setIdentity(String identity) {
this.identity = identity;
}
public String getIdentityUrl() {
return identityUrl;
}
public void setIdentityUrl(String identityUrl) {
this.identityUrl = identityUrl;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public int getSiteId() {
return siteId;
}
public void setSiteId(int siteId) {
this.siteId = siteId;
}
public String getSiteName() {
return siteName;
}
public void setSiteName(String siteName) {
this.siteName = siteName;
}
public int getSiteStatus() {
return siteStatus;
}
public void setSiteStatus(int siteStatus) {
this.siteStatus = siteStatus;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getToCreateTime() {
return toCreateTime;
}
public void setToCreateTime(String toCreateTime) {
this.toCreateTime = toCreateTime;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getUpdated() {
return updated;
}
public void setUpdated(String updated) {
this.updated = updated;
}
public String getWxNickName() {
return wxNickName;
}
public void setWxNickName(String wxNickName) {
this.wxNickName = wxNickName;
}
}
package com.dayu.usercenter.model.bean;
public class UserLicenceBean {
/**
* id : 71
* licenceAuthorityId : 464
* licenceAuthorityName : 云南贝华科技有限公司
* num : 0052
* name : 大鱼工程师
* url : http://dl.kf.ai/dev/admin/certification/certificationImg/56b442ab1b9aa6925a970fe9dd39aebc.jpg?x-oss-process=style/pic
* detail : 1
* status : 1
* authCount : 1
* createTime : 2019-12-30 16:05:10
* created : 管理员
* updateTime : null
* updated : null
* isDelete : null
*/
private int id;
private int licenceAuthorityId;
private String licenceAuthorityName;
private String num;
private String name;
private String url;
private String detail;
private int status;
private int authCount;
private String createTime;
private String created;
private Object updateTime;
private Object updated;
private Object isDelete;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getLicenceAuthorityId() {
return licenceAuthorityId;
}
public void setLicenceAuthorityId(int licenceAuthorityId) {
this.licenceAuthorityId = licenceAuthorityId;
}
public String getLicenceAuthorityName() {
return licenceAuthorityName;
}
public void setLicenceAuthorityName(String licenceAuthorityName) {
this.licenceAuthorityName = licenceAuthorityName;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getAuthCount() {
return authCount;
}
public void setAuthCount(int authCount) {
this.authCount = authCount;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getCreated() {
return created;
}
public void setCreated(String created) {
this.created = created;
}
public Object getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Object updateTime) {
this.updateTime = updateTime;
}
public Object getUpdated() {
return updated;
}
public void setUpdated(Object updated) {
this.updated = updated;
}
public Object getIsDelete() {
return isDelete;
}
public void setIsDelete(Object isDelete) {
this.isDelete = isDelete;
}
}
package com.dayu.usercenter.presenter.userinfo;
import android.databinding.ObservableField;
import android.os.Bundle;
import android.text.TextUtils;
import com.dayu.common.BaseApplication;
import com.dayu.base.api.Api;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.common.UserConstant;
import com.dayu.usercenter.data.protocol.EngineerInfo;
import com.dayu.usercenter.presenter.personinfo.PersonInfoContract;
import com.dayu.usercenter.ui.activity.IdentityCertificationActivity;
import com.dayu.usercenter.ui.activity.ModifyPwdActivity;
import com.dayu.usercenter.ui.activity.MyHeaderIvActivity;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.model.bean.UserBankInfoBean;
import com.dayu.usercenter.model.bean.UserInfoBean;
import com.dayu.utils.UserManager;
import com.umeng.analytics.MobclickAgent;
import io.reactivex.Observable;
/**
* Created by luofan
* on 2017/11/14.
*/
public class UserInfoPresenter extends UserInfoContract.Presenter {
public ObservableField<EngineerInfo> info = new ObservableField<>();
public ObservableField<Boolean> status = new ObservableField<>();
public ObservableField<UserInfoBean> info = new ObservableField<>();
public ObservableField<UserBankInfoBean> bankInfo = new ObservableField<UserBankInfoBean>();
// public ObservableField<Boolean> status = new ObservableField<>();
private int mAccountId;
private int mDetectStatus;
......@@ -31,20 +27,31 @@ public class UserInfoPresenter extends UserInfoContract.Presenter {
UserInfo info = UserManager.getInstance().getUser();
mAccountId = Integer.parseInt(info.getAccountId());
mDetectStatus = info.getDetectStatus();
mView.showDialog();
queryInfo(mAccountId);
}
@Override
public void queryInfo(int accountId) {
UserApiFactory.getEngineerInfo(accountId).subscribe(baseObserver(
engineerInfo -> {
info.set(engineerInfo);
if (!TextUtils.isEmpty(engineerInfo.getIdentity()) && mDetectStatus == 1) {
status.set(false);
} else {
status.set(true);
// Api.getService(UserService2.class).getUserInfo(accountId).compose(Api.applySchedulers())
// .subscribe(baseObserver(userInfo -> {
// info.set(userInfo);
// if (!TextUtils.isEmpty(userInfo.getIdentity()) && mDetectStatus == 1) {
// status.set(false);
// } else {
// status.set(true);
// }
// }));
mView.showDialog();
Observable.mergeDelayError(
Api.getService(UserService2.class).getUserInfo(accountId).compose(Api.applySchedulers()),
Api.getService(UserService2.class).getUserBankInfo(accountId).compose(Api.applySchedulers()))
.subscribe(baseObserver(data -> {
if (data instanceof UserInfoBean) {
info.set((UserInfoBean) data);
} else if (data instanceof UserBankInfoBean) {
bankInfo.set((UserBankInfoBean) data);
}
}));
}
......
package com.dayu.usercenter.presenter.userlicence;
import com.dayu.base.ui.presenter.BaseListPresenter;
import com.dayu.common.BaseView;
public interface UserLicenceContract {
interface View extends BaseView {
}
abstract class Presenter extends BaseListPresenter<View> {
}
}
package com.dayu.usercenter.presenter.userlicence;
import android.databinding.ObservableField;
import com.dayu.base.api.Api;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.model.ApplyLicenceData;
import com.dayu.usercenter.model.bean.UserLicenceBean;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.megvii.idcardlib.util.Constant;
public class UserLicencePresent extends UserLicenceContract.Presenter{
private int mPage;
private int mUserId;
public int type; //1.已获得 2.全部
private ObservableField<Object> datas = new ObservableField<>();
@Override
public void onAttached() {
UserInfo userInfo = UserManager.getInstance().getUser();
mUserId = Integer.parseInt(userInfo.getAccountId());
}
public void setType(int type) {
this.type = type;
}
@Override
public ObservableField<Object> getSourceDatas() {
return datas;
}
@Override
public void refresh() {
super.refresh();
if (type == 1) {
getHasedLicence();
} else {
mPage = 1;
getAllLicence();
}
}
@Override
public void loadMore() {
getAllLicence();
}
//已获认证
private void getHasedLicence() {
Api.getService(UserService2.class).gethasedLicence(mUserId).compose(Api.applySchedulers())
.subscribe(baseObserver(licences->{
datas.set(licences);
},responeThrowable -> datas.set(Constants.FAILED)));
}
//全部认证
private void getAllLicence() {
Api.getService(UserService2.class).getAllLicence(mPage,Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(baseObserver(licences->{
datas.set(licences);
mPage++;
},responeThrowable -> datas.set(Constants.FAILED)));
}
//申请认证
public void applyAllLicence(UserLicenceBean item) {
mView.showDialog();
ApplyLicenceData applyData = new ApplyLicenceData(mUserId,item.getId(),
item.getLicenceAuthorityId(),item.getLicenceAuthorityName(),0);
Api.getService(UserService2.class).applyLicence(applyData).compose(Api.applySchedulers())
.subscribe(baseObserver(result->{
ToastUtils.showShortToast("apply: "+result);
}));
}
}
package com.dayu.usercenter.ui.activity2;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.widget.CheckBox;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.Api;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.ActivityBusinessTypeBinding;
import com.dayu.usercenter.model.SaveSceneData;
import com.dayu.usercenter.model.bean.BusinessSceneBean;
import com.dayu.usercenter.model.bean.ServiceTypeBean;
import com.dayu.utils.ToastUtils;
import java.util.ArrayList;
import java.util.List;
......@@ -18,7 +23,14 @@ import java.util.List;
* Created by mReturn
* on 2020/2/15
**/
public class BusinessTypeActivity extends BaseActivity<SImplePresenter,ActivityBusinessTypeBinding> {
public class BusinessTypeActivity extends BaseActivity<SImplePresenter, ActivityBusinessTypeBinding> {
List<BusinessSceneBean> sceneDatas = new ArrayList<>();
List<SaveSceneData> savedSceneDatas = new ArrayList<>();
List<ServiceTypeBean> typeDatas = new ArrayList<>();
List<ServiceTypeBean> savedTypeDatas = new ArrayList<>();
BaseQuickAdapter<BusinessSceneBean, BaseViewHolder> sceneAdapter;
BaseQuickAdapter<ServiceTypeBean, BaseViewHolder> typeAdapter;
@Override
public void setPresenter() {
}
......@@ -30,45 +42,133 @@ public class BusinessTypeActivity extends BaseActivity<SImplePresenter,ActivityB
@Override
public void initView() {
mBind.receivingBack.setOnClickListener(v->dumpBack());
initUser();
mBind.receivingBack.setOnClickListener(v -> dumpBack());
mBind.tvSubmit.setOnClickListener(v-> saveData());
initData();
}
setSceneAdapter();
setTypeAdapter();
private void initData() {
showDialog();
//已保存场景
Api.getService(UserService2.class).getSavedSecne(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(datas -> {
savedSceneDatas = datas;
setSceneAdapter();
}));
//业务场景数据
Api.getService(UserService2.class).getBusinessScene().compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(datas -> {
sceneDatas = datas;
setSceneAdapter();
}));
//已保存服务类型数据
Api.getService(UserService2.class).getSavedServiceType(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(datas -> {
savedTypeDatas = datas;
setTypeAdapter();
}));
//服务类型数据
Api.getService(UserService2.class).getServiceType().compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(datas -> {
typeDatas = datas;
setTypeAdapter();
}));
}
//销售业务场景
private void setSceneAdapter() {
List<String> testList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
testList.add("sale_scene" + i);
for (int i = 0; i < savedSceneDatas.size(); i++) {
for (int j = 0; j < sceneDatas.size(); j++) {
if (sceneDatas.get(j).getId() == savedSceneDatas.get(i).categoryId)
sceneDatas.get(j).setSelected(true);
}
}
BaseQuickAdapter<String, BaseViewHolder> mAdapter =
new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_business_type, testList) {
@Override
protected void convert(BaseViewHolder helper, String item) {
CheckBox cbItem = helper.getView(R.id.cb_item);
cbItem.setText(item);
}
};
mBind.rvScene.setLayoutManager(new GridLayoutManager(this,3));
mBind.rvScene.setAdapter(mAdapter);
// if (sceneAdapter == null) {
sceneAdapter = new BaseQuickAdapter<BusinessSceneBean, BaseViewHolder>(R.layout.item_business_type, sceneDatas) {
@Override
protected void convert(BaseViewHolder helper, BusinessSceneBean item) {
CheckBox cbItem = helper.getView(R.id.cb_item);
cbItem.setText(item.getName());
cbItem.setChecked(item.isSelected());
cbItem.setOnCheckedChangeListener((compoundButton, b) -> {
item.setSelected(b);
});
}
};
mBind.rvScene.setLayoutManager(new GridLayoutManager(this, 3));
mBind.rvScene.setAdapter(sceneAdapter);
// }else{
// sceneAdapter.notifyDataSetChanged();
// }
}
//服务产品类型
private void setTypeAdapter() {
List<String> testList = new ArrayList<>();
for (int i = 0; i < 15; i++) {
testList.add("service_type" + i);
for (int i = 0; i < savedTypeDatas.size(); i++) {
for (int j = 0; j < typeDatas.size(); j++) {
if (typeDatas.get(j).getId() == savedTypeDatas.get(i).getLabelId())
typeDatas.get(j).setSelected(true);
}
}
// if (typeAdapter == null){
typeAdapter = new BaseQuickAdapter<ServiceTypeBean, BaseViewHolder>(R.layout.item_business_type, typeDatas) {
@Override
protected void convert(BaseViewHolder helper, ServiceTypeBean item) {
CheckBox cbItem = helper.getView(R.id.cb_item);
cbItem.setText(item.getName());
cbItem.setChecked(item.isSelected());
cbItem.setOnCheckedChangeListener((compoundButton, b) -> {
item.setSelected(b);
});
}
};
mBind.rvType.setLayoutManager(new GridLayoutManager(this, 2));
mBind.rvType.setAdapter(typeAdapter);
// }else {
// typeAdapter.notifyDataSetChanged();
// }
}
//保存数据
private void saveData() {
List<SaveSceneData> sceneList = new ArrayList<>();
List<Long> typeList = new ArrayList<>();
for (BusinessSceneBean sceneBean : sceneDatas){
if (sceneBean.isSelected())
sceneList.add(new SaveSceneData(mUserId,sceneBean.getId(),sceneBean.getName(),sceneBean.getId()));
}
for (ServiceTypeBean typeBean : typeDatas){
if (typeBean.isSelected())
typeList.add(typeBean.getId());
}
BaseQuickAdapter<String, BaseViewHolder> mAdapter =
new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_business_type, testList) {
@Override
protected void convert(BaseViewHolder helper, String item) {
CheckBox cbItem = helper.getView(R.id.cb_item);
cbItem.setText(item);
}
};
mBind.rvType.setLayoutManager(new GridLayoutManager(this,2));
mBind.rvType.setAdapter(mAdapter);
if (sceneList.size()>0)
saveScene(sceneList);
if (typeList.size()>0)
saveType(typeList);
}
//保存业务场景数据
private void saveScene(List<SaveSceneData> datas) {
showDialog();
Api.getService(UserService2.class).saveBusinessScene(datas).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(bool -> {
ToastUtils.showShortToast(bool?R.string.save_success:R.string.save_fail);
}));
}
//保存服务类型数据
private void saveType(List<Long> ids) {
showDialog();
Api.getService(UserService2.class).saveServiceType(ids, mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(bool -> {
ToastUtils.showShortToast(bool?R.string.save_success:R.string.save_fail);
}));
}
}
package com.dayu.usercenter.ui.activity2;
import android.text.Editable;
import android.text.TextUtils;
import android.widget.EditText;
import com.dayu.base.api.Api;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.MyTextWatcher;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.ActivityEditBankBinding;
import com.dayu.usercenter.model.EditBankData;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
public class EditBankActivity extends BaseActivity<SImplePresenter, ActivityEditBankBinding> {
private String bankName;
private String bankAccount;
private String bankHolder;
private boolean setted = false; //是否设置过信息
@Override
public void setPresenter() {
}
@Override
public int getLayoutId() {
return R.layout.activity_edit_bank;
}
@Override
public void initView() {
initUser();
mBind.titleBack.setOnClickListener(view -> dumpBack());
initData();
addEdtListener(mBind.edtBankName);
addEdtListener(mBind.edtBankAccount);
addEdtListener(mBind.edtBankHolder);
mBind.tvSubmit.setOnClickListener(view -> submit());
}
private void initData() {
showDialog();
Api.getService(UserService2.class).getUserBankInfo(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(userBankInfoBean -> {
if (userBankInfoBean != null){
setted = true;
mBind.edtBankName.setText(userBankInfoBean.getBankName());
mBind.edtBankAccount.setText(userBankInfoBean.getBankAccount());
mBind.edtBankHolder.setText(userBankInfoBean.getRealName());
changeBtnstate(false);
}
}));
}
private void addEdtListener(EditText editText) {
editText.addTextChangedListener(new MyTextWatcher() {
@Override
public void afterTextChanged(Editable s) {
updateSubmitSatte();
}
});
}
private void updateSubmitSatte() {
bankName = mBind.edtBankName.getText().toString().trim();
bankAccount = mBind.edtBankAccount.getText().toString().trim();
bankHolder = mBind.edtBankHolder.getText().toString().trim();
boolean canSubmit = !TextUtils.isEmpty(bankName) && !TextUtils.isEmpty(bankAccount) && !TextUtils.isEmpty(bankHolder);
changeBtnstate(canSubmit);
}
private void changeBtnstate(boolean canSubmit) {
mBind.tvSubmit.setEnabled(canSubmit);
mBind.tvSubmit.setAlpha(canSubmit ? 1.0f : 0.35f);
}
private void submit() {
// ToastUtils.showShortToast("setted: "+setted);
showDialog();
EditBankData data = new EditBankData(bankAccount, bankName, bankHolder, mUserId, 1);
Api.getService(UserService2.class).setBankInfo(data).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(reslut -> {
ToastUtils.showShortToast(reslut ? R.string.submit_success : R.string.submit_fail);
}));
}
}
......@@ -12,6 +12,7 @@ import com.dayu.usercenter.R;
import com.dayu.usercenter.databinding.ActivityUserInfoBinding;
import com.dayu.usercenter.presenter.userinfo.UserInfoContract;
import com.dayu.usercenter.presenter.userinfo.UserInfoPresenter;
import com.dayu.usercenter.ui.activity.PersonInfoActivity;
import java.util.Arrays;
import java.util.List;
......@@ -37,6 +38,8 @@ public class UserInfoActivity extends BaseActivity<UserInfoPresenter, ActivityUs
initStarTitle();
setStarItemAdapter();
setUserRulr2("15%");
mBind.cvHeader.setOnClickListener(view -> startActivity(PersonInfoActivity.class));
mBind.btnEditBank.setOnClickListener(view -> startActivity(EditBankActivity.class));
}
private void setUserRulr2(String rulr2) {
......
package com.dayu.usercenter.ui.fragment;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.Constants;
import com.dayu.usercenter.R;
import com.dayu.usercenter.adapter.UserLicenceAdapter;
import com.dayu.usercenter.databinding.FragmentUserLicenceBinding;
import java.util.ArrayList;
import java.util.List;
import com.dayu.usercenter.databinding.ItemUserLicenceBinding;
import com.dayu.usercenter.model.bean.UserLicenceBean;
import com.dayu.usercenter.presenter.userlicence.UserLicenceContract;
import com.dayu.usercenter.presenter.userlicence.UserLicencePresent;
import com.dayu.usercenter.ui.activity.LicenceDetailActivity;
import com.dayu.widgets.listener.OnItemClickListener;
/**
* Created by mReturn
* on 2020/2/15
**/
public class UserLicenceFragment extends BaseFragment<SImplePresenter,FragmentUserLicenceBinding> {
public class UserLicenceFragment extends BaseFragment<UserLicencePresent, FragmentUserLicenceBinding>
implements UserLicenceContract.View {
private int type; //1.已获得 2.全部
private UserLicenceAdapter mAdapter;
public static UserLicenceFragment newInstance(int type) {
Bundle args = new Bundle();
args.putInt("type",type);
args.putInt("type", type);
UserLicenceFragment fragment = new UserLicenceFragment();
fragment.setArguments(args);
return fragment;
......@@ -39,34 +39,31 @@ public class UserLicenceFragment extends BaseFragment<SImplePresenter,FragmentUs
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
}
@Override
public void initView() {
Bundle bundle = getArguments();
type = bundle.getInt("type");
mPresenter.setType(type);
setAdapter();
}
private void setAdapter() {
List<String> testList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
testList.add("licence_"+type+"_" + i);
mAdapter = new UserLicenceAdapter(type != 1);
mAdapter.setViewType(R.layout.item_user_licence);
mAdapter.setPresent(mPresenter);
mBind.recyclerView.setAdapter(mAdapter);
if (type == 1){
mAdapter.setOnItemClickListener((item, bind) -> {
Bundle bundleDetail = new Bundle();
bundleDetail.putInt(Constants.ID, item.getId());
startActivity(LicenceDetailActivity.class, bundleDetail);
});
}
BaseQuickAdapter<String, BaseViewHolder> mAdapter =
new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_user_licence, testList) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setText(R.id.tv_title,item);
ImageView ivArrow = helper.getView(R.id.iv_arrow);
Button btnApply = helper.getView(R.id.btn_apply);
ivArrow.setVisibility(type == 1?View.VISIBLE:View.GONE);
btnApply.setVisibility(type == 2?View.VISIBLE:View.GONE);
}
};
mBind.rvLicence.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rvLicence.setAdapter(mAdapter);
showDialog();
mPresenter.refresh();
}
}
......@@ -86,6 +86,10 @@
<activity
android:name=".ui.activity2.ServiceRecordActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity2.EditBankActivity"
android:windowSoftInputMode="stateHidden"
android:screenOrientation="portrait" />
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/title_back"
style="@style/title">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
style="@style/text_title"
android:text="@string/user_business_type"
/>
<RelativeLayout
android:id="@+id/title_back"
style="@style/title">
<ImageView
android:id="@+id/receiving_back"
style="@style/title_image_back"
<TextView
android:id="@+id/tv_title"
style="@style/text_title"
android:text="@string/user_business_type" />
/>
<ImageView
android:id="@+id/receiving_back"
style="@style/title_image_back"
</RelativeLayout>
/>
<ImageView style="@style/card_line" />
</RelativeLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="15dp"
>
<ImageView style="@style/card_line" />
<LinearLayout
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
style="@style/sale_item_text"
android:text="@string/business_choose_scene"
/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_scene"
android:layout_marginTop="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
/>
<TextView
style="@style/sale_item_text"
android:layout_marginTop="15dp"
android:text="@string/business_choose_type"
/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_type"
android:layout_marginTop="15dp"
android:padding="15dp"
android:layout_marginBottom="68dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>>
</LinearLayout>
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
style="@style/sale_item_text"
android:text="@string/business_choose_scene" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_scene"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:overScrollMode="never" />
<TextView
style="@style/sale_item_text"
android:layout_marginTop="15dp"
android:text="@string/business_choose_type" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:overScrollMode="never" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
<TextView
android:id="@+id/tv_submit"
style="@style/btn_bottom_common"
android:layout_alignParentBottom="true"
android:layout_margin="20dp"
android:text="@string/save_str" />
</RelativeLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical"
android:visibility="visible">
<RelativeLayout
android:id="@+id/title_idea"
style="@style/title">
<TextView
android:id="@+id/text_idea"
style="@style/text_title"
android:text="@string/user_bank_info" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back" />
<ImageView
style="@style/card_line"
android:layout_alignParentBottom="true" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout style="@style/ll_user_edit">
<TextView
style="@style/tv_user_edit"
android:text="@string/user_bank_name" />
<EditText
android:id="@+id/edt_bank_name"
style="@style/edt_user_edit"
android:hint="@string/user_bank_name_hint"
/>
</LinearLayout>
<LinearLayout
style="@style/ll_user_edit"
android:layout_marginTop="2dp">
<TextView
style="@style/tv_user_edit"
android:text="@string/user_bank_account" />
<EditText
android:id="@+id/edt_bank_account"
style="@style/edt_user_edit"
android:inputType="number"
android:hint="@string/user_bank_account_hint"
android:maxLength="20" />
</LinearLayout>
<LinearLayout
style="@style/ll_user_edit"
android:layout_marginTop="2dp">
<TextView
style="@style/tv_user_edit"
android:text="@string/user_bank_holer" />
<EditText
android:id="@+id/edt_bank_holder"
style="@style/edt_user_edit"
android:hint="@string/user_bank_holer_hint"
/>
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:enabled="false"
android:id="@+id/tv_submit"
style="@style/btn_bottom_common"
android:layout_margin="20dp"
android:alpha="0.35"
android:text="@string/submit" />
</LinearLayout>
</layout>
......@@ -147,7 +147,8 @@
style="@style/sale_item_text"
android:text="@string/user_bank_name" />
<TextView style="@style/sale_item_text2" />
<TextView style="@style/sale_item_text2"
android:text="@{presenter.bankInfo.bankName}"/>
</LinearLayout>
<LinearLayout style="@style/sale_linearlayout">
......@@ -156,26 +157,29 @@
style="@style/sale_item_text"
android:text="@string/user_bank_account" />
<TextView style="@style/sale_item_text2" />
<TextView style="@style/sale_item_text2"
android:text="@{presenter.bankInfo.bankAccount}"/>
</LinearLayout>
<LinearLayout style="@style/sale_linearlayout">
<TextView
style="@style/sale_item_text"
android:text="@string/user_bank_account" />
android:text="@string/user_bank_holer" />
<TextView style="@style/sale_item_text2" />
<TextView style="@style/sale_item_text2"
android:text="@{presenter.bankInfo.realName}"/>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn_edit_bank"
android:layout_width="75dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@color/cl_home_button"
android:background="@drawable/tab_blue_react"
android:text="@string/edit_str"
android:textColor="@color/white" />
......@@ -228,11 +232,12 @@
</LinearLayout>
<Button
android:id="@+id/btn_edit_addr"
android:layout_width="75dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@color/cl_home_button"
android:background="@drawable/tab_blue_react"
android:text="@string/edit_str"
android:textColor="@color/white" />
</RelativeLayout>
......
......@@ -54,6 +54,7 @@
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:layout_weight="1" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="presenter"
type="com.dayu.usercenter.presenter.userlicence.UserLicencePresent" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:visibility="gone"
android:id="@+id/rv_licence"
android:layout_marginTop="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
/>
<com.dayu.widgets.LRecyclerView
android:id="@+id/recyclerView"
setPresenter="@{presenter}"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f5f5f5" />
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_13.3"
android:layout_marginTop="5dp"
android:layout_marginRight="@dimen/dp_13.3"
android:background="@drawable/item_shape"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/dp_10">
<ImageView
android:id="@+id/iv_img"
android:layout_width="45dp"
android:layout_height="45dp"
android:src="@drawable/icon_img_default" />
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_weight="1"
android:orientation="vertical">
android:layout_marginLeft="@dimen/dp_13.3"
android:layout_marginTop="5dp"
android:layout_marginRight="@dimen/dp_13.3"
android:background="@drawable/item_shape"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/dp_10">
<ImageView
android:id="@+id/iv_img"
android:layout_width="45dp"
android:layout_height="45dp"
android:src="@drawable/icon_img_default" />
<TextView
android:id="@+id/tv_title"
style="@style/sale_item_text"
android:text="title"
android:textStyle="bold" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_company"
style="@style/sale_item_text"
android:text="company"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/tv_title"
style="@style/sale_item_text"
android:text="title"
android:textStyle="bold" />
<RelativeLayout
android:layout_width="70dp"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_company"
style="@style/sale_item_text"
android:text="company"
/>
<ImageView
android:id="@+id/iv_arrow"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignParentRight="true"
android:src="@drawable/icon_arrow_right" />
<Button
android:id="@+id/btn_apply"
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@color/cl_home_button"
android:text="@string/licence_apply_str"
android:textColor="@color/white" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="70dp"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_arrow"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignParentRight="true"
android:src="@drawable/icon_arrow_right" />
<Button
android:id="@+id/btn_apply"
android:layout_width="60dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@color/cl_home_button"
android:text="@string/licence_apply_str"
android:textColor="@color/white" />
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
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