@@ -10,9 +10,9 @@ | |||
{ | |||
"type": "SINGLE", | |||
"filters": [], | |||
"versionCode": 11, | |||
"versionName": "1.1.0", | |||
"outputFile": "jz_app_v1.1.0_release_1010.apk" | |||
"versionCode": 12, | |||
"versionName": "1.1.3", | |||
"outputFile": "jz_app_v1.1.3_release_1114.apk" | |||
} | |||
] | |||
} |
@@ -136,7 +136,7 @@ | |||
<activity | |||
android:name=".project.ui.activity.QueryYWYOperateRecordActivity" | |||
android:exported="false" | |||
android:screenOrientation="portrait"></activity> | |||
android:screenOrientation="portrait" /> | |||
<activity | |||
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.GuideActivity" | |||
android:launchMode="singleTop" | |||
@@ -264,8 +264,8 @@ | |||
android:screenOrientation="portrait" /> <!-- 知识库 --> | |||
<activity | |||
android:name=".project.ui.activity.after.TopUpRecordActivity" | |||
android:screenOrientation="portrait" | |||
android:exported="false"><!-- 圈存记录查询 --> | |||
android:exported="false" | |||
android:screenOrientation="portrait"> <!-- 圈存记录查询 --> | |||
</activity> | |||
<activity | |||
android:name=".project.ui.activity.after.ExtraCreditStep3Activity" | |||
@@ -681,6 +681,11 @@ | |||
android:name=".project.ui.activity.after.PetCardToAccountCardStep1Activity" | |||
android:launchMode="singleTop" | |||
android:screenOrientation="portrait" /> | |||
<activity | |||
android:name=".project.ui.activity.after.PetCardToAccountCardStepExtraActivity" | |||
android:screenOrientation="portrait" | |||
android:exported="false"> | |||
</activity> | |||
<activity | |||
android:name=".project.ui.activity.after.PetCardToAccountCardStep2Activity" | |||
android:launchMode="singleTop" |
@@ -5,8 +5,10 @@ import android.annotation.SuppressLint; | |||
import android.content.Context; | |||
import android.util.Log; | |||
import com.alibaba.fastjson.JSONObject; | |||
import com.google.gson.Gson; | |||
import com.google.gson.GsonBuilder; | |||
import com.google.gson.internal.LinkedTreeMap; | |||
import com.google.gson.reflect.TypeToken; | |||
import com.huntersun.vky.obublelib.bean.DecryptVehicleApduBean; | |||
import com.huntersun.vky.obublelib.box.BoxManagers; | |||
@@ -63,10 +65,10 @@ public class ObuActivation implements ToastAction { | |||
bean = new SendTheVerificationCodeBean(); | |||
bean.setObuId(apduBean.getContractNo()); //OBU号 | |||
//获取Obu信息 | |||
MyRetrofit.newInstance(context, IFCode.IFCODE153, bean, new MyRetrofit.ReturnResult() { | |||
MyRetrofit.newInstance(context,true, IFCode.IFCODE153, bean, new MyRetrofit.ReturnResult() { | |||
@Override | |||
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) { | |||
outCallBack.onSuccess((ResultBean.BizContent) bizContent.getObus().get(0)); | |||
outCallBack.onSuccess((ResultBean.BizContent) bizContent.getData().get(0)); | |||
} | |||
}); | |||
} |
@@ -108,7 +108,7 @@ public class PetCardToAccountCardStep1Activity extends AppActivity { | |||
Bundle bundle = new Bundle(); | |||
bundle.putString("dataJson", JSON.toJSONString(curBizContent)); | |||
bundle.putString("applyId",bizContent.applyId); | |||
jumpToPage(PetCardToAccountCardStep2Activity.class,bundle); | |||
jumpToPage(PetCardToAccountCardStepExtraActivity.class,bundle); | |||
} | |||
@Override |
@@ -0,0 +1,198 @@ | |||
package com.huntersun.vkyes.etcopencard.project.ui.activity.after; | |||
import androidx.annotation.NonNull; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.annotation.SuppressLint; | |||
import android.os.Bundle; | |||
import android.text.TextUtils; | |||
import android.view.Gravity; | |||
import android.view.View; | |||
import android.widget.LinearLayout; | |||
import com.alibaba.fastjson.JSONArray; | |||
import com.alibaba.fastjson.JSONObject; | |||
import com.blankj.utilcode.util.ArrayUtils; | |||
import com.chad.library.adapter.base.BaseQuickAdapter; | |||
import com.chad.library.adapter.base.BaseViewHolder; | |||
import com.google.gson.JsonParseException; | |||
import com.google.gson.internal.LinkedTreeMap; | |||
import com.huntersun.vkyes.etcopencard.R; | |||
import com.huntersun.vkyes.etcopencard.databinding.ActivityPetCardToAccountCardStepExtraBinding; | |||
import com.huntersun.vkyes.etcopencard.project.api.FatherBean; | |||
import com.huntersun.vkyes.etcopencard.project.api.MyRetrofit; | |||
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.api.bean.SendTheVerificationCodeBean; | |||
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper; | |||
import com.huntersun.vkyes.etcopencard.project.view.CommonItemDecoration; | |||
import com.huntersun.vkyes.etcopencard.src.action.StatusAction; | |||
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick; | |||
import com.huntersun.vkyes.etcopencard.src.app.AppActivity; | |||
import com.huntersun.vkyes.etcopencard.src.ui.dialog.MenuDialog; | |||
import com.huntersun.vkyes.etcopencard.src.widget.StatusLayout; | |||
import com.scwang.smart.refresh.layout.api.RefreshLayout; | |||
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import java.util.stream.Collectors; | |||
import retrofit2.Response; | |||
/** | |||
* | |||
* @ClassName: PetCardToAccountCardStepExtraActivity | |||
* @Description: 储值卡转记账卡产品选择页面 | |||
* @Author: lujin | |||
* @CreateDate: 2023/11/17 17:22 | |||
*/ | |||
public class PetCardToAccountCardStepExtraActivity extends AppActivity implements StatusAction, OnRefreshLoadMoreListener { | |||
private ActivityPetCardToAccountCardStepExtraBinding binding; | |||
private ArrayList<String> cardTypeList = new ArrayList<>(); | |||
private ResultBean.BizContent bizContent; | |||
@Override | |||
protected View getLayoutView() { | |||
binding = ActivityPetCardToAccountCardStepExtraBinding.inflate(getLayoutInflater()); | |||
return binding.getRoot(); | |||
} | |||
@Override | |||
protected void initView() { | |||
setTitle("产品选择"); | |||
CommonItemDecoration commonItemDecoration = new CommonItemDecoration(0,40,0,40,0,0); | |||
binding.recycler.addItemDecoration(commonItemDecoration); | |||
binding.recycler.setAdapter(adapter); | |||
binding.rlStatusRefresh.setOnRefreshListener(this); | |||
showLoading(); | |||
} | |||
@Override | |||
protected void initData() { | |||
bizContent = JSONObject.parseObject(getIntent().getStringExtra("dataJson"), ResultBean.BizContent.class); | |||
FatherBean<SendTheVerificationCodeBean> fatherBean = new FatherBean<>(); | |||
fatherBean.bizContent = new SendTheVerificationCodeBean(); | |||
fatherBean.bizContent.setType(bizContent.getType());//1客车 2货车 | |||
MyRetrofit.newInstance(true, IFCode.IFCODE_PRODUCTGET, fatherBean.bizContent, new MyRetrofit.ReturnResult() { | |||
@Override | |||
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) { | |||
// List<ResultBean.BizContent> list = | |||
// JSONArray.parseArray(resultBean.getBizContent() + "", ResultBean.BizContent.class); | |||
try { | |||
LinkedTreeMap<String, Object> result = JSONObject.parseObject(resultBean.getBizContent().toString(), LinkedTreeMap.class); | |||
List<ResultBean.BizContent> list = JSONArray.parseArray(result.get("csmsnPromoteDistPro").toString(), ResultBean.BizContent.class); | |||
if (list.size() == 0) { | |||
showEmpty(); | |||
} else { | |||
adapter.replaceData(list.stream().filter(item-> ArrayUtils.contains(item.cardType,"2")).collect(Collectors.toList())); | |||
showComplete(); | |||
} | |||
}catch (JsonParseException e){ | |||
toast(e); | |||
} | |||
} | |||
@Override | |||
public void onError(Response<Result> resp) { | |||
MyRetrofit.ReturnResult.super.onError(resp); | |||
showError(layout -> initData()); | |||
} | |||
}); | |||
} | |||
BaseQuickAdapter<ResultBean.BizContent, BaseViewHolder> adapter | |||
= new BaseQuickAdapter<ResultBean.BizContent, BaseViewHolder>(R.layout.item_product_ioc) { | |||
@SuppressLint("UseCompatLoadingForDrawables") | |||
@Override | |||
protected void convert(BaseViewHolder helper, ResultBean.BizContent items) { | |||
String cardName = ""; | |||
for (String i : items.cardType){ | |||
switch (i){ | |||
case "2": | |||
if ("".equals(cardName)){ | |||
cardName = cardName + "记账卡"; | |||
}else { | |||
cardName = cardName + ",记账卡"; | |||
} | |||
break; | |||
case "1": | |||
if ("".equals(cardName)){ | |||
cardName = cardName + "储值卡"; | |||
}else { | |||
cardName = cardName + ",储值卡"; | |||
} | |||
break; | |||
case "3": | |||
if ("".equals(cardName)){ | |||
cardName = cardName + "预存卡"; | |||
}else { | |||
cardName = cardName + ",预存卡"; | |||
} | |||
break; | |||
} | |||
} | |||
helper.setText(R.id.text1, items.promoteName); // 产品名称 | |||
helper.setText(R.id.text2, cardName); // 产品介绍 | |||
helper.setText(R.id.text3, FunHelper.changeF2Y(Long.parseLong(items.fee)) + ""); // 金额 | |||
LinearLayout layout = helper.getView(R.id.layout); | |||
if (helper.getPosition() == 1) { | |||
layout.setBackground(getResources().getDrawable(R.mipmap.product_bg2)); | |||
} | |||
layout.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
@SingleClick | |||
public void onClick(View v) { | |||
if (TextUtils.isEmpty(items.getIsSign())) { | |||
toast("无法获取卡类型"); | |||
return; | |||
} | |||
if (items.cardType.length>1){ | |||
if (cardTypeList.size()>0){ | |||
cardTypeList.clear(); | |||
} | |||
for (int i = 0;i<items.cardType.length;i++){ | |||
cardTypeList.add(getCardTypeName(items.cardType[i])); | |||
} | |||
new MenuDialog.Builder(mContext) | |||
.setGravity(Gravity.CENTER) | |||
.setList(cardTypeList) | |||
.setListener((MenuDialog.OnListener<String>) (dialog, position, string) -> { | |||
// gotoNextPage(items,items.cardType[position]); | |||
}) .show(); | |||
}else { | |||
// gotoNextPage(items,items.cardType[0]); | |||
} | |||
} | |||
}); | |||
} | |||
}; | |||
private String getCardTypeName(String cardType){ | |||
if ("2".equals(cardType)){ | |||
return "记账卡"; | |||
}else if ("1".equals(cardType)){ | |||
return "储值卡"; | |||
}else { | |||
return "预存卡"; | |||
} | |||
} | |||
@Override | |||
public StatusLayout getStatusLayout() { | |||
return binding.hlStatusHint; | |||
} | |||
@Override | |||
public void onLoadMore(@NonNull RefreshLayout refreshLayout) { | |||
showComplete(); | |||
} | |||
@Override | |||
public void onRefresh(@NonNull RefreshLayout refreshLayout) { | |||
initData(); | |||
refreshLayout.finishRefresh(); | |||
} | |||
} |
@@ -165,7 +165,7 @@ public class ReplaceEtcStep5Activity extends AppActivity { | |||
params.put("terminalId", "999999999999"); | |||
params.put("TerminalId", "999999999999"); | |||
params.put("staffId", (String) MyShared.getInstance().get(MyShared.OPENID, "")); | |||
MyRetrofit.newInstance(IFCode.IFCODE887, params, new MyRetrofit.ReturnResult() { | |||
MyRetrofit.newInstance(this,IFCode.IFCODE887, params, new MyRetrofit.ReturnResult() { | |||
@Override | |||
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) { | |||
hideDialog(); |
@@ -87,7 +87,7 @@ public class InfoTabActivity extends AppActivity { | |||
obuBeans.add(new EnumBean("OBU设备号", BoxManagers.mDecryptVehicleApduBean.getContractNo())); | |||
obuBeans.add(new EnumBean("车牌号码", bizContent.getVehiclePlate())); | |||
obuBeans.add(new EnumBean("车牌颜色", EnumBean.backValue(bizContent.getVehiclePlateColor(), EnumBean.VEHICLE_COLOR))); | |||
obuBeans.add(new EnumBean("收费车类型", "0".equals(bizContent.getType()) ? "客车" : "货车")); | |||
obuBeans.add(new EnumBean("收费车类型", "1".equals(bizContent.getType()) ? "客车" : "货车")); | |||
obuBeans.add(new EnumBean("用户类型", "1".equals(bizContent.getUserType()) ? "个人用户" : "单位用户")); | |||
obuBeans.add(new EnumBean("座位数", bizContent.getApprovedCount())); | |||
obuBeans.add(new EnumBean("车轮数", bizContent.getWheelCount())); |
@@ -32,7 +32,7 @@ public class ObuActivationHintCheckOrderActivity extends AppActivity { | |||
protected void initView() { | |||
binding.LLSearchResult.setVisibility(View.GONE); | |||
binding.LLBottom.setVisibility(View.GONE); | |||
new SearchCarInfoUtils(this, new SearchCarInfoUtils.OnSearchResultClick() { | |||
new SearchCarInfoUtils(this,10,0, new SearchCarInfoUtils.OnSearchResultClick() { | |||
@Override | |||
public void onSearchResultSuccess(ResultBean.BizContent bizContent) { | |||
curBizContent = bizContent; |
@@ -95,8 +95,7 @@ public class ObuActivationUploadActivity extends AppActivity { | |||
return; | |||
} | |||
toSubmitData(); | |||
} else if (view == binding.ivImg1) { | |||
}else if (view == binding.ivImg1){ | |||
onImage(binding.ivImg1,1); | |||
}else if (view == binding.ivImg2){ | |||
onImage(binding.ivImg2,2); | |||
@@ -121,7 +120,6 @@ public class ObuActivationUploadActivity extends AppActivity { | |||
@Override | |||
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) { | |||
hideDialog(); | |||
Bundle bundle = new Bundle(); | |||
bundle.putString("vehicleId",vehicleId); | |||
bundle.putString("orderId",orderId); |
@@ -93,6 +93,14 @@ public class SearchCarInfoUtils { | |||
initId(); | |||
} | |||
public SearchCarInfoUtils(AppActivity mContext,int orderstep,int orderStatus, OnSearchResultClick callback) { | |||
this.mContext = mContext; | |||
this.callback = callback; | |||
this.orderStep = orderstep+""; | |||
this.orderStatus = orderStatus+""; | |||
initId(); | |||
} | |||
public SearchCarInfoUtils(String vehiclePlate, String PlateColor, AppActivity mContext, OnSearchResultClick callback) { | |||
this.vehiclePlate = vehiclePlate; | |||
this.PlateColor = PlateColor; |
@@ -0,0 +1,40 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||
xmlns:app="http://schemas.android.com/apk/res-auto" | |||
xmlns:tools="http://schemas.android.com/tools" | |||
android:layout_width="match_parent" | |||
android:background="@color/background_color" | |||
android:layout_height="match_parent" | |||
android:orientation="vertical"> | |||
<com.hjq.bar.TitleBar | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white" | |||
app:leftIcon="@mipmap/back_black" | |||
app:title="选择产品" | |||
app:lineVisible="false" | |||
app:titleColor="@color/black" /> | |||
<com.scwang.smart.refresh.layout.SmartRefreshLayout | |||
android:id="@+id/rl_status_refresh" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent" | |||
app:srlEnablePreviewInEditMode="false"> | |||
<com.huntersun.vkyes.etcopencard.src.widget.StatusLayout | |||
android:id="@+id/hl_status_hint" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent"> | |||
<androidx.recyclerview.widget.RecyclerView | |||
android:id="@+id/recycler" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" | |||
tools:itemCount="2" | |||
tools:listitem="@layout/item_product" /> | |||
</com.huntersun.vkyes.etcopencard.src.widget.StatusLayout> | |||
</com.scwang.smart.refresh.layout.SmartRefreshLayout> | |||
</LinearLayout> |
@@ -130,7 +130,8 @@ | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white" | |||
android:paddingLeft="@dimen/dp_15" | |||
android:paddingTop="@dimen/dp_5" | |||
android:paddingLeft="@dimen/dp_10" | |||
android:orientation="horizontal"> | |||
<TextView | |||
android:layout_width="wrap_content" |
@@ -9,8 +9,8 @@ android { | |||
// 目标适配版本 | |||
//noinspection ExpiredTargetSdkVersion,OldTargetApi | |||
targetSdkVersion 30 | |||
versionName '1.1.2' | |||
versionCode 11 | |||
versionName '1.1.3' | |||
versionCode 12 | |||
} | |||
// 支持 Java JDK 8 |