Files
VscoolOS/app/src/main/java/com/uiuios/aios/activity/ExpressActivity.java
Fanhuitong 3f6723f64a version:4.6
fix:
update:优化订单页,增加快递详情页
2024-03-08 09:25:39 +08:00

113 lines
4.8 KiB
Java

package com.uiuios.aios.activity;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import androidx.databinding.DataBindingUtil;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiuios.aios.R;
import com.uiuios.aios.base.BaseDataBindingActivity;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.ExpressData;
import com.uiuios.aios.bean.LogisticsTrace;
import com.uiuios.aios.bean.LogisticsTraceDeta;
import com.uiuios.aios.databinding.ActivityExpressBinding;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.utils.TimeUtils;
import java.util.List;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
public class ExpressActivity extends BaseDataBindingActivity {
private static final String TAG = ExpressActivity.class.getSimpleName();
private ActivityExpressBinding mBinding;
/**
* 初始化视图
*/
@Override
public void initView() {
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_express);
}
/**
* 初始化数据
*/
@Override
public void initData() {
Intent intent = getIntent();
if (intent == null) {
Log.e(TAG, "initData: intent is null");
return;
}
String orderSn = intent.getStringExtra("order_sn");
String orderId = intent.getStringExtra("order_id");
if (TextUtils.isEmpty(orderSn) || TextUtils.isEmpty(orderId)) {
Log.e(TAG, "initData: orderSn is empty or orderId is empty");
return;
}
getOrderExpress(orderSn, orderId);
}
private void getOrderExpress(String orderSn, String orderId) {
NetInterfaceManager.getInstance()
.getOrderExpressObservable(orderSn, orderId)
.compose(RxLifecycle.bindUntilEvent(lifecycleSubject, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse<ExpressData>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getOrderExpress", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<ExpressData> expressDataBaseResponse) {
Log.e("getOrderExpress", "onNext: " + expressDataBaseResponse);
if (expressDataBaseResponse.code == 200) {
ExpressData expressData = expressDataBaseResponse.data;
if (expressData.isSuccess()) {
LogisticsTrace logisticsTrace = expressData.getLogisticsTrace();
mBinding.tvExpressNo.setText(logisticsTrace.getMailNo());
List<LogisticsTraceDeta> logisticsTraceDetaList = logisticsTrace.getLogisticsTraceDetailList();
for (LogisticsTraceDeta logisticsTraceDeta : logisticsTraceDetaList) {
View view = LayoutInflater.from(ExpressActivity.this).inflate(R.layout.item_timeline, mBinding.timelineLayout, false);
((TextView) view.findViewById(R.id.tv_action)).setText(logisticsTraceDeta.getDesc());
((TextView) view.findViewById(R.id.tv_action_time)).setText(TimeUtils.transferLongToDate(logisticsTraceDeta.getTime()));
((TextView) view.findViewById(R.id.tv_action_status)).setText(logisticsTraceDeta.getAreaName());
mBinding.timelineLayout.addView(view);
}
mBinding.timelineLayout.setVisibility(View.VISIBLE);
mBinding.clNodata.setVisibility(View.GONE);
}else {
mBinding.timelineLayout.setVisibility(View.GONE);
mBinding.clNodata.setVisibility(View.VISIBLE);
}
} else {
mBinding.timelineLayout.setVisibility(View.GONE);
mBinding.clNodata.setVisibility(View.VISIBLE);
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getOrderExpress", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
Log.e("getOrderExpress", "onComplete: ");
}
});
}
}