Commit b4d6d947 by mReturn

fix

parent 4ceae26e
Showing with 980 additions and 145 deletions
......@@ -86,6 +86,7 @@ public class MyApplication extends BaseApplication {
public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
layout.setPrimaryColorsId(R.color.text_common_blue, android.R.color.white);//全局设置主题颜色
layout.setHeaderTriggerRate(0.6f);
layout.setDragRate(1);
return new MaterialHeader(context);//.setTimeFormat(new DynamicTimeFormat("更新于 %s"));//指定为经典Header,默认是 贝塞尔雷达Header
}
});
......
......@@ -2,6 +2,7 @@ package com.dayu.bigfish.presenter.setting;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.bigfish.api.protocol.VersionInfo;
import com.dayu.common.BaseView;
import com.dayu.widgets.listener.OnCloseListener;
......@@ -17,6 +18,8 @@ public interface SettingContract {
*/
void showCachDialog(OnCloseListener listener);
void showUpdateDialog(VersionInfo info);
}
abstract class Presenter extends BasePresenter<View> {
......
......@@ -81,14 +81,51 @@ public class SettingPresenter extends SettingContract.Presenter {
@Override
public void updataVersion() {
ApiFactory.checkVersion("dayushifua_dayu").subscribe(baseObserver(s -> {
if (s.equals(AppUtils.getPackageNum())) {
// if (s.equals(AppUtils.getPackageNum())) {
// mView.showToast(R.string.is_newversion);
// } else {
// mView.showToast(UIUtils.getString(R.string.newversion_code) + s);
// }
if (parseVersion(s) > parseVersion(AppUtils.getPackageNum())) {
upgradeVersion("dayushifua_dayu", s);
}else {
mView.showToast(R.string.is_newversion);
} else {
mView.showToast(UIUtils.getString(R.string.newversion_code) + s);
}
}));
}
private Integer parseVersion(String version) {
String[] vcs = version.split("\\.");
String v1 = vcs[0];
String v2 = vcs[1];
String v3 = vcs[2];
if (v1.length() == 1) {
v1 = "00" + v1;
}
if (v1.length() == 2) {
v1 = "0" + v1;
}
if (v2.length() == 1) {
v2 = "00" + v2;
}
if (v2.length() == 2) {
v2 = "0" + v2;
}
if (v3.length() == 1) {
v3 = "00" + v3;
}
if (v3.length() == 2) {
v3 = "0" + v3;
}
return Integer.parseInt(v1 + v2 + v3);
}
public void upgradeVersion(String appId, String versionCode) {
ApiFactory.getVersionInfo(appId, versionCode).subscribe(baseObserver(
info -> mView.showUpdateDialog(info)));
}
@Override
public void exite() {
EMClient.getInstance().logout(true);
......
package com.dayu.bigfish.ui;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.FileProvider;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.api.DownloadService;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.bigfish.BuildConfig;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.R;
import com.dayu.bigfish.api.protocol.VersionInfo;
import com.dayu.bigfish.databinding.ActivitySettingBinding;
import com.dayu.bigfish.presenter.setting.SettingContract;
import com.dayu.bigfish.presenter.setting.SettingPresenter;
import com.dayu.provider.router.RouterPath;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnCloseListener;
import com.dayu.widgets.listener.onDownloadListener;
import com.umeng.analytics.MobclickAgent;
import java.io.File;
/**
* 设置页面
......@@ -43,4 +60,67 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett
.setPositiveButton(getString(R.string.comfirm));
dialog.show();
}
@Override
public void showUpdateDialog(VersionInfo info) {
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, info.getUpgradePrompt(),
(dialog1, confirm) -> {
if (confirm) {
File sdDir = Environment.getExternalStorageDirectory();
File file;
file = new File(sdDir + "/dayu/");
if (!file.exists()) {
file.mkdirs();
}
file = new File(file, "dayu" + ".apk");
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
showToast(R.string.on_download);
initNotification();
DownloadService.startUpdateService(mActivity, info.getDownloadUrl(), file.getAbsolutePath(), new onDownloadListener() {
@Override
public void onDownloadSuccess(File file) {
//安装apk
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri contentUri = FileProvider.getUriForFile(mActivity, BuildConfig.APPLICATION_ID + ".fileProvider", file);
intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
} else {
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
startActivity(intent);
}
@Override
public void onDownloadFail() {
showToast(R.string.download_faile);
}
});
}
MobclickAgent.onEvent(MyApplication.getContext(), "sure_update_app");
} else {
if (info.getType() == 2) {
mPresenter.exite();
}
MobclickAgent.onEvent(MyApplication.getContext(), "cancle_update_app");
}
});
dialog.setTitle(getString(R.string.have_new_version))
.setNegativeButton(getString(R.string.next_again))
.setPositiveButton(getString(R.string.need_upglude));
dialog.show();
}
public void initNotification() {
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.wechatimg)
.setContentTitle(getString(R.string.start_download))
.setAutoCancel(true)
.setContentText(getString(R.string.new_version));
notificationManager.notify(0, builder.build());
}
}
......@@ -76,8 +76,9 @@ dependencies {
api 'com.badoo.mobile:android-weak-handler:1.1'
api 'com.youth.banner:banner:1.4.10'
api 'com.github.PhilJay:MPAndroidChart:v3.1.0'
api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //1.0.5及以前版本的老用户升级需谨慎,API改动过大
api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'
api 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0'
api 'com.google.android:flexbox:1.0.0'
// api 'tv.danmaku.ijk.media:ijkplayer-java:0.8.4'
// api 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
......
......@@ -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;
......@@ -27,6 +28,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
implements BaseView {
public P mPresenter;
private boolean isDialogShow = false;
protected int mUserId;
protected UserInfo mUserInfo;
@Override
protected void initPresenter() {
......@@ -149,4 +152,11 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
mDialog.show();
isDialogShow = true;
}
protected void initUser(){
UserInfo info = UserManager.getInstance().getUser();
mUserId = Integer.parseInt(info.getAccountId());
mUserInfo = info;
}
}
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@color/text_common_blue" />
<item android:state_selected="false" android:color="@color/cl_white" />
</selector>
\ No newline at end of file
......@@ -791,8 +791,8 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="sale_done">已完成</string>
<string name="input_sale_product">输入您要找的商品</string>
<string name="input_sale_order">查找销售订单</string>
<string name="brand_model">品名型号:</string>
<string name="sale_single_price">销售单价:</string>
<string name="brand_model">品名:</string>
<string name="sale_single_price">单价:</string>
<string name="commision_str">提成:</string>
<string name="special_collect">重点收藏</string>
<string name="un_collect">取消收藏</string>
......
......@@ -52,6 +52,11 @@
<item name="android:layout_marginRight">@dimen/dp_20</item>
</style>
<style name="sale_detail_text2" parent="sale_item_text">
<item name="android:layout_marginLeft">3dp</item>
<item name="android:maxLines">5</item>
</style>
<style name="sale_record_text" parent="sale_item_text">
<item name="android:layout_width">100dp</item>
<item name="android:layout_marginRight">@dimen/dp_15</item>
......@@ -84,6 +89,7 @@
<item name="android:textColor">@color/default_text_color</item>
<item name="android:textSize">14sp</item>
<item name="android:maxLines">1</item>
<item name="android:singleLine">true</item>
</style>
<style name="tv_user_addr">
......
......@@ -8,6 +8,7 @@ import com.bigfish.salecenter.model.OrdersBean;
import com.bigfish.salecenter.model.ProductDetailBean;
import com.bigfish.salecenter.model.ProductListBean;
import com.bigfish.salecenter.model.SalTabNumBean;
import com.bigfish.salecenter.model.SaleOrderDetailsBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.common.Constants;
......@@ -24,16 +25,17 @@ import retrofit2.http.Query;
* on 2020/2/21
**/
public interface SaleService {
String kaApi= "/api-ka-base";
String kaApi = "/api-ka-base";
/**
* 商品列表
*
* @param engineerId
* @param page
* @param pageSize
* @return
*/
@GET(kaApi+"/goods/mobileGoods")
@GET(kaApi + "/goods/mobileGoods")
Observable<BaseResponse<BasePageBean<ProductListBean>>> getProducts(@Query("engineerId") int engineerId,
@Query("key") String key,
@Query("status") int status,
......@@ -42,46 +44,49 @@ public interface SaleService {
/**
* 收藏列表
*
* @param engineerId
* @param page
* @param pageSize
* @return
*/
@GET(kaApi+"/goods/mobileCollectionGoods")
@GET(kaApi + "/goods/mobileCollectionGoods")
Observable<BaseResponse<BasePageBean<ProductListBean>>> getCollections(@Query("engineerId") int engineerId,
@Query("key") String key,
@Query("page") int page,
@Query("pageSize") int pageSize);
@Query("status") int status,
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 商品详情
*/
@GET(kaApi+"/goods/{goodsId}")
@GET(kaApi + "/goods/{goodsId}")
Observable<BaseResponse<ProductDetailBean>> getProductDetail(@Path("goodsId") int goodId);
/**
* 商品是否能分享
*/
@GET(kaApi+"/goodsCollections/goodsId/{goodsId}/engineerId/{engineerId}")
Observable<BaseResponse<Boolean>> canShare(@Path("goodsId") int goodsId,@Path("engineerId") int engineerId);
@GET(kaApi + "/goodsCollections/goodsId/{goodsId}/engineerId/{engineerId}")
Observable<BaseResponse<Boolean>> canShare(@Path("goodsId") int goodsId, @Path("engineerId") int engineerId);
/**
* 取消收藏商品
*/
@GET(kaApi+"/goodsCollections/cancel/goodsId/{goodsId}/engineerId/{engineerId}")
Observable<BaseResponse<Boolean>> unCollectProdcut(@Path("goodsId") int goodsId,@Path("engineerId") int engineerId);
@GET(kaApi + "/goodsCollections/cancel/goodsId/{goodsId}/engineerId/{engineerId}")
Observable<BaseResponse<Boolean>> unCollectProdcut(@Path("goodsId") int goodsId, @Path("engineerId") int engineerId);
/**
* 收藏商品
*/
@POST(kaApi+"/goodsCollections")
@POST(kaApi + "/goodsCollections")
Observable<BaseResponse<Boolean>> collectProdcut(@Body CollectProductData data);
/**
* 销售列表
*
* @return
*/
@GET(Constants.API_8600+"/orderGoods/mobile")
@GET(Constants.API_8600 + "/orderGoods/mobile")
Observable<BaseResponse<BasePageBean<OrdersBean>>> getSaleOrders(@Query("engineerId") int engineerId,
@Query("state") int state,
@Query("key") String key,
......@@ -90,25 +95,28 @@ public interface SaleService {
/**
* 订单详情
*
* @param id
* @return
*/
@GET(Constants.API_8600+"/orderGoods/{id}")
Observable<BaseResponse<OrdersBean>> getOrderDetail(@Path("id") int id);
@GET(Constants.API_8600 + "/orderGoods/{id}")
Observable<BaseResponse<SaleOrderDetailsBean>> getOrderDetail(@Path("id") int id);
/**
* 销售tab数量
*
* @param engineerId
* @return
*/
@GET(Constants.API_7900+"/goods/engineerCount/{engineerId}")
@GET(Constants.API_7900 + "/goods/engineerCount/{engineerId}")
Observable<BaseResponse<SalTabNumBean>> getTabNums(@Path("engineerId") int engineerId);
/**
* 获取留言
*
* @return
*/
@GET("/api-message/" +"leaveMessage")
@GET("/api-message/" + "leaveMessage")
Observable<BaseResponse<BasePageBean<CommentBean>>> getComment(@Query("targetId") int targetId,
@Query("status") int status,
@Query("targetType") int targetType,
......@@ -119,6 +127,6 @@ public interface SaleService {
/**
* 留言/回复
*/
@POST("/api-message/" +"leaveMessage")
@POST("/api-message/" + "leaveMessage")
Observable<BaseResponse<Boolean>> addComment(@Body CommentPostData data);
}
......@@ -9,13 +9,11 @@ public class CollectProductData {
public String createTime;
public int engineerId;
public int goodsId;
public int id;
public CollectProductData(int collectionStatus, String createTime, int engineerId, int goodsId, int id) {
public CollectProductData(int collectionStatus, String createTime, int engineerId, int goodsId) {
this.collectionStatus = collectionStatus;
this.createTime = createTime;
this.engineerId = engineerId;
this.goodsId = goodsId;
this.id = id;
}
}
......@@ -75,14 +75,14 @@ public class OrdersBean {
private String buyerReturnTime;
private String buyerShipperCode;
private String createTime;
private int customerRebate;
private double customerRebate;
private String finTime;
private String goodsFirstUrl;
private int goodsId;
private String goodsModel;
private String goodsNum;
private String goodsPn;
private int goodsPrice;
private double goodsPrice;
private int id;
private int invoiceBillId;
private String key;
......@@ -91,7 +91,7 @@ public class OrdersBean {
private String orderGoodsNum;
private String orgName;
private String payTime;
private int price;
private double price;
private int promoterId;
private String promoterMobile;
private String promoterName;
......@@ -104,10 +104,10 @@ public class OrdersBean {
private String receiverMobile;
private String receiverName;
private String refuseTime;
private int returnPrice;
private double returnPrice;
private String returnReason;
private String returnTime;
private int salesPrice;
private double salesPrice;
private String sellerCourierCompany;
private String sellerCourierNumber;
private String sellerMobile;
......@@ -216,11 +216,11 @@ public class OrdersBean {
this.createTime = createTime;
}
public int getCustomerRebate() {
public double getCustomerRebate() {
return customerRebate;
}
public void setCustomerRebate(int customerRebate) {
public void setCustomerRebate(double customerRebate) {
this.customerRebate = customerRebate;
}
......@@ -272,11 +272,11 @@ public class OrdersBean {
this.goodsPn = goodsPn;
}
public int getGoodsPrice() {
public double getGoodsPrice() {
return goodsPrice;
}
public void setGoodsPrice(int goodsPrice) {
public void setGoodsPrice(double goodsPrice) {
this.goodsPrice = goodsPrice;
}
......@@ -344,11 +344,11 @@ public class OrdersBean {
this.payTime = payTime;
}
public int getPrice() {
public double getPrice() {
return price;
}
public void setPrice(int price) {
public void setPrice(double price) {
this.price = price;
}
......@@ -448,11 +448,11 @@ public class OrdersBean {
this.refuseTime = refuseTime;
}
public int getReturnPrice() {
public double getReturnPrice() {
return returnPrice;
}
public void setReturnPrice(int returnPrice) {
public void setReturnPrice(double returnPrice) {
this.returnPrice = returnPrice;
}
......@@ -472,11 +472,11 @@ public class OrdersBean {
this.returnTime = returnTime;
}
public int getSalesPrice() {
public double getSalesPrice() {
return salesPrice;
}
public void setSalesPrice(int salesPrice) {
public void setSalesPrice(double salesPrice) {
this.salesPrice = salesPrice;
}
......
......@@ -53,6 +53,7 @@ public class SaleOrderPresent extends SaleOrderContract.Presenter {
}
}
//订单列表
private void getOrders() {
Api.getService(SaleService.class).getSaleOrders(mUserId,type,keyStr,mPage,Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(baseObserver(orders->{
......
......@@ -76,7 +76,7 @@ public class SaleProductPresent extends SaleProductContract.Presenter {
//收藏列表
private void getCollections() {
Api.getService(SaleService.class).getCollections(mUserId, keyStr, mPage, Constants.PAGESIZE).compose(Api.applySchedulers())
Api.getService(SaleService.class).getCollections(mUserId, keyStr,1, mPage, Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(baseObserver(
products -> {
// ToastUtils.showShortToast("collections: " + products.getData().size());
......@@ -92,7 +92,7 @@ public class SaleProductPresent extends SaleProductContract.Presenter {
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());
CollectProductData data = new CollectProductData(1, "", mUserId, item.getId());
return Api.getService(SaleService.class).collectProdcut(data).compose(Api.applySchedulers());
}
}
......
......@@ -6,6 +6,7 @@ import com.bigfish.salecenter.R;
import com.bigfish.salecenter.api.SaleService;
import com.bigfish.salecenter.databinding.ActivityOrderDetailBinding;
import com.bigfish.salecenter.model.OrdersBean;
import com.bigfish.salecenter.model.SaleOrderDetailsBean;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.Api;
......@@ -37,24 +38,31 @@ public class SaleOrderDetailActivity extends BaseActivity<SImplePresenter, Activ
public void initView() {
mBind.toolbar.setNavigationOnClickListener(v -> dumpBack());
mId = getIntent().getIntExtra("id",0);
showDialog();
initData();
mBind.refreshLayout.setEnableLoadMore(false);
mBind.refreshLayout.setOnRefreshListener(refreshLayout -> initData());
}
private void initData() {
showDialog();
Api.getService(SaleService.class).getOrderDetail(mId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(
data->{
mBind.refreshLayout.finishRefresh();
setDetailViewData(data);
}, responeThrowable -> {
mBind.refreshLayout.finishRefresh();
}
));
}
private void setDetailViewData(OrdersBean data) {
private void setDetailViewData(SaleOrderDetailsBean data) {
mBind.tvOrderNumber.setText(data.getOrderGoodsNum());
mBind.tvCompanyName.setText(data.getOrgName());
mBind.tvCustomerName.setText(data.getReceiverName());
mBind.tvCustomerAddr.setText(data.getReceiverAddress());
String address = data.getProvinceName()+" "+data.getCityName()+" "
+data.getDistrictName()+" "+data.getReceiverAddress();
mBind.tvCustomerAddr.setText(address);
mBind.tvCustomerPhone.setText(data.getReceiverMobile());
mBind.tvModel.setText(data.getGoodsModel());
mBind.tvSellerCompany.setText(data.getProviderName());
......@@ -66,12 +74,11 @@ public class SaleOrderDetailActivity extends BaseActivity<SImplePresenter, Activ
setStepAdapter(data.getOrderGoodsRecordVOS());
}
private void setStepAdapter(List<OrdersBean.OrderGoodsRecordVOSBean> records) {
BaseQuickAdapter<OrdersBean.OrderGoodsRecordVOSBean, BaseViewHolder> stepAdapter =
new BaseQuickAdapter<OrdersBean.OrderGoodsRecordVOSBean, BaseViewHolder>(R.layout.item_sale_step, records) {
private void setStepAdapter(List<SaleOrderDetailsBean.OrderGoodsRecordVOSBean> records) {
BaseQuickAdapter<SaleOrderDetailsBean.OrderGoodsRecordVOSBean, BaseViewHolder> stepAdapter =
new BaseQuickAdapter<SaleOrderDetailsBean.OrderGoodsRecordVOSBean, BaseViewHolder>(R.layout.item_sale_step, records) {
@Override
protected void convert(BaseViewHolder helper, OrdersBean.OrderGoodsRecordVOSBean item) {
protected void convert(BaseViewHolder helper, SaleOrderDetailsBean.OrderGoodsRecordVOSBean item) {
helper.setText(R.id.tv_time, item.getCreateTime());
helper.setText(R.id.tv_progress, item.getProgressTitle());
helper.setText(R.id.tv_detail, item.getRecord());
......
......@@ -7,6 +7,7 @@ import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import com.badoo.mobile.util.WeakHandler;
......@@ -29,6 +30,11 @@ import com.dayu.utils.LogUtils;
import com.dayu.utils.ProgressUtil;
import com.dayu.utils.UserManager;
import com.dayu.widgets.KeyboardStateObserver;
import com.google.android.flexbox.AlignItems;
import com.google.android.flexbox.AlignSelf;
import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexboxLayoutManager;
import com.google.android.flexbox.JustifyContent;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
......@@ -102,7 +108,7 @@ public class SaleInstructionFragment extends BaseFragment<SImplePresenter, Fragm
//设置基本信息
private void initDataView() {
mBind.tvBonus.setText(CommonUtils.getMoneyStr(mActivity, mDetail.getSalesPrice()));
mBind.tvBonus.setText(CommonUtils.getMoneyStr(mActivity, mDetail.getSalesPrice())+"/台");
mBind.tvFace.setText(mDetail.getCustomerPortrait());
for (int i = 0; i < mDetail.getGoodsCategorys().size(); i++) {
sceneList.add(mDetail.getGoodsCategorys().get(i).getCategoryName());
......@@ -130,10 +136,20 @@ public class SaleInstructionFragment extends BaseFragment<SImplePresenter, Fragm
protected void convert(BaseViewHolder helper, String item) {
CheckBox cbScene = helper.getView(R.id.cb_scene);
cbScene.setText(item);
ViewGroup.LayoutParams lp = cbScene.getLayoutParams();
if (lp instanceof FlexboxLayoutManager.LayoutParams) {
FlexboxLayoutManager.LayoutParams flexboxLp = (FlexboxLayoutManager.LayoutParams) lp;
flexboxLp.setFlexGrow(1.0f);
flexboxLp.setAlignSelf(AlignItems.FLEX_END);
}
}
};
mBind.rvScene.setLayoutManager(new GridLayoutManager(mActivity, 3));
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(mActivity);
layoutManager.setFlexDirection(FlexDirection.ROW);
layoutManager.setJustifyContent(JustifyContent.FLEX_END);
// mBind.rvScene.setLayoutManager(new GridLayoutManager(mActivity, 3));
mBind.rvScene.setLayoutManager(layoutManager);
mBind.rvScene.setAdapter(sceneAdapter);
}
......@@ -253,6 +269,9 @@ public class SaleInstructionFragment extends BaseFragment<SImplePresenter, Fragm
mBind.refreshLayout.setEnableLoadMore(false);
}
page += 1;
}, responeThrowable -> {
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
}));
}
......
......@@ -37,7 +37,7 @@
<TextView
android:id="@+id/tv_model"
style="@style/sale_item_text2"
style="@style/sale_detail_text2"
android:text="" />
</LinearLayout>
......@@ -49,7 +49,7 @@
<TextView
android:id="@+id/tv_company"
style="@style/sale_item_text2" />
style="@style/sale_detail_text2" />
</LinearLayout>
<LinearLayout style="@style/sale_linearlayout_detail">
......@@ -60,7 +60,7 @@
<TextView
android:id="@+id/tv_company_pn"
style="@style/sale_item_text2" />
style="@style/sale_detail_text2" />
</LinearLayout>
<LinearLayout style="@style/sale_linearlayout_detail">
......@@ -72,7 +72,7 @@
<TextView
android:id="@+id/tv_single_price"
android:textColor="@color/cl_order_item_date"
style="@style/sale_item_text2" />
style="@style/sale_detail_text2" />
</LinearLayout>
<LinearLayout style="@style/sale_linearlayout_detail">
......@@ -83,8 +83,8 @@
<TextView
android:id="@+id/tv_desc"
style="@style/sale_item_text2"
android:maxLines="15" />
style="@style/sale_detail_text2"
android:maxLines="50" />
</LinearLayout>
<LinearLayout style="@style/sale_linearlayout_detail">
......
......@@ -35,7 +35,7 @@
<TextView
android:id="@+id/tv_bonus"
style="@style/sale_item_text2"
style="@style/sale_detail_text2"
android:textColor="@color/cl_order_item_date" />
</LinearLayout>
......@@ -60,7 +60,8 @@
<TextView
android:id="@+id/tv_face"
style="@style/sale_item_text2" />
android:maxLines="50"
style="@style/sale_detail_text2" />
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cb_scene"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="scene"
android:button="@drawable/cb_feed_back"
android:maxLines="1"
android:textSize="10sp"
android:layout_marginRight="3dp"
android:textStyle="bold"
android:layout_marginRight="5dp"
android:checked="true"
android:clickable="false"
android:paddingLeft="5dp"
......
......@@ -82,7 +82,7 @@
android:id="@+id/tv_commision"
style="@style/sale_item_text2"
android:text="00"
android:textColor="@color/cl_order_item_date"
android:textColor="@color/common_red"
android:textSize="12sp" />
</LinearLayout>
......
......@@ -81,7 +81,7 @@
android:id="@+id/tv_commision"
style="@style/sale_item_text2"
android:text="00"
android:textColor="@color/cl_order_item_date"
android:textColor="@color/common_red"
android:textSize="12sp" />
</LinearLayout>
......
......@@ -55,6 +55,10 @@ public class UserApiFactory {
return Api.getService(UserService.class).getOrderScore(engineerId).compose(Api.applySchedulers());
}
public static Observable<OrderRecord> getOrderScore(int engineerId) {
return Api.getService(UserService.class).getOrderScore(engineerId).compose(Api.applySchedulers());
}
public static Observable<TodayBalance> getTodayBalance(int accountId) {
return Api.getService(UserService.class).getTodayBalance(accountId).compose(Api.applySchedulers());
}
......
......@@ -9,6 +9,7 @@ import com.dayu.usercenter.model.bean.AddressInfoBean;
import com.dayu.usercenter.model.bean.BusinessSceneBean;
import com.dayu.usercenter.model.EditBankData;
import com.dayu.usercenter.model.bean.GlobelRateBean;
import com.dayu.usercenter.model.bean.SaleArriveListBean;
import com.dayu.usercenter.model.bean.SaleRecordBean;
import com.dayu.usercenter.model.bean.SaleRecordListBean;
import com.dayu.usercenter.model.bean.ServiceTypeBean;
......@@ -133,7 +134,7 @@ public interface UserService2 {
* @return
*/
@GET(Constants.API_7100+"/licenceInfo")
Observable<BaseResponse<BasePageBean<UserLicenceBean>>> getAllLicence(@Query("page") int page,
Observable<BaseResponse<BasePageBean<UserLicenceBean>>> getAllLicence(@Query("status") int status,@Query("page") int page,
@Query("pageSize") int pageSize);
/**
*已获认证资质
......@@ -190,13 +191,22 @@ public interface UserService2 {
@Path("type") int type);
/**
*销售业绩-列表
*销售业绩-奖励明细
* @return
*/
@GET(Constants.API_7800+"/payAccountRewardItem")
Observable<BaseResponse<BasePageBean<SaleRecordListBean>>> getSaleRecordList(@Query("accountId") int accountId,
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
*销售业绩-到账记录
* @return
*/
@GET(Constants.API_7800+"/payAccountWithdrawRecord/accountId/{accountId}/type/{type}")
Observable<BaseResponse<BasePageBean<SaleArriveListBean>>> getSaleArriveList(@Path("accountId") int accountId,
@Path("type") int type,
@Query("page") int page,
@Query("pageSize") int pageSize);
......
package com.dayu.usercenter.event;
public class RefreshSaleRecordEvent {
}
......@@ -6,12 +6,9 @@ public class ApplyLicenceData {
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;
......
package com.dayu.usercenter.model;
public class EditBankData {
public int id;
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) {
public EditBankData(int id,String bankAccount, String bankName, String realName, int sourceAccountId, int sourceType) {
this.id = id;
this.bankAccount = bankAccount;
this.bankName = bankName;
this.realName = realName;
......
package com.dayu.usercenter.model.bean;
public class SaleArriveListBean {
/**
* accountId : 0
* bankAccount : string
* bankName : string
* createTime : 2020-03-12T01:41:19.393Z
* id : 0
* identity : string
* mobile : string
* payAccountWithdrawId : 0
* price : 0
* realName : string
* type : 0
*/
private int accountId;
private String bankAccount;
private String bankName;
private String createTime;
private int id;
private String identity;
private String mobile;
private int payAccountWithdrawId;
private double price;
private String realName;
private int type;
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public String getBankAccount() {
return bankAccount;
}
public void setBankAccount(String bankAccount) {
this.bankAccount = bankAccount;
}
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
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 getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public int getPayAccountWithdrawId() {
return payAccountWithdrawId;
}
public void setPayAccountWithdrawId(int payAccountWithdrawId) {
this.payAccountWithdrawId = payAccountWithdrawId;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}
......@@ -36,6 +36,8 @@ public interface HomeUserContract {
*/
void dumpToSetting();
void requestError();
}
......@@ -43,7 +45,7 @@ public interface HomeUserContract {
//获取师傅的alipayAcccount
public abstract void getAlipayAccount(int accountId);
public abstract void getAllData(int userId, int siteId);
public abstract void getAllData(int userId);
/**
* 跳转到设置.
......
......@@ -3,6 +3,7 @@ package com.dayu.usercenter.presenter.homeuser;
import android.databinding.ObservableField;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.data.protocol.EngineerInfo;
import com.dayu.usercenter.data.protocol.OrderRecord;
......@@ -28,7 +29,6 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
public ObservableField<String> mUrl = new ObservableField<>();
private int mUid;
private int mSid;
@Override
public void onAttached() {
......@@ -45,9 +45,8 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
}
@Override
public void getAllData(int userId, int siteId) {
public void getAllData(int userId) {
mUid = userId;
mSid = siteId;
getUserInfo();
getRecordInfo();
}
......@@ -55,12 +54,12 @@ public class HomeUserPresenter extends HomeUserContract.Presenter {
public void getUserInfo(){
UserApiFactory.getEngineerInfo(mUid).subscribe(baseObserver(data->
mView.getPersonalInfoSuccess(data)
));
, responeThrowable -> mView.requestError()));
}
public void getRecordInfo(){
UserApiFactory.getOrderScore(mSid,mUid).subscribe(baseObserver(data->
UserApiFactory.getOrderScore(mUid).subscribe(baseObserver(data->
mView.getOrderRecordSuccess(data)
));
, responeThrowable -> mView.requestError()));
}
......
......@@ -8,6 +8,7 @@ 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.SPUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.megvii.idcardlib.util.Constant;
......@@ -15,6 +16,7 @@ import com.megvii.idcardlib.util.Constant;
public class UserLicencePresent extends UserLicenceContract.Presenter{
private int mPage;
private int mUserId;
private String mUserName;
public int type; //1.已获得 2.全部
private ObservableField<Object> datas = new ObservableField<>();
......@@ -22,6 +24,7 @@ public class UserLicencePresent extends UserLicenceContract.Presenter{
public void onAttached() {
UserInfo userInfo = UserManager.getInstance().getUser();
mUserId = Integer.parseInt(userInfo.getAccountId());
mUserName = userInfo.getAccountName();
}
public void setType(int type) {
......@@ -59,7 +62,7 @@ public class UserLicencePresent extends UserLicenceContract.Presenter{
//全部认证
private void getAllLicence() {
Api.getService(UserService2.class).getAllLicence(mPage,Constants.PAGESIZE).compose(Api.applySchedulers())
Api.getService(UserService2.class).getAllLicence(1,mPage,Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(baseObserver(licences->{
datas.set(licences);
mPage++;
......@@ -71,6 +74,8 @@ public class UserLicencePresent extends UserLicenceContract.Presenter{
mView.showDialog();
ApplyLicenceData applyData = new ApplyLicenceData(mUserId,item.getId(),
item.getLicenceAuthorityId(),item.getLicenceAuthorityName(),3);
applyData.accountName = mUserName;
applyData.accountMobile = (String) SPUtils.get("USER_PHONE","");
Api.getService(UserService2.class).applyLicence(applyData).compose(Api.applySchedulers())
.subscribe(baseObserver(result->{
ToastUtils.showShortToast(result?"申请成功":"申请失败");
......
......@@ -41,6 +41,7 @@ public class EditAddressActivity extends BaseActivity<SImplePresenter, ActivityE
private List<TreeAddressBean> areaList = new ArrayList<>();
private boolean isAddrSetted; //地址是否设置过
private int settedId;
@Override
public void setPresenter() {
......@@ -86,6 +87,7 @@ public class EditAddressActivity extends BaseActivity<SImplePresenter, ActivityE
cityId = data.getCityId();
areaId = data.getDistrictId();
isAddrSetted = true;
settedId = data.getId();
}));
}
......@@ -252,9 +254,11 @@ public class EditAddressActivity extends BaseActivity<SImplePresenter, ActivityE
showDialog();
AddressInfoBean addressData = new AddressInfoBean(mUserId, detailAddr, cityId
, cityName, areaId, areaName, phone, name, provinceId, provinceName);
addressData.setDefaultSelected(1);
addressData.setCreateBy(mUserInfo.getAccountName());
addressData.setModifyBy(mUserInfo.getAccountName());
if (isAddrSetted){
addressData.setId(settedId);
Api.getService(UserService2.class).updateAddressInfo(addressData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(this::submitDone));
}else{
......
......@@ -24,6 +24,7 @@ public class EditBankActivity extends BaseActivity<SImplePresenter, ActivityEdit
private String bankAccount;
private String bankHolder;
private boolean setted = false; //是否设置过信息
private int settedId; //设置过信息的id
@Override
public void setPresenter() {
......@@ -53,6 +54,7 @@ public class EditBankActivity extends BaseActivity<SImplePresenter, ActivityEdit
.subscribe(mPresenter.baseObserver(userBankInfoBean -> {
if (userBankInfoBean != null) {
setted = true;
settedId = userBankInfoBean.getId();
mBind.edtBankName.setText(userBankInfoBean.getBankName());
mBind.edtBankAccount.setText(userBankInfoBean.getBankAccount());
mBind.edtBankHolder.setText(userBankInfoBean.getRealName());
......@@ -89,7 +91,7 @@ public class EditBankActivity extends BaseActivity<SImplePresenter, ActivityEdit
//提交数据
private void submit() {
showDialog();
EditBankData data = new EditBankData(bankAccount, bankName, bankHolder, mUserId, 1);
EditBankData data = new EditBankData(settedId,bankAccount, bankName, bankHolder, mUserId, 1);
if (setted) {
Api.getService(UserService2.class).updateBankInfo(data).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(this::submitDone));
......
package com.dayu.usercenter.ui.activity2;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.LinearLayoutManager;
import android.util.Log;
import android.widget.Button;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
......@@ -11,8 +15,12 @@ import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.ActivitySaleRecordBinding;
import com.dayu.usercenter.event.RefreshSaleRecordEvent;
import com.dayu.usercenter.model.bean.SaleRecordListBean;
import com.dayu.usercenter.ui.MyValueFormatter;
import com.dayu.usercenter.ui.fragment.SaleRecordArriveFragment;
import com.dayu.usercenter.ui.fragment.SaleRecordDetailFragment;
import com.dayu.usercenter.ui.fragment.SaleRecordRuleFragment;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.BarData;
......@@ -23,6 +31,9 @@ import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;
import com.github.mikephil.charting.interfaces.datasets.IDataSet;
import com.github.mikephil.charting.utils.ColorTemplate;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
......@@ -30,7 +41,10 @@ import java.util.List;
* Created by mReturn
* on 2020/2/15
**/
public class SaleRecordActivity extends BaseActivity<SImplePresenter,ActivitySaleRecordBinding> {
public class SaleRecordActivity extends BaseActivity<SImplePresenter, ActivitySaleRecordBinding> {
private FragmentManager mFragmentManger;
private ArrayList<Fragment> mFragments = new ArrayList<>();
private int mPosition;
@Override
public int getLayoutId() {
......@@ -45,33 +59,84 @@ public class SaleRecordActivity extends BaseActivity<SImplePresenter,ActivitySal
@Override
public void initView() {
initUser();
mBind.receivingBack.setOnClickListener(v->dumpBack());
EventBus.getDefault().register(this);
mBind.receivingBack.setOnClickListener(v -> dumpBack());
showDialog();
initData();
mFragments.add(new SaleRecordDetailFragment());
mFragments.add(new SaleRecordArriveFragment());
mFragments.add(new SaleRecordRuleFragment());
initBtn();
addFragment();
}
private void initData() {
showDialog();
Api.getService(UserService2.class).getSaleRecordInfo(mUserId,1).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data->{
mBind.tvIncome.setText(data.getTotalRewardPrice()+"");
mBind.tvCount.setText(data.getOrderNum()+"");
Api.getService(UserService2.class).getSaleRecordInfo(mUserId, 1).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
mBind.tvIncome.setText(data.getTotalRewardPrice() + "");
mBind.tvCount.setText(data.getOrderNum() + "");
}));
Api.getService(UserService2.class).getSaleRecordList(mUserId,1,1000).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data->setAdapter(data.getData())));
}
private void setAdapter(List<SaleRecordListBean> datas) {
BaseQuickAdapter<SaleRecordListBean, BaseViewHolder> adapter =
new BaseQuickAdapter<SaleRecordListBean, BaseViewHolder>(R.layout.item_record_common, datas) {
@Override
protected void convert(BaseViewHolder helper, SaleRecordListBean item) {
helper.setText(R.id.tv_item1, item.getRewardPrice()+"");
helper.setText(R.id.tv_item2, item.getProviderName());
helper.setText(R.id.tv_item3, item.getCreateTime());
}
};
mBind.rvRecord.setLayoutManager(new LinearLayoutManager(this));
mBind.rvRecord.setAdapter(adapter);
//初始化tab
public void initBtn() {
mBind.btnDetail.setSelected(true);
mBind.btnDetail.setTextColor(getResources().getColor(R.color.white));
mBind.btnDetail.setOnClickListener((view) -> onTabClick(mBind.btnDetail, 0));
mBind.btnRecord.setOnClickListener((view) -> onTabClick(mBind.btnRecord, 1));
mBind.btnRule.setOnClickListener((view) -> onTabClick(mBind.btnRule, 2));
}
private void onTabClick(Button btn, int showPos) {
reSelected();
btn.setSelected(true);
btn.setTextColor(getResources().getColor(R.color.white));
showHideFragment(showPos, mPosition);
}
public void addFragment() {
mFragmentManger = getSupportFragmentManager();
FragmentTransaction transaction = mFragmentManger.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
for (int i = 0; i < mFragments.size(); i++) {
Fragment fragment = mFragments.get(i);
transaction.add(R.id.fl_container, fragment);
transaction.hide(fragment);
}
mPosition = 0;
transaction.show(mFragments.get(mPosition));
transaction.commit();
}
//重置
private void reSelected() {
mBind.btnDetail.setSelected(false);
mBind.btnRecord.setSelected(false);
mBind.btnRule.setSelected(false);
mBind.btnDetail.setTextColor(getResources().getColor(R.color.cl_home_button));
mBind.btnRecord.setTextColor(getResources().getColor(R.color.cl_home_button));
mBind.btnRule.setTextColor(getResources().getColor(R.color.cl_home_button));
}
//切换页面
private void showHideFragment(int showPosition, int hidePosition) {
if (showPosition == hidePosition) return;
mFragmentManger.beginTransaction()
.show(mFragments.get(showPosition))
.hide(mFragments.get(hidePosition))
.commit();
mPosition = showPosition;
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Subscribe
public void refreshData(RefreshSaleRecordEvent event){
initData();
}
}
......@@ -43,6 +43,7 @@ public class UserLicenceActivity extends BaseActivity<SImplePresenter,ActivityUs
addFragment();
}
//初始化tab
public void initBtn() {
mBind.btnGoods.setSelected(true);
mBind.btnGoods.setTextColor(getResources().getColor(R.color.white));
......@@ -74,6 +75,7 @@ public class UserLicenceActivity extends BaseActivity<SImplePresenter,ActivityUs
transaction.commit();
}
//充值
private void reSelected() {
mBind.btnGoods.setSelected(false);
mBind.btnSale.setSelected(false);
......@@ -81,6 +83,7 @@ public class UserLicenceActivity extends BaseActivity<SImplePresenter,ActivityUs
mBind.btnSale.setTextColor(getResources().getColor(R.color.cl_home_button));
}
//切换页面
private void showHideFragment(int showPosition, int hidePosition) {
if (showPosition == hidePosition) return;
mFragmentManger.beginTransaction()
......
......@@ -45,8 +45,6 @@ import org.greenrobot.eventbus.ThreadMode;
public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHomeUserBinding>
implements HomeUserContract.View {
private static final String TAG = "HomeUserFragment";
private int userId;
private int siteId;
private String mUserName;
private String mUserPhone;
private String mScore;
......@@ -61,13 +59,13 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
@Override
public void initView() {
UserInfo userInfo = UserManager.getInstance().getUser();
userId = Integer.parseInt(userInfo.getAccountId());
siteId = userInfo.getSiteId();
initUser();
ProgressUtil.startLoad(mActivity);
EventBus.getDefault().register(this);
// mPresenter.getAllData(userId, siteId);
// mPresenter.getAlipayAccount(userId);
mBind.refreshLayout.setEnableLoadMore(false);
mBind.refreshLayout.setOnRefreshListener(refreshLayout -> mPresenter.getAllData(mUserId));
}
@Override
......@@ -84,7 +82,7 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
protected void lazyLoad() {
super.lazyLoad();
showDialog();
mPresenter.getAllData(userId, siteId);
mPresenter.getAllData(mUserId);
// mPresenter.getAlipayAccount(userId);
}
......@@ -131,6 +129,7 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
@Override
public void getOrderRecordSuccess(OrderRecord record) {
mBind.refreshLayout.finishRefresh();
//认证资质
mBind.tvLicence.setText(record.getLicenceInfoNum() + "");
//工单记录
......@@ -169,6 +168,11 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
MobclickAgent.onEvent(mActivity, "setting");
}
@Override
public void requestError() {
mBind.refreshLayout.finishRefresh();
}
private void showAlertDialog() {
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, mActivity.getString(R.string.not_set_account)
......@@ -275,13 +279,14 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
@Subscribe(threadMode = ThreadMode.MAIN)
public void certifiCation(CertificationEvent event) {
mPresenter.getAllData(userId, siteId);
mPresenter.getAllData(mUserId);
}
@Subscribe
public void refreshRecord(RefreshUserRecordEvent event){
mPresenter.getRecordInfo();
}
@Subscribe
public void refreshUser(RefreshUserInfoEvent event){
mPresenter.getUserInfo();
......
package com.dayu.usercenter.ui.fragment;
import android.support.v7.widget.LinearLayoutManager;
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.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.Constants;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.FragmentSaleRecordArriveBinding;
import com.dayu.usercenter.databinding.FragmentSaleRecordDetailBinding;
import com.dayu.usercenter.event.RefreshSaleRecordEvent;
import com.dayu.usercenter.model.bean.SaleArriveListBean;
import com.dayu.usercenter.model.bean.SaleRecordListBean;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
public class SaleRecordArriveFragment extends BaseFragment<SImplePresenter,FragmentSaleRecordArriveBinding> {
BaseQuickAdapter<SaleArriveListBean, BaseViewHolder> mAdapter;
List<SaleArriveListBean> mDatas = new ArrayList<>();
int page = 1;
@Override
public void setPresenter() {
}
@Override
public int getLayoutId() {
return R.layout.fragment_sale_record_arrive;
}
@Override
public void initView() {
initUser();
mBind.refreshLayout.setEnableLoadMore(false);
mBind.refreshLayout.setOnRefreshListener(refreshLayout -> {
page = 1;
getDetailData();
});
mBind.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
EventBus.getDefault().post(new RefreshSaleRecordEvent());
getDetailData();
});
showDialog();
getDetailData();
}
private void getDetailData(){
Api.getService(UserService2.class).getSaleArriveList(mUserId,1, page, Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data ->{
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
if (page == 1) {
mDatas.clear();
}
mDatas.addAll(data.getData());
setAdapter();
if (page == data.getTotalPages()){
mBind.refreshLayout.setEnableLoadMore(false);
}
page += 1;
}, responeThrowable -> {
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
}));
}
private void setAdapter() {
if (mAdapter != null){
mAdapter.notifyDataSetChanged();
}else{
mAdapter = new BaseQuickAdapter<SaleArriveListBean, BaseViewHolder>(R.layout.item_record_arrive, mDatas) {
@Override
protected void convert(BaseViewHolder helper, SaleArriveListBean item) {
helper.setText(R.id.tv_item1, item.getCreateTime());
helper.setText(R.id.tv_item2, item.getPrice()+"");
}
};
mBind.rvRecord.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rvRecord.setAdapter(mAdapter);
}
}
}
package com.dayu.usercenter.ui.fragment;
import android.support.v7.widget.LinearLayoutManager;
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.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.Constants;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.FragmentSaleRecordDetailBinding;
import com.dayu.usercenter.event.RefreshSaleRecordEvent;
import com.dayu.usercenter.event.RefreshUserRecordEvent;
import com.dayu.usercenter.model.bean.SaleRecordListBean;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
public class SaleRecordDetailFragment extends BaseFragment<SImplePresenter,FragmentSaleRecordDetailBinding> {
BaseQuickAdapter<SaleRecordListBean, BaseViewHolder> mAdapter;
List<SaleRecordListBean> mDatas = new ArrayList<>();
int page = 1;
@Override
public void setPresenter() {
}
@Override
public int getLayoutId() {
return R.layout.fragment_sale_record_detail;
}
@Override
public void initView() {
initUser();
mBind.refreshLayout.setEnableLoadMore(false);
mBind.refreshLayout.setOnRefreshListener(refreshLayout -> {
page = 1;
getDetailData();
});
mBind.refreshLayout.setOnLoadMoreListener(refreshLayout -> {
EventBus.getDefault().post(new RefreshSaleRecordEvent());
getDetailData();
});
showDialog();
getDetailData();
}
private void getDetailData(){
Api.getService(UserService2.class).getSaleRecordList(mUserId, page, Constants.PAGESIZE).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data ->{
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
if (page == 1) {
mDatas.clear();
}
mDatas.addAll(data.getData());
setAdapter();
if (page == data.getTotalPages()){
mBind.refreshLayout.setEnableLoadMore(false);
}
page += 1;
}, responeThrowable -> {
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
}));
}
private void setAdapter() {
if (mAdapter != null){
mAdapter.notifyDataSetChanged();
}else{
mAdapter = new BaseQuickAdapter<SaleRecordListBean, BaseViewHolder>(R.layout.item_record_common, mDatas) {
@Override
protected void convert(BaseViewHolder helper, SaleRecordListBean item) {
helper.setText(R.id.tv_item1, item.getRewardPrice() + "");
helper.setText(R.id.tv_item2, item.getProviderName());
helper.setText(R.id.tv_item3, item.getCreateTime());
}
};
mBind.rvRecord.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rvRecord.setAdapter(mAdapter);
}
}
}
package com.dayu.usercenter.ui.fragment;
import android.text.Html;
import com.dayu.base.api.Api;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.FragmentSaleRecordDetailBinding;
import com.dayu.usercenter.databinding.FragmentSaleRecordRuleBinding;
public class SaleRecordRuleFragment extends BaseFragment<SImplePresenter,FragmentSaleRecordRuleBinding> {
@Override
public void setPresenter() {
}
@Override
public int getLayoutId() {
return R.layout.fragment_sale_record_rule;
}
@Override
public void initView() {
setRule4("","");
getRatioData();
}
private void getRatioData() {
//佣金比率
Api.getService(UserService2.class).getGlobelRate(1).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data->{
setRule4(data.getEngineerSalesCommissionRate()+"%",data.getUserRebateRate()+"%");
}));
}
private void setRule4(String ratio1,String ratio2) {
String str = getString(R.string.sale_record_rule4_1)+"<font color='#3e96e2'>"+ratio1+
"</font>"+getString(R.string.sale_record_rule4_1_2);
// +"<font color='#3e96e2'>"+ratio2+
// "</font>"+getString(R.string.sale_record_rule4_3);
mBind.tvRule4.setText(Html.fromHtml(str));
}
}
......@@ -39,6 +39,7 @@
android:text="@string/name_" />
<EditText
android:maxLength="30"
android:id="@+id/edt_name"
style="@style/edt_user_edit" />
</LinearLayout>
......@@ -54,6 +55,7 @@
<EditText
android:id="@+id/edt_phone"
style="@style/edt_user_edit"
android:maxLength="15"
android:inputType="number" />
</LinearLayout>
......@@ -137,6 +139,7 @@
android:text="@string/deatail_addr_" />
<EditText
android:maxLength="60"
android:id="@+id/edt_detail_addr"
style="@style/edt_user_edit" />
</LinearLayout>
......
......@@ -41,6 +41,7 @@
<EditText
android:id="@+id/edt_bank_name"
style="@style/edt_user_edit"
android:maxLength="30"
/>
</LinearLayout>
......@@ -53,6 +54,7 @@
android:text="@string/user_bank_account" />
<EditText
android:maxLength="25"
android:id="@+id/edt_bank_account"
style="@style/edt_user_edit"
android:inputType="number"
......@@ -68,6 +70,7 @@
android:text="@string/user_bank_holer" />
<EditText
android:maxLength="30"
android:id="@+id/edt_bank_holder"
style="@style/edt_user_edit"
/>
......
......@@ -72,47 +72,45 @@
<LinearLayout
android:layout_marginTop="15dp"
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
android:layout_height="wrap_content"
android:background="@color/cl_white"
android:layout_marginTop="10dp"
android:gravity="center">
<TextView
style="@style/sale_item_text"
<Button
android:id="@+id/btn_detail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_table_record_title1"
android:layout_height="35dp"
android:background="@drawable/detail_center_selector"
android:gravity="center"
android:text="@string/reward_money"
/>
<TextView
style="@style/sale_item_text"
android:text="@string/reward_detail" />
<Button
android:id="@+id/btn_record"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/bg_table_record_title2"
android:layout_weight="1"
android:layout_height="35dp"
android:background="@drawable/detail_center_selector"
android:gravity="center"
android:text="@string/reward_company" />
android:text="@string/arrive_record" />
<TextView
style="@style/sale_item_text"
<Button
android:id="@+id/btn_rule"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_height="35dp"
android:layout_weight="1"
android:background="@drawable/bg_table_record_title1"
android:background="@drawable/detail_end_selector"
android:gravity="center"
android:text="@string/reward_date" />
android:text="@string/reward_rule" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_record"
<FrameLayout
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:overScrollMode="never" />
android:layout_height="match_parent"
android:layout_marginTop="2dp"
android:layout_weight="1" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -114,7 +114,9 @@
<TextView
android:id="@+id/tv_id_num"
style="@style/sale_item_text2" />
style="@style/sale_item_text2"
android:text="@{presenter.info.identity}"
/>
</LinearLayout>
</LinearLayout>
......@@ -223,6 +225,7 @@
<TextView
android:id="@+id/tv_addr_add"
style="@style/sale_item_text2"
android:maxLines="5"
android:text="@{presenter.detailAddress}" />
</LinearLayout>
......
......@@ -28,6 +28,11 @@
android:src="@drawable/person_setting" />
</RelativeLayout>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="2dp">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
......@@ -51,9 +56,10 @@
android:id="@+id/person_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/personal_center_selector"
android:background="@color/table_record_title_bg"
android:onClick="@{()->presenter.toUserSetting()}"
android:padding="15dp">
android:padding="10dp"
>
<ImageView
android:layout_width="wrap_content"
......@@ -61,13 +67,13 @@
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:src="@drawable/icon_arrow_right" />
android:src="@drawable/icon_arrow_right_gray" />
<com.dayu.widgets.CircleImageView
android:id="@+id/iv_header"
imageUrl="@{presenter.mUrl}"
android:layout_width="86dp"
android:layout_height="86dp"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_marginLeft="10dp"
android:src="@drawable/user" />
<!--android:onClick="@{()->presenter.dumpToPersonalInfo()}"-->
......@@ -100,7 +106,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginTop="13.3dp"
android:layout_marginTop="25dp"
android:layout_toRightOf="@id/iv_header"
android:text="@string/tv_person_center_name"
android:textColor="@color/cl_home_title_text_color"
......@@ -320,5 +326,6 @@
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="1dp"
android:paddingRight="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/bg_order_step_title1"
android:gravity="center"
android:text="@string/arrive_time" />
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_order_step_title3"
android:gravity="center"
android:text="@string/arrive_money" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_record"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
</LinearLayout>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="1dp"
android:paddingRight="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_order_step_title1"
android:gravity="center"
android:text="@string/reward_money" />
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/bg_order_step_title2"
android:gravity="center"
android:text="@string/reward_company" />
<TextView
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/bg_order_step_title1"
android:gravity="center"
android:text="@string/reward_date" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_record"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />
</LinearLayout>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</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:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_marginTop="20dp"
android:orientation="vertical">
<TextView
android:textSize="18sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
style="@style/sale_item_text"
android:text="@string/reward_rule" />
<TextView
android:visibility="gone"
style="@style/sale_item_text"
android:maxLines="15"
android:layout_marginTop="10dp"
android:text="@string/sale_record_rule1" />
<TextView
style="@style/sale_item_text"
android:maxLines="15"
android:layout_marginTop="10dp"
android:text="@string/sale_record_rule2" />
<TextView
android:visibility="gone"
style="@style/sale_item_text"
android:maxLines="15"
android:layout_marginTop="10dp"
android:text="@string/sale_record_rule3" />
<TextView
android:id="@+id/tv_rule4"
style="@style/sale_item_text"
android:maxLines="15"
android:layout_marginTop="10dp"
/>
</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:orientation="horizontal">
<TextView
android:id="@+id/tv_item1"
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="match_parent"
android:background="@drawable/bg_order_step_item1"
android:gravity="center"
android:maxLines="5"
/>
<TextView
android:id="@+id/tv_item2"
style="@style/sale_item_text"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="@drawable/bg_order_step_item2"
android:gravity="center"
android:maxLines="5"
/>
</LinearLayout>
<?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="30dp"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
......
......@@ -16,4 +16,16 @@
<string name="setlect_ciy_hint">请选择市</string>
<string name="setlect_area">选择区</string>
<string name="setlect_area_hint">请选择区</string>
<string name="reward_rule">奖励规则</string>
<string name="arrive_record">到账记录</string>
<string name="reward_detail">奖励明细</string>
<string name="arrive_time">到账日期</string>
<string name="arrive_money">到账总金额</string>
<string name="sale_record_rule1">【消费返利】为感谢您的支持,商家将根据您的实际商品订单消费金额返还现金,消费成功(无退单退款退货)后15日兑现。</string>
<string name="sale_record_rule2">1、【推荐有奖】好东西就要大家分享!如果您觉得好,欢迎您向朋友圈转发宣传,推荐成功后将获得商家的奖励。</string>
<string name="sale_record_rule3">请绑定您的微信收款账户,每月的【消费返利】和【推荐有奖】都将在下月初返现到您的账户中。</string>
<string name="sale_record_rule4_1">2、对于[推荐奖励]平台收取每笔奖励金额</string>
<string name="sale_record_rule4_1_2">的佣金。(佣金含依法代扣代缴个人劳务收入所得税费和支付手续费等)</string>
<string name="sale_record_rule4_2">的佣金,对于[消费返利]平台收取每笔返利金额</string>
<string name="sale_record_rule4_3">的佣金。(佣金含依法代扣代缴个人劳务收入所得税费和支付手续费等)</string>
</resources>
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