Commit b5ccc516 by Wyh

9.09 1、二維碼頁面BUG修復 2、外送接單顯示餘額問題、餘額刷新問題修復

Signed-off-by: Wyh <1239658231>
parent 47147bd1
......@@ -24,7 +24,9 @@ public abstract class BaseViewPageAdapter extends PagerAdapter {
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = getItemView(position);
container.addView(view);
if (view.getParent() == null) {
container.addView(view);
}
return view;
}
......@@ -36,6 +38,7 @@ public abstract class BaseViewPageAdapter extends PagerAdapter {
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
......@@ -17,7 +17,7 @@ import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.adapter.BaseViewPageAdapter;
import com.gingersoft.gsa.cloud.ui.view.transformer.ScaleGallerTransformer;
import com.gingersoft.gsa.cloud.ui.view.transformer.ZoomPageTransformer;
import java.util.List;
......@@ -128,7 +128,7 @@ public class BannerViewPager extends RelativeLayout implements ViewPager.OnPageC
mViewPager.setAdapter(mPagerAdapter);
if (isGallery) {
mViewPager.setPageTransformer(true, new ScaleGallerTransformer());
mViewPager.setPageTransformer(true, new ZoomPageTransformer());
}
mViewPager.setCurrentItem(startCurrentIndex);
......
......@@ -16,7 +16,6 @@ import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
import java.security.MessageDigest;
/**
* Created by Administrator on 2018/11/28.
* 自定义圆角
*/
......@@ -29,7 +28,7 @@ public class CornerTransform extends BitmapTransformation {
}
public CornerTransform(Context context, int dp) {
// super(context);
// super(context);
this.radius = Resources.getSystem().getDisplayMetrics().density * dp;
}
......
......@@ -4,9 +4,6 @@ import android.view.View;
import androidx.viewpager.widget.ViewPager;
/**
* Created by hucanhui on 2017/3/31.
*/
public class ScaleGallerTransformer implements ViewPager.PageTransformer {
private static final float MIN_SCALE = 0.85f;
private static final float MIN_ALPHA = 0.5f;
......
......@@ -5,11 +5,8 @@ import android.view.View;
import androidx.viewpager.widget.ViewPager;
/**
* Created by Administrator on 2018/11/28.
* 3D画廊效果其实就是ViewPager的item切换时,进行缩放的动画效果
*
*/
public class ZoomPageTransformer implements ViewPager.PageTransformer {
private static final float MAX_SCALE = 1.0f;//0缩放
......@@ -20,9 +17,11 @@ public class ZoomPageTransformer implements ViewPager.PageTransformer {
public ZoomPageTransformer() {
}
public ZoomPageTransformer(float MIN_ALPHA) {
this.MIN_ALPHA = MIN_ALPHA;
}
@Override
public void transformPage(View view, float position) {
//setScaleY只支持api11以上
......
......@@ -3,116 +3,152 @@ package com.gingersoft.coldchain_module.mvp.model.bean;
public class BalanceBean {
/**
* id : 72
* brandId : 171
* balance : 818.0
* bond : 500.0
* threshold : 0.0
* telephone :
* updateTime : 1598426640164
* createTime : 1598426640164
* updateUid : 341
* createUid : 341
* deletes : 0
* success : true
* sysTime : 1599634994603
* data : {"id":72,"brandId":171,"balance":8685.14,"bond":500,"threshold":1000,"telephone":"110","updateTime":1599551167012,"createTime":1598426640164,"updateUid":390,"createUid":341,"deletes":0}
*/
private int id;
private int brandId;
private double balance;
private double bond;
private double threshold;
private String telephone;
private long updateTime;
private long createTime;
private int updateUid;
private int createUid;
private int deletes;
public int getId() {
return id;
}
private boolean success;
private long sysTime;
private DataBean data;
public void setId(int id) {
this.id = id;
public boolean isSuccess() {
return success;
}
public int getBrandId() {
return brandId;
public void setSuccess(boolean success) {
this.success = success;
}
public void setBrandId(int brandId) {
this.brandId = brandId;
public long getSysTime() {
return sysTime;
}
public double getBalance() {
return balance;
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
public void setBalance(double balance) {
this.balance = balance;
public DataBean getData() {
return data;
}
public double getBond() {
return bond;
public void setData(DataBean data) {
this.data = data;
}
public void setBond(double bond) {
this.bond = bond;
}
public static class DataBean {
/**
* id : 72
* brandId : 171
* balance : 8685.14
* bond : 500.0
* threshold : 1000.0
* telephone : 110
* updateTime : 1599551167012
* createTime : 1598426640164
* updateUid : 390
* createUid : 341
* deletes : 0
*/
public double getThreshold() {
return threshold;
}
private int id;
private int brandId;
private double balance;
private double bond;
private double threshold;
private String telephone;
private long updateTime;
private long createTime;
private int updateUid;
private int createUid;
private int deletes;
public void setThreshold(double threshold) {
this.threshold = threshold;
}
public int getId() {
return id;
}
public String getTelephone() {
return telephone;
}
public void setId(int id) {
this.id = id;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public int getBrandId() {
return brandId;
}
public long getUpdateTime() {
return updateTime;
}
public void setBrandId(int brandId) {
this.brandId = brandId;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
}
public double getBalance() {
return balance;
}
public long getCreateTime() {
return createTime;
}
public void setBalance(double balance) {
this.balance = balance;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public double getBond() {
return bond;
}
public int getUpdateUid() {
return updateUid;
}
public void setBond(double bond) {
this.bond = bond;
}
public void setUpdateUid(int updateUid) {
this.updateUid = updateUid;
}
public double getThreshold() {
return threshold;
}
public int getCreateUid() {
return createUid;
}
public void setThreshold(double threshold) {
this.threshold = threshold;
}
public void setCreateUid(int createUid) {
this.createUid = createUid;
}
public String getTelephone() {
return telephone;
}
public int getDeletes() {
return deletes;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
}
public void setDeletes(int deletes) {
this.deletes = deletes;
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public int getUpdateUid() {
return updateUid;
}
public void setUpdateUid(int updateUid) {
this.updateUid = updateUid;
}
public int getCreateUid() {
return createUid;
}
public void setCreateUid(int createUid) {
this.createUid = createUid;
}
public int getDeletes() {
return deletes;
}
public void setDeletes(int deletes) {
this.deletes = deletes;
}
}
}
......@@ -127,8 +127,8 @@ public class ColdChainMainPresenter extends BasePresenter<ColdChainMainContract.
@Override
public void onNext(@NonNull BalanceBean info) {
if (info != null) {
mRootView.loadBalance(info.getBalance(), info.getBond(), info.getBalance() <= info.getThreshold());
if (info != null && info.isSuccess()) {
mRootView.loadBalance(info.getData().getBalance(), info.getData().getBond(), info.getData().getBalance() <= info.getData().getThreshold());
}
}
});
......
......@@ -8,7 +8,7 @@ ext {
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode : 7,
versionName : "1.0.71"
versionName : "1.0.72"
]
version = [
......
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class BalanceBean(
var balance: Double,
val bond: Double,
val brandId: Int,
val createTime: Long,
val createUid: Int,
val deletes: Int,
val id: Int,
val telephone: String,
val threshold: Double,
val updateTime: Long,
val updateUid: Int
)
\ No newline at end of file
val `data`: Data,
val success: Boolean,
val sysTime: Long
) {
data class Data(
var balance: Double,
val bond: Double,
val brandId: Int,
val createTime: Long,
val createUid: Int,
val deletes: Int,
val id: Int,
val telephone: String,
val threshold: Double,
val updateTime: Long,
val updateUid: Int
)
}
\ No newline at end of file
......@@ -9,6 +9,7 @@ import android.graphics.drawable.GradientDrawable
import android.os.Build
import android.os.Bundle
import android.os.IBinder
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.widget.TextView
......@@ -117,7 +118,7 @@ class DeliveryOrderMainActivity : BaseActivity() {
getBanlance(GsaCloudApplication.getBrandId(this@DeliveryOrderMainActivity))
balanceBean.observe(this@DeliveryOrderMainActivity, Observer {
it?.let {
it?.data?.let {
tv_balance.text = "餘額:${it.balance}" + "(保證金: ${it.bond} )"
if (it.balance <= it.threshold) {
//提示餘額不足
......@@ -501,10 +502,10 @@ class DeliveryOrderMainActivity : BaseActivity() {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == 1001) {
val doubleExtra = data?.getDoubleExtra("deliveryAmount", 0.0)
pageViewModel.balanceBean.value?.let {
pageViewModel.balanceBean.value?.data?.let {
if (doubleExtra != null) {
it.balance -= doubleExtra
pageViewModel.balanceBean.postValue(it)
pageViewModel.balanceBean.postValue(pageViewModel.balanceBean.value)
}
}
}
......
......@@ -486,7 +486,7 @@ class OrderDetailsActivity : BaseActivity() {
private fun PageViewModel.showSelectTransportation(transportationBeans: List<TransportationBean.DataX.Transportation>, orderDetails: OrderDetails.DataBean, isPrint: Boolean) {
//獲取實際金額
showLoading()
getActualAmount(orderId, GsaCloudApplication.getMemberId(this@OrderDetailsActivity), restaurantId) {
getActualAmount(orderId, GsaCloudApplication.getMemberId(this@OrderDetailsActivity), restaurantId) { it ->
cancelDialogForLoading()
it?.let { transportAmountBean ->
transportAmountBean.data.let { transportData ->
......@@ -499,8 +499,8 @@ class OrderDetailsActivity : BaseActivity() {
}
}
val adapter = DeliveryAdapter(data)
adapter.setOnItemClickListener { _, _, position ->
if(data[position] == "Van仔"){
adapter.setOnItemClickListener {
if (data[it].contains("Van仔")) {
ToastUtils.show(this@OrderDetailsActivity, "Van仔不支持上門服務,需客戶自行落樓取餐")
}
}
......@@ -523,12 +523,11 @@ class OrderDetailsActivity : BaseActivity() {
showLoading()
confirmOrder(orderDetails, trafficType, restaurantId, isPrint) { msg ->
cancelDialogForLoading()
val intent = Intent()
intent.putExtra("deliveryAmount", orderDetails.deliveryAmount)
setResult(1001, intent)
when (msg.code) {
Transportation.toString() -> {//修改運輸工具
val intent = Intent()
intent.putExtra("deliveryAmount", orderDetails.deliveryAmount)
setResult(1001, intent)
finish()
ToastUtils.show(this@OrderDetailsActivity, if (TextUtil.isNotEmptyOrNullOrUndefined(msg.errorMsg)) {
msg.errorMsg
......
......@@ -8,12 +8,21 @@ import com.gingersoft.gsa.delivery_pick_mode.R
class DeliveryAdapter(data: MutableList<String>) : BaseQuickAdapter<String, BaseViewHolder>(R.layout.other_order_delivery_item, data) {
init {
setOnItemClickListener { adapter, view, position ->
setOnItemClickListener { adapter, _, position ->
selectIndex = position
adapter.notifyDataSetChanged()
}
}
fun setOnItemClickListener(block: (position: Int) -> Unit) {
setOnItemClickListener { adapter, _, position ->
block.invoke(position)
selectIndex = position
adapter.notifyDataSetChanged()
}
}
override fun convert(holder: BaseViewHolder, item: String) {
holder.setText(R.id.tv_delivery_name, item)
if (holder.adapterPosition == selectIndex) {
......
......@@ -48,7 +48,7 @@ public class QrCodePresenter extends BasePresenter<QrCodeContract.Model, QrCodeC
public void getRestaurantQrCode() {
mModel.getRestaurantQrCode(GsaCloudApplication.getRestaurantId(GsaCloudApplication.getAppContext()) + "")
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(""))
.doOnSubscribe(disposable -> mRootView.showLoading("加載中..."))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
......
......@@ -24,6 +24,7 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.QrCodeContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.RestaurantQrBean;
import com.gingersoft.gsa.cloud.main.mvp.presenter.QrCodePresenter;
import com.gingersoft.gsa.cloud.ui.view.BannerViewPager;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.google.android.material.tabs.TabLayout;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
......@@ -93,19 +94,22 @@ public class RestaurantQrCodeActivity extends BaseActivity<QrCodePresenter> impl
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(this, message, true);
else
LoadingDialog.showDialogForLoading(this);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
private void initTab() {
viewPager.initBanner(tabs, true, views)//开启3D画廊效果
.addPageMargin(0, 0)//参数1page之间的间距,参数2中间item距离边界的间距
.addPageMargin(-20, 20)//参数1page之间的间距,参数2中间item距离边界的间距
.finishConfig();//这句必须加
viewPager.getmViewPager().setCurrentItem(0);
tabLayout.setupWithViewPager(viewPager.getmViewPager());//TabLayout的标签从Adapter中获取
//用来循环适配器中的视图总数
for (int i = 0; i < tabs.size(); i++) {
......@@ -124,28 +128,11 @@ public class RestaurantQrCodeActivity extends BaseActivity<QrCodePresenter> impl
textView.setText(tabs.get(i));//设置tab上的文字
}
}
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
setSelectTab(tab, true);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
setSelectTab(tab, false);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
private void setSelectTab(TabLayout.Tab tabAt, boolean isSelected) {
if (tabAt.getCustomView() != null) {
TextView tab = tabAt.getCustomView().findViewById(R.id.tv_tab);//第一个tab被选中
TextView tab = tabAt.getCustomView().findViewById(R.id.tv_tab);
tab.setSelected(isSelected);
//设置选中标签的文字大小
tab.setTextSize(TypedValue.COMPLEX_UNIT_PX, isSelected ? getResources().getDimensionPixelSize(R.dimen.sp_16) : getResources().getDimensionPixelSize(R.dimen.sp_14));
......@@ -189,7 +176,7 @@ public class RestaurantQrCodeActivity extends BaseActivity<QrCodePresenter> impl
TextView tvUrl = view.findViewById(R.id.tv_qrcode_item_url);
Button copyBtn = view.findViewById(R.id.btn_copy_url);
tvTitle.setText(title + "二維碼");
int width = ArmsUtils.getScreenWidth(mContext) / 2;
int width = ArmsUtils.getScreenWidth(mContext) / 3 * 2;
qrCode.setImageBitmap(QRCodeUtil.createQRImage(url, width, width));
tvUrl.setText(url);
copyBtn.setOnClickListener(v -> {
......
......@@ -10,8 +10,10 @@
<com.lihang.ShadowLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:background="@color/white"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_20"
app:hl_cornerRadius="@dimen/dp_8">
<LinearLayout
......@@ -45,7 +47,8 @@
<TextView
android:id="@+id/tv_qrcode_item_url"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_30"
......
......@@ -10,14 +10,12 @@ import androidx.appcompat.app.AppCompatActivity;
import com.epson.epos2.printer.Printer;
import com.epson.epos2.printer.PrinterStatusInfo;
import com.epson.epos2.printer.ReceiveListener;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.joe.print.R;
import com.joe.print.mvp.model.bean.PrintInfoBean;
import com.joe.print.mvp.print.EpsonPrint;
import com.joe.print.mvp.print.PrintTest;
import com.joe.print.mvp.print.common.PrinterFinderCallback;
import com.joe.print.mvp.print.common.SendCallback;
......@@ -218,7 +216,6 @@ public class PrintTestActivity extends AppCompatActivity implements PrintSocketH
@Override
public void onPtrReceive(Printer printer, int i, PrinterStatusInfo printerStatusInfo, String s) {
Log.e("eee", "");
if (i == 0) {
ToastUtils.show(PrintTestActivity.this, "打印成功");
} else {
......
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 to comment