Commit b24dc62d authored by 陈前's avatar 陈前

Merge remote-tracking branch 'origin/master'

parents 03b6f7e9 37119422
......@@ -937,8 +937,7 @@ public final class ApiFactory {
}
public static class Recard {
public static Observable<String> checkPwd(Long vipId, String cardNo, String pwd) {
public static Observable<Boolean> checkPwd(Long vipId, String cardNo, String pwd) {
return Api.getInstance().service.checkPwd(vipId, cardNo, pwd)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
......
......@@ -39,6 +39,7 @@ import io.reactivex.Observable;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import retrofit2.http.Query;
......@@ -258,7 +259,8 @@ interface ApiService {
Observable<HttpMessage<Vip>> detailUser(@Query("wd") String keyword);
@POST(C.URL.RECARD.checkPwd)
Observable<HttpMessage<String>> checkPwd(@Field("vipId") Long vipId, @Query("cardNo") String
@FormUrlEncoded
Observable<HttpMessage<Boolean>> checkPwd(@Field("vipId") Long vipId, @Query("cardNo") String
cardNo, @Field("pwd") String pwd);
@POST(C.URL.RECARD.fullVip)
......
......@@ -10,6 +10,8 @@ import com.xingdata.zzdpos.base.BaseDialog;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.databinding.DialogLoadingBinding;
import java.util.ArrayList;
public class LoadingDialog extends BaseDialog<BasePresenter, DialogLoadingBinding> {
// Disposable disp;
boolean isClose = true;
......
......@@ -29,6 +29,9 @@ public class CreateStoreFragment extends BaseFragment<LoginPresenter,
private ArrayList<StoreAddressJsonBean> listAddressItem1 = new ArrayList<>();
private ArrayList<ArrayList<String>> listAddressItem2 = new ArrayList<>();
private ArrayList<ArrayList<ArrayList<String>>> listAddressItem3 = new ArrayList<>();
private ArrayList<StoreTypeJsonBean> listTypeItem1 = new ArrayList<>();
private ArrayList<ArrayList<String>> listTypeItem2 = new ArrayList<>();
LoadingDialog mLoadingDialog = new LoadingDialog();
......
......@@ -204,7 +204,7 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
if (ShowGbound != null && ShowGbound.getTruleName() != null && !(ShowGbound.getTruleName
().equals("")
)) {
mViewBinding.tvRulesName.setText(ShowGbound.getTruleName());
mViewBinding.etIntegralRoleName.setText(ShowGbound.getTruleName());
//开通启用状态 0:正常 1 暂停 默认 0
if (ShowGbound.getBoundGetStatus() == 0) {
mViewBinding.rdStarts
......@@ -467,7 +467,7 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
())) {
return false;
} else {
mViewBinding.tvRulesName.setText(mViewBinding.etIntegralWeight.getText()
mViewBinding.etIntegralRoleName.setText(mViewBinding.etIntegralWeight.getText()
.toString() +
"元送一个积分");
gbound.setTransAmt(ConvertUtil.yuanToFen(mViewBinding.etIntegralWeight
......@@ -483,7 +483,7 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
.toString()) || gbound.getSpuCateId() == -1) {
return false;
} else {
mViewBinding.tvRulesName.setText(mViewBinding.etIntegralCategoryWeight
mViewBinding.etIntegralRoleName.setText(mViewBinding.etIntegralCategoryWeight
.getText().toString() +
"元送一个积分");
gbound.setTransAmt(ConvertUtil.yuanToFen(mViewBinding
......@@ -497,14 +497,14 @@ public class IntegralGetFragment extends BaseFragment<IntegralPresenter,
if (TextUtils.isEmpty(mViewBinding.etShopTimeLimit.getText().toString())) {
return false;
} else {
mViewBinding.tvRulesName.setText("商品定义规则");
mViewBinding.etIntegralRoleName.setText("商品定义规则");
gbound.setBoundExp(Byte.parseByte(mViewBinding.etShopTimeLimit.getText()
.toString()));
}
}
break;
}
gbound.setTruleName(mViewBinding.tvRulesName.getText().toString());
gbound.setTruleName(mViewBinding.etIntegralRoleName.getText().toString());
return true;
}
......
......@@ -49,10 +49,10 @@ public class ReturnTicketAdapter extends BaseAdapter<Trule, ItemReturnTicketBind
mViewBinding.clItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mPersenter.tickerAddFragment = new TickerAddFragment();
mPersenter.tickerAddFragment.setNowType(2);
mPersenter.tickerAddFragment.editTicketData(item);
returnTicketActivity.start(mPersenter.tickerAddFragment);
// mPersenter.tickerAddFragment = new TickerAddFragment();
// mPersenter.tickerAddFragment.setNowType(2);
// mPersenter.tickerAddFragment.editTicketData(item);
// returnTicketActivity.start(mPersenter.tickerAddFragment);
}
});
......
......@@ -91,10 +91,11 @@ public class TickerAddFragment extends BaseFragment<ReturnTicketPresenter,
}
break;
case R.id.btn_add:{
case R.id.btn_add: {
if (isNull()) {
if (Integer.parseInt(mViewBinding.etRuleMoney.getText().toString()) <= Integer
if (Integer.parseInt(mViewBinding.etRuleMoney.getText().toString())
<= Integer
.parseInt(mViewBinding.etTicketMoney.getText().toString())) {
ToastUtils.showLong("可用金额需大于优惠券面值 ");
return;
......@@ -133,8 +134,7 @@ public class TickerAddFragment extends BaseFragment<ReturnTicketPresenter,
trule.setTruleStatus(nowStatus);
trule.setTruleValAmt(ConvertUtil.yuanToFen(mViewBinding.etTicketMoney.getText().toString
()));
trule.setTruleExp(TimeUtils.string2Millis(mViewBinding.tvDate.getText().toString(), new
SimpleDateFormat("yyyy-mm-dd")));
trule.setTruleExp(TimeUtils.string2Millis(mViewBinding.tvDate.getText().toString()+" 23:59:59"));
trule.setTruleOrderAmt(ConvertUtil.yuanToFen(mViewBinding.etRuleMoney.getText().toString
()));
if (!mViewBinding.etTicketCount.getText().toString().equals("")) {
......
......@@ -16,7 +16,7 @@ import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.main.MainActivity;
import com.xingdata.zzdpos.ui.settle.fragment.CashPayFragment;
import com.xingdata.zzdpos.ui.settle.fragment.PasswordFragment;
import com.xingdata.zzdpos.ui.settle.dialog.PasswordDialog;
import com.xingdata.zzdpos.ui.settle.fragment.PayResultFragment;
import com.xingdata.zzdpos.ui.settle.fragment.SettleFragment;
import com.xingdata.zzdpos.ui.settle.fragment.TicketFragment;
......@@ -33,7 +33,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
private VipFragment mVipFragment = new VipFragment();
private CashPayFragment mCashPayFragment = new CashPayFragment();
private PasswordFragment mPasswordFragment = new PasswordFragment();
private PasswordDialog mPasswordDialog = new PasswordDialog();
private PayResultFragment mPayResultFragment = new PayResultFragment();
private LoadingDialog mLoadingDialog = new LoadingDialog();
......@@ -61,6 +61,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
});
}
@Override
public void showMsg(String msg) {
mPasswordDialog.dismiss();
}
@Override
public void setSettleFragmentBySettleMode(int settleMode) {
mSettleFragment.setViewBySettleMode(settleMode);
......@@ -111,7 +116,6 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
@Override
public void loadSaleorder(Saleorder saleorder) {
mSettleFragment.loadSaleorder(saleorder);
mCashPayFragment.loadSaleorder(saleorder);
}
@Override
......@@ -120,14 +124,14 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
}
@Override
public void showPayFragment(int payChannel) {
switch (payChannel) {
public void showPayFragment(Saleorder saleorder) {
switch (saleorder.getPayType()) {
case C.PAY_CHANNEL.CASH:
this.start(mCashPayFragment);
this.start(mCashPayFragment.setSaleorder(saleorder));
break;
case C.PAY_CHANNEL.TALLY:
case C.PAY_CHANNEL.CARD:
mPasswordFragment.show(this);
mPasswordDialog.setSaleorder(saleorder).show(this);
break;
}
}
......@@ -166,6 +170,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
ActivityUtils.startActivity(this, MainActivity.class);
}
@Override
public void dismissPasswordDialog() {
}
/**
* 根据titleMode显示TitleBar
......
......@@ -14,6 +14,13 @@ interface SettleContract {
interface View extends BaseView {
/**
* 显示信息
*
* @param msg 信息内容
*/
void showMsg(String msg);
/**
* 设置初始化结算页面
*
......@@ -88,9 +95,9 @@ interface SettleContract {
/**
* 显示支付页面
*
* @param payChannel 支付渠道
* @param saleorder 订单信息
*/
void showPayFragment(int payChannel);
void showPayFragment(Saleorder saleorder);
/**
* 改变锁定状态
......@@ -129,6 +136,12 @@ interface SettleContract {
*/
void backToMainActivity();
/**
* 关闭密码页面
*/
void dismissPasswordDialog();
}
abstract class Presenter extends BasePresenter<View> {
......
......@@ -209,7 +209,7 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void clickPayChannelView(int payChannel) {
mSaleorder.setPayType(payChannel);
mView.showPayFragment(payChannel);
mView.showPayFragment(mSaleorder);
}
@Override
......@@ -231,6 +231,13 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void payInCard(Long cardNo, String password) {
ApiFactory.Recard.checkPwd(mVip.getVipId(), String.valueOf(cardNo), password).subscribe(
b -> {
mView.dismissPasswordDialog();
subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.CARD, String.valueOf(cardNo)))));
},
throwable -> mView.showMsg("密码错误")
);
}
@Override
......
package com.xingdata.zzdpos.ui.settle.dialog;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.widget.GridLayoutManager;
import android.view.View;
import android.widget.TextView;
import com.blankj.utilcode.util.LogUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogPasswordBinding;
import com.xingdata.zzdpos.databinding.ItemPasswordBinding;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
import java.util.ArrayList;
import java.util.List;
public class PasswordDialog extends BaseSheetDialog<SettlePresenter, DialogPasswordBinding> {
private PasswordAdapter mPasswordAdapter;
private Long mPayAmt;
private int mPayType;
@Override
protected boolean isTransparentBackground() {
return true;
}
private List<Integer> mValues;
@Override
public int getLayoutId() {
return R.layout.dialog_password;
}
@Override
public void initView() {
mValues = new ArrayList<>();
for (int i = 0; i < 6; i++) {
mValues.add(-1);
}
mPasswordAdapter = new PasswordAdapter(mValues);
mViewBinding.rlPassword.setAdapter(mPasswordAdapter);
mViewBinding.rlPassword.setLayoutManager(new GridLayoutManager(mContext, 6));
mViewBinding.rlPassword.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration(6, mContext.getResources().getDimensionPixelOffset(R.dimen.view_line_L1), true));
mViewBinding.tvAmt.setText(ConvertUtil.fenToYuan(mPayAmt, true));
if (mPayType == C.PAY_CHANNEL.CARD)
mViewBinding.tvType.setText(R.string.settle_pay_card_hint);
if (mPayType == C.PAY_CHANNEL.TALLY)
mViewBinding.tvType.setText(R.string.settle_pay_tally_hint);
View.OnClickListener mOnClickListener = view -> {
switch (view.getId()) {
case R.id.tv_del:
delete();
break;
case R.id.tv_clear:
clear();
break;
case R.id.tv_settle:
settle();
break;
default:
if (view instanceof TextView) {
String str = ((TextView) view).getText().toString();
for (int i = 0; i < mPasswordAdapter.getData().size(); i++) {
if (mPasswordAdapter.getData().get(i) < 0) {
mPasswordAdapter.setData(i, Integer.valueOf(str));
break;
}
}
}
break;
}
LogUtils.e(mPasswordAdapter.getData());
};
mViewBinding.setOnClick(mOnClickListener);
}
/**
* 设置订单信息
*
* @param saleorder 订单信息
* @return this
*/
public PasswordDialog setSaleorder(Saleorder saleorder) {
mPayType = saleorder.getPayType();
mPayAmt = saleorder.getOrderPayAmt();
return this;
}
@Override
public void onStart() {
super.onStart();
//默认全屏展开
mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
/**
* 删除
*/
private void delete() {
for (int i = mPasswordAdapter.getData().size() - 1; i >= 0; i--) {
if (mPasswordAdapter.getData().get(i) >= 0) {
mPasswordAdapter.setData(i, -1);
break;
}
}
LogUtils.e(mPasswordAdapter.getData());
}
/**
* 结账
*/
private void settle() {
StringBuilder strPassword = new StringBuilder();
for (int i = 0; i < mValues.size(); i++) {
strPassword.append(mValues.get(i));
}
if (strPassword.length() < 6) return;
mPresenter.payInCard(0L, strPassword.toString());
}
/**
* 清空
*/
private void clear() {
mValues = new ArrayList<>();
for (int i = 0; i < 6; i++) {
mValues.add(-1);
}
mPasswordAdapter.setNewData(mValues);
}
private class PasswordAdapter extends BaseAdapter<Integer, ItemPasswordBinding> {
PasswordAdapter(@Nullable List<Integer> data) {
super(R.layout.item_password, data);
}
@Override
protected void convert(ItemPasswordBinding mViewBinding, Integer item) {
mViewBinding.setCount(item);
}
}
}
......@@ -31,13 +31,15 @@ public class CashPayFragment extends BaseFragment<SettlePresenter, FragmentPayCa
}
/**
* 加载订单信息
* 设置订单信息
*
* @param saleorder 订单信息
* @return this
*/
public void loadSaleorder(Saleorder saleorder) {
public CashPayFragment setSaleorder(Saleorder saleorder) {
this.mOrderAmt = saleorder.getOrderPayAmt();
this.mInputerView.setValue(ConvertUtil.fenToYuan(saleorder.getOrderPayAmt()));
return this;
}
/**
......
package com.xingdata.zzdpos.ui.settle.fragment;
import com.blankj.utilcode.util.FragmentUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogPasswordBinding;
import com.xingdata.zzdpos.ui.settle.SettlePresenter;
import com.xingdata.zzdpos.ui.settle.view.InputerView;
public class PasswordFragment extends BaseSheetDialog<SettlePresenter, DialogPasswordBinding> {
private InputerView<SettlePresenter> mInputerView = new InputerView<>();
@Override
protected boolean isTransparentBackground() {
return true;
}
@Override
public int getLayoutId() {
return R.layout.dialog_password;
}
@Override
public void initView() {
FragmentUtils.add(getFragmentManager(), mInputerView, R.id.f_inputer);
}
}
package com.xingdata.zzdpos.ui.store.dialog;
import android.content.DialogInterface;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.R;
......@@ -64,6 +65,13 @@ public class CartDialog extends BaseSheetDialog<StorePresenter, DialogStoreCartB
mViewBinding.tvClear.setOnClickListener(view -> mPresenter.clearCart());
}
@Override
public void onStart() {
super.onStart();
//默认全屏展开
mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
/**
* 加载订单信息
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/transparent" />
</shape>
\ No newline at end of file
......@@ -34,7 +34,6 @@
<FrameLayout
android:id="@+id/fra"
style="@style/xuline_margin"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
......
This diff is collapsed.
......@@ -74,7 +74,7 @@
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginTop="@dimen/all_margin"
android:layout_marginTop="@dimen/all_spacing"
android:background="@color/gray_huanggai" />
<android.support.constraint.ConstraintLayout
......
......@@ -43,7 +43,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/all_padding"
android:text="添加获取规则"
android:text="添加优惠券"
android:textColor="@color/red_guanyu"
android:textSize="@dimen/text_three_title"/>
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="count"
type="int" />
</data>
<LinearLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@color/white_caocao">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text='@{count&lt;0 ?"":@string/password}'
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_title_size" />
</LinearLayout>
</layout>
......@@ -12,6 +12,7 @@
<string name="all_yes"></string>
<string name="visible">visible</string>
<string name="gone">gone</string>
<string name="password">*</string>
<!--返回-->
<string name="all_go_back">返回</string>
......@@ -523,6 +524,8 @@
<string name="settle_balance">账户余额</string>
<string name="settle_saledetail_hint">商品详情</string>
<string name="settle_dis_hint">优惠项目</string>
<string name="settle_pay_card_hint">会员账户支付</string>
<string name="settle_pay_tally_hint">本次赊账金额</string>
<!--支付里的Vip-->
<string name="settle_vip_search_hint">请输入会员手机号</string>
......
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