Browse Source

feat: 余额补领

master
huting 2 years ago
parent
commit
d6e537767f

+ 7
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/BalanceReplacementStep1Activity.java View File

@@ -20,6 +20,7 @@ public class BalanceReplacementStep1Activity extends AppActivity {
private ActivityBalanceReplacementStep1Binding binding;

private ResultBean.BizContent curBizContent;
private String curVehicleId; //车辆编号

@Override
protected View getLayoutView() {
@@ -43,6 +44,11 @@ public class BalanceReplacementStep1Activity extends AppActivity {
binding.LLSearchResult.setVisibility(View.GONE);
binding.LLBottom.setVisibility(View.GONE);
}

@Override
public void onVehicleId(String vehicleId) {
curVehicleId = vehicleId;
}
});

binding.btnNext.setOnClickListener(new View.OnClickListener() {
@@ -51,6 +57,7 @@ public class BalanceReplacementStep1Activity extends AppActivity {
public void onClick(View view) {
Bundle bundle = new Bundle();
bundle.putString("json", JSON.toJSONString(curBizContent));
bundle.putString("vehicleId", curVehicleId);
jumpToPage(BalanceReplacementStep2Activity.class, bundle);
}
});

+ 69
- 37
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/BalanceReplacementStep2Activity.java View File

@@ -1,19 +1,18 @@
package com.huntersun.vkyes.etcopencard.project.ui.activity.after;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;

import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.hjq.base.BaseDialog;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.databinding.ActivityBalanceReplacementStep2Binding;
import com.huntersun.vkyes.etcopencard.project.api.Api;
import com.huntersun.vkyes.etcopencard.project.api.Converter;
import com.huntersun.vkyes.etcopencard.project.api.MyRetrofit;
import com.huntersun.vkyes.etcopencard.project.api.Parameters;
import com.huntersun.vkyes.etcopencard.project.api.RequestParameters;
import com.huntersun.vkyes.etcopencard.project.api.Result;
import com.huntersun.vkyes.etcopencard.project.api.bean.IFCode;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.dialog.ConfirmDialog;
import com.huntersun.vkyes.etcopencard.project.tool.Utils;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.BalanceReplacementAdapter;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.action.StatusAction;
@@ -24,7 +23,8 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener;

import org.jetbrains.annotations.NotNull;

import java.util.List;
import java.util.HashMap;
import java.util.Map;

import androidx.annotation.NonNull;
import retrofit2.Response;
@@ -39,7 +39,9 @@ public class BalanceReplacementStep2Activity extends AppActivity implements OnRe

//订单信息
private ResultBean.BizContent curBizContent;
private int page = 1;
//车辆编号 车牌号_车辆颜色
private String vehicleId;

private BalanceReplacementAdapter adapter;

@Override
@@ -51,6 +53,7 @@ public class BalanceReplacementStep2Activity extends AppActivity implements OnRe
@Override
protected void initView() {
String json = getIntent().getStringExtra("json");
vehicleId = getIntent().getStringExtra("vehicleId");
if (!FunHelper.isEmpty(json)) {
curBizContent = JSON.parseObject(json, ResultBean.BizContent.class);
}
@@ -63,7 +66,16 @@ public class BalanceReplacementStep2Activity extends AppActivity implements OnRe
adapter.setOnItemClickListener(new BalanceReplacementAdapter.OnItemClickListener() {
@Override
public void doItemClick(ResultBean.BizContent bizContent) {
toast("余额补领");
if (bizContent.refundType.equals("GLYQR")){//余额补领
new Utils().showMessDialog(getActivity(), "是否确认申请余额补领", new Utils.dialogCallback() {
@Override
public void onConfirm(BaseDialog dialog) {
applyBalanceReplace(bizContent.getId());
}
});
}else{//圈存
toLoop(bizContent.getId());
}
}
});
}
@@ -75,41 +87,63 @@ public class BalanceReplacementStep2Activity extends AppActivity implements OnRe
getList();
}

/**
* 申请余额补领
* @param id
*/
private void applyBalanceReplace(String id){
Map<String, String> params = new HashMap<>();
params.put("id", id);
MyRetrofit.newInstance(IFCode.IFCODE918, params, new MyRetrofit.ReturnResult() {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
toLoop(id);
}

@Override
public void onError(Response<Result> resp) {
new ConfirmDialog.Builder(BalanceReplacementStep2Activity.this).setMsg(resp.body().errorMsg, "补领失败","确定","", R.mipmap.icon_lotgout_etc_hint, 0,true)
.onClick(new ConfirmDialog.Result() {
@Override
public void confirm() { }
}).show();
}
});
}

/**
* 补领单号
* @param replId
*/
private void toLoop(String replId){
//TODO 执行圈存
toast("执行圈存操作");

Bundle bundle = new Bundle();
bundle.putString("from","2");
jumpToPage(CommonDealSuccessActivity.class,bundle);
finish();
}

/*
* 获取列表
*/
private void getList() {
Parameters parameters = new Parameters();
parameters.setPageNo(String.valueOf(page));
parameters.setPageSize("10");
parameters.setCardId(curBizContent.getCardId());
RequestParameters parameters1 = new RequestParameters(IFCode.IFCODE924, new Gson().toJson(parameters));
if (page == 1) {
showLoading();
}
new MyRetrofit().getRetrofit().create(Api.class).message2(parameters1).enqueue(new Converter<Result>(getActivity()) {
@SuppressLint("NotifyDataSetChanged")
Map<String, String> params = new HashMap<>();
params.put("vehicleId", vehicleId);
MyRetrofit.newInstance(IFCode.IFCODE924, params, new MyRetrofit.ReturnResult() {
@Override
protected void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent1) {
if (FunHelper.isEmpty(bizContent1.getData())) {
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
if (FunHelper.isEmpty(bizContent.getData())) {
postDelayed(BalanceReplacementStep2Activity.this::showEmpty, 300);
return;
}

if (page == 1){
if (!bizContent1.hasData){
showEmpty();
}else{
adapter.replaceData(bizContent1.getData());
}
}else{
if (bizContent1.hasData){
adapter.addData(bizContent1.getData());
}
}
showComplete();
adapter.replaceData(bizContent.getData());
}

@Override
public void onError(String err, Response<Result> resp) {
super.onError(err, resp);
public void onError(Response<Result> resp) {
showError(new StatusLayout.OnRetryListener() {
@Override
public void onRetry(StatusLayout layout) {
@@ -128,7 +162,6 @@ public class BalanceReplacementStep2Activity extends AppActivity implements OnRe
@Override
public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) {
postDelayed(() -> {
page = page + 1;
getList();
binding.rlStatusRefresh.finishLoadMore();
}, 1000);
@@ -137,7 +170,6 @@ public class BalanceReplacementStep2Activity extends AppActivity implements OnRe
@Override
public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) {
postDelayed(() -> {
page = 1;
getList();
binding.rlStatusRefresh.finishRefresh();
}, 1000);

+ 2
- 2
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/CommonDealSuccessActivity.java View File

@@ -1,11 +1,11 @@
package com.huntersun.vkyes.etcopencard.project.ui.activity.after;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import com.huntersun.vkyes.etcopencard.databinding.ActivityCommonDealSuccessBinding;
import com.huntersun.vkyes.etcopencard.project.ui.activity.order.OrderDetailsActivity;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;

/**
@@ -79,7 +79,7 @@ public class CommonDealSuccessActivity extends AppActivity {
binding.btnHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (from.equals("8")){
if (from.equals("8") && !FunHelper.isEmpty(id)){
Bundle bundle = new Bundle();
bundle.putString("id", id);
jumpToPage(OrderDetailsActivity.class,bundle);

+ 12
- 2
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/BalanceReplacementAdapter.java View File

@@ -28,13 +28,23 @@ public class BalanceReplacementAdapter extends BaseQuickAdapter<ResultBean.BizCo

@Override
protected void convert(@NonNull @NotNull BaseViewHolder holder, ResultBean.BizContent bizContent) {
if (FunHelper.isEmpty(bizContent.refundType)) bizContent.refundType = "";

holder.setText(R.id.tvOrderId, FunHelper.isEmpty(bizContent.getId()) ? "" : bizContent.getId());
holder.setText(R.id.tvVehiclePlate,bizContent.getVehiclePlate());
holder.setText(R.id.tvOldCardId,FunHelper.isEmpty(bizContent.getCardId()) ? "" : bizContent.getCardId());
holder.setText(R.id.tvOldMoney,"¥" + (FunHelper.isEmpty(bizContent.cardBalance) ? "0.00" : FunHelper.changeF2Y(Long.parseLong(bizContent.cardBalance))));
holder.setText(R.id.tvStatus,FunHelper.getReturnTypeByReturnStatus(bizContent.refundType));
holder.setVisible(R.id.btn,bizContent.refundType.equals("GLYQR") ? true : false);
holder.setVisible(R.id.tvStatus,bizContent.refundType.equals("GLYQR") ? false : true);

//补领和圈存
if (bizContent.refundType.equals("GLYQR") || bizContent.refundType.equals("BALSUP")){
holder.setGone(R.id.btn,true );
holder.setGone(R.id.tvStatus,false);
holder.setText(R.id.btn,bizContent.refundType.equals("GLYQR") ? "余额补领" : "圈存");
}else{
holder.setGone(R.id.btn,false );
holder.setGone(R.id.tvStatus,true );
}

holder.setOnClickListener(R.id.btn, new View.OnClickListener() {
@Override

+ 2
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/FunHelper.java View File

@@ -183,6 +183,8 @@ public class FunHelper {
* @return
*/
public static String getReturnTypeByReturnStatus(String type){
if (FunHelper.isEmpty(type)) return "";

switch (type){
case "WTJTF":
return "未提交退费";

+ 7
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/SearchCarInfoUtils.java View File

@@ -115,6 +115,10 @@ public class SearchCarInfoUtils {
}

private void doSearch() {
if (callback != null){
callback.onVehicleId(FunHelper.getText(etSearch) + "_" + vehiclePlateColor);
}

mContext.showDialog("订单信息查询中...");
Map<String, String> params = new HashMap<>();
params.put("vehicleId", FunHelper.getText(etSearch) + "_" + vehiclePlateColor);
@@ -145,5 +149,8 @@ public class SearchCarInfoUtils {
public interface OnSearchResultClick {
void onSearchResultSuccess(ResultBean.BizContent bizContent);
void onSearchResultFail(Result result);
default void onVehicleId(String vehicleId){

}
}
}

+ 4
- 5
app/src/main/res/layout/item_balance_replacement.xml View File

@@ -120,13 +120,13 @@
</LinearLayout>

<TextView
style="@style/MatchOne.HorLine"/>
style="@style/MatchOne.HorLine"
android:layout_marginTop="@dimen/dp_15"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
style="@style/MatchWrap"
android:gravity="right|center_vertical"
android:paddingVertical="@dimen/dp_12"
android:orientation="vertical">
<Button
android:id="@+id/btn"
@@ -141,7 +141,6 @@
<TextView
android:id="@+id/tvStatus"
style="@style/WrapWrap"
android:text=""
android:visibility="visible"
android:layout_marginLeft="@dimen/dp_10"
android:textSize="@dimen/sp_15"

Loading…
Cancel
Save