Commit 72855ff1 by qyw

1、同一个付款码5秒内不能提交支付

    2、修改提示语音
    3、本机消费记录和消费记录采用服务器时间
parent 9559e65e
...@@ -32,6 +32,7 @@ import com.ifavine.pay.utils.BaseUtil; ...@@ -32,6 +32,7 @@ import com.ifavine.pay.utils.BaseUtil;
import com.ifavine.pay.utils.DialogMainSetUtils; import com.ifavine.pay.utils.DialogMainSetUtils;
import com.ifavine.pay.utils.DialogUtil; import com.ifavine.pay.utils.DialogUtil;
import com.ifavine.pay.utils.SPUtil; import com.ifavine.pay.utils.SPUtil;
import com.ifavine.pay.utils.SoundPlayUtils;
import com.ifavine.pay.utils.TLog; import com.ifavine.pay.utils.TLog;
import com.ifavine.pay.view.PopWindowMainReport; import com.ifavine.pay.view.PopWindowMainReport;
import com.ifavine.pay.view.PopWindowMainSet; import com.ifavine.pay.view.PopWindowMainSet;
...@@ -113,10 +114,6 @@ public class MainActivity extends BaseActivity { ...@@ -113,10 +114,6 @@ public class MainActivity extends BaseActivity {
@BindView(R.id.btn_pay) @BindView(R.id.btn_pay)
Button btn_pay; Button btn_pay;
private int soundSucess;
private int soundFail;
private SoundPool soundPool;
private String payCode = ""; private String payCode = "";
private PopWindowMainSet popWindowMainSet; private PopWindowMainSet popWindowMainSet;
...@@ -130,6 +127,7 @@ public class MainActivity extends BaseActivity { ...@@ -130,6 +127,7 @@ public class MainActivity extends BaseActivity {
private static boolean isStart = false; private static boolean isStart = false;
public static int width = 1350; public static int width = 1350;
public static int height = 720; public static int height = 720;
SoundPlayUtils playUtils;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
...@@ -141,9 +139,7 @@ public class MainActivity extends BaseActivity { ...@@ -141,9 +139,7 @@ public class MainActivity extends BaseActivity {
WindowManager.LayoutParams.FLAG_FULLSCREEN); WindowManager.LayoutParams.FLAG_FULLSCREEN);
//支付提示 //支付提示
soundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 100); playUtils = SoundPlayUtils.init(mContext);
soundSucess = soundPool.load(mContext, R.raw.success, 1);//加载资源,得到soundId
soundFail = soundPool.load(mContext, R.raw.fail, 1);//加载资源,得到soundId
dateTime = 0; dateTime = 0;
//获取窗口信息 //获取窗口信息
GetCanteenWindows(); GetCanteenWindows();
...@@ -248,6 +244,9 @@ public class MainActivity extends BaseActivity { ...@@ -248,6 +244,9 @@ public class MainActivity extends BaseActivity {
isStart = false; isStart = false;
handler.removeCallbacks(netRun); handler.removeCallbacks(netRun);
handler.removeCallbacks(etRunnable); handler.removeCallbacks(etRunnable);
if (playUtils != null) {
playUtils.release();
}
} }
private boolean pingNet(String address) { private boolean pingNet(String address) {
...@@ -333,10 +332,10 @@ public class MainActivity extends BaseActivity { ...@@ -333,10 +332,10 @@ public class MainActivity extends BaseActivity {
public void selectIndex(final int index) { public void selectIndex(final int index) {
if (index == 0) { if (index == 0) {
Current_Count_DialogWindow = 0; Current_Count_DialogWindow = 0;
dialogWindow = DialogMainSetUtils.showReportLocalDialog(mContext, "本机消费记录查询", null, true); dialogWindow = DialogMainSetUtils.showReportLocalDialog(mContext, "本机消费记录查询", null, true, dateTime);
} else if (index == 1) { } else if (index == 1) {
Current_Count_DialogWindow = 0; Current_Count_DialogWindow = 0;
dialogWindow = DialogMainSetUtils.showReportRecordDialog(mContext, "消费记录查询", null, true); dialogWindow = DialogMainSetUtils.showReportRecordDialog(mContext, "消费记录查询", null, true, dateTime);
} else if (index == 2) { } else if (index == 2) {
Current_Count_DialogInput = 0; Current_Count_DialogInput = 0;
dialogInput = DialogUtil.showInputDialog(mContext, null, "请输入管理员密码", "请输入管理员密码", "确定", "取消", new View.OnClickListener() { dialogInput = DialogUtil.showInputDialog(mContext, null, "请输入管理员密码", "请输入管理员密码", "确定", "取消", new View.OnClickListener() {
...@@ -583,6 +582,9 @@ public class MainActivity extends BaseActivity { ...@@ -583,6 +582,9 @@ public class MainActivity extends BaseActivity {
}); });
} }
private String Last_PayCode = "";
private long Last_Second = 0;
/** /**
* PayCode:用户微信支付码 * PayCode:用户微信支付码
* Mac:终端的mac地址,格式是使用 “:” 分隔 * Mac:终端的mac地址,格式是使用 “:” 分隔
...@@ -592,6 +594,17 @@ public class MainActivity extends BaseActivity { ...@@ -592,6 +594,17 @@ public class MainActivity extends BaseActivity {
*/ */
//线路处理 //线路处理
private void doPay(String payCode) { private void doPay(String payCode) {
//支付码一样五秒内不重复提交
if (!TextUtils.isEmpty(Last_PayCode) && payCode.equals(Last_PayCode)) {
if (System.currentTimeMillis() - Last_Second < 5000) {
Current_Count = 0;
et_payCode.setText(null);
et_payCode.requestFocus();
return;
}
}
Last_PayCode = payCode;
Last_Second = System.currentTimeMillis();
Current_Count = 0; Current_Count = 0;
et_payCode.setText(null); et_payCode.setText(null);
et_payCode.requestFocus(); et_payCode.requestFocus();
...@@ -630,22 +643,24 @@ public class MainActivity extends BaseActivity { ...@@ -630,22 +643,24 @@ public class MainActivity extends BaseActivity {
tv_IsConsumed.setText(response.body().IsConsumed); tv_IsConsumed.setText(response.body().IsConsumed);
tv_TradeNo.setText(response.body().TradeNo); tv_TradeNo.setText(response.body().TradeNo);
} }
if (response.body().Status == 200) { int status = response.body().Status;
soundPool.play(soundSucess, 1, 1, 0, 0, 1); if (status == 200) {
tv_pay_status.setText("支付成功"); tv_pay_status.setText("支付成功");
tv_pay_status.setTextColor(getResources().getColor(R.color.green)); tv_pay_status.setTextColor(getResources().getColor(R.color.green));
} else { } else {
soundPool.play(soundFail, 1, 1, 0, 0, 1);
tv_pay_status.setText(response.body().Message); tv_pay_status.setText(response.body().Message);
tv_pay_status.setTextColor(getResources().getColor(R.color.red)); tv_pay_status.setTextColor(getResources().getColor(R.color.red));
} }
if (playUtils != null) {
playUtils.play(status);
}
} }
} }
@Override @Override
public void onFailure(Call<CommonResponse<String>> call, Throwable t) { public void onFailure(Call<CommonResponse<String>> call, Throwable t) {
soundPool.play(soundFail, 1, 1, 0, 0, 1); playUtils.play(1);
tv_pay_status.setText("支付失败"); tv_pay_status.setText("请求超时,请重试");
tv_pay_status.setTextColor(getResources().getColor(R.color.red)); tv_pay_status.setTextColor(getResources().getColor(R.color.red));
} }
}); });
...@@ -766,7 +781,7 @@ public class MainActivity extends BaseActivity { ...@@ -766,7 +781,7 @@ public class MainActivity extends BaseActivity {
return false; return false;
} }
private final static int MAX_Mi = 60; private final static int MAX_Mi = 120;
private int Current_Count = 0; private int Current_Count = 0;
/** /**
......
...@@ -971,7 +971,7 @@ public class DialogMainSetUtils { ...@@ -971,7 +971,7 @@ public class DialogMainSetUtils {
* @return * @return
*/ */
public static Dialog showReportLocalDialog(final Context mContext, final String title, final View.OnClickListener okListener, public static Dialog showReportLocalDialog(final Context mContext, final String title, final View.OnClickListener okListener,
boolean cancelable) { boolean cancelable, long dateTime) {
View view = View.inflate(mContext, R.layout.dialog_report_local, null); View view = View.inflate(mContext, R.layout.dialog_report_local, null);
final Dialog dialog = new Dialog(mContext, R.style.dialog_common);// 创建自定义样式dialog final Dialog dialog = new Dialog(mContext, R.style.dialog_common);// 创建自定义样式dialog
...@@ -1009,8 +1009,8 @@ public class DialogMainSetUtils { ...@@ -1009,8 +1009,8 @@ public class DialogMainSetUtils {
final Spinner spinner1 = (Spinner) view.findViewById(R.id.spinner1); final Spinner spinner1 = (Spinner) view.findViewById(R.id.spinner1);
final Spinner spinner2 = (Spinner) view.findViewById(R.id.spinner2); final Spinner spinner2 = (Spinner) view.findViewById(R.id.spinner2);
tv_date1.setText(DateUtil.formatDate(new Date().getTime(), "yyyy-MM-dd")); tv_date1.setText(DateUtil.formatDate(dateTime, "yyyy-MM-dd"));
tv_date2.setText(DateUtil.formatDate(new Date().getTime(), "yyyy-MM-dd")); tv_date2.setText(DateUtil.formatDate(dateTime, "yyyy-MM-dd"));
final LRecyclerView mLRecyclerView = (LRecyclerView) view.findViewById(R.id.mLRecyclerView); final LRecyclerView mLRecyclerView = (LRecyclerView) view.findViewById(R.id.mLRecyclerView);
...@@ -1292,7 +1292,7 @@ public class DialogMainSetUtils { ...@@ -1292,7 +1292,7 @@ public class DialogMainSetUtils {
* @return * @return
*/ */
public static Dialog showReportRecordDialog(final Context mContext, final String title, final View.OnClickListener okListener, public static Dialog showReportRecordDialog(final Context mContext, final String title, final View.OnClickListener okListener,
boolean cancelable) { boolean cancelable, long dateTime) {
View view = View.inflate(mContext, R.layout.dialog_report_record, null); View view = View.inflate(mContext, R.layout.dialog_report_record, null);
final Dialog dialog = new Dialog(mContext, R.style.dialog_common);// 创建自定义样式dialog final Dialog dialog = new Dialog(mContext, R.style.dialog_common);// 创建自定义样式dialog
...@@ -1341,8 +1341,8 @@ public class DialogMainSetUtils { ...@@ -1341,8 +1341,8 @@ public class DialogMainSetUtils {
final Spinner spinner2 = (Spinner) view.findViewById(R.id.spinner2); final Spinner spinner2 = (Spinner) view.findViewById(R.id.spinner2);
final Spinner spinner3 = (Spinner) view.findViewById(R.id.spinner3); final Spinner spinner3 = (Spinner) view.findViewById(R.id.spinner3);
tv_date1.setText(DateUtil.formatDate(new Date().getTime(), "yyyy-MM-dd")); tv_date1.setText(DateUtil.formatDate(dateTime, "yyyy-MM-dd"));
tv_date2.setText(DateUtil.formatDate(new Date().getTime(), "yyyy-MM-dd")); tv_date2.setText(DateUtil.formatDate(dateTime, "yyyy-MM-dd"));
final LRecyclerView mLRecyclerView = (LRecyclerView) view.findViewById(R.id.mLRecyclerView); final LRecyclerView mLRecyclerView = (LRecyclerView) view.findViewById(R.id.mLRecyclerView);
......
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