Browse Source

1、新增MDB现金上传
2、修复远程开关休眠

ccc 1 week ago
parent
commit
c65ead423f

+ 1 - 1
BaseLibrary/src/main/java/com/hboxs/base_library/constant/Global.java

@@ -20,7 +20,7 @@ public abstract class Global {
      * 1:
      * 2:国外线上
      */
-    public static final int isVersions = 1;
+    public static final int isVersions = 2;
 
     /**
      * 用来初始化这个Global的类,不然会很卡。

+ 7 - 2
app/src/main/java/com/bgy/autosale/RemoteSupportService.java

@@ -79,6 +79,8 @@ import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -515,12 +517,15 @@ public class RemoteSupportService extends Service implements SendCallback {
                     public void run() {
                         Log.d(TAG, "run: cash sale0");
                         if (Name.WMDB.equals(Hawk.get(Name.NOTE_COMMUNICATION, Name.WMDB))) {
-                            if (Hawk.get(Name.MDB_CASHCALE, true)) {
+                            if (Hawk.get(Name.MDB_CASHCALE, false)) {
                                 String asfd = (String) messageEvent.getData();
                                 String[] split3 = asfd.split(";");
                                 Log.d(TAG, "run: cash sale1");
                                 WeaverUtil.billValidatorCashSale(split3[0], split3[1]);
                                 Log.d(TAG, "run: cash sale2");
+                                Global.hasmoney = new BigDecimal("0").setScale(2, RoundingMode.HALF_UP);
+                                Global.hascoin = new BigDecimal("0").setScale(2, RoundingMode.HALF_UP);
+                                EventBus.getDefault().post(new ApiMessageEvent("RefreshUI",""));
                             }
                         }
                     }
@@ -842,7 +847,7 @@ public class RemoteSupportService extends Service implements SendCallback {
                                 @Override
                                 public void onError(Throwable t) {
                                     super.onError(t);
-
+                                    Log.d(TAG, "onError: "+t.getMessage());
                                 }
                             });
                 }

+ 1 - 1
app/src/main/java/com/bgy/autosale/ui/MainActivity.java

@@ -479,7 +479,7 @@ public class MainActivity extends BaseScanGunActivity  implements SendCallback,
         UISoundHelper.getInstance();
         findViewById(R.id.main_fragment).setVisibility(View.VISIBLE);
         if (!SPUtils.getInstance(App.app).getBoolean(Constant.LOCK_IN_ERROR, false)) {
-            App.app.initDeviceStateListener();//是否开机
+//            App.app.initDeviceStateListener();//是否开机
             Log.d(TAG, "initMainView: ");
         }
 

+ 10 - 4
app/src/main/java/com/bgy/autosale/ui/consumer/IceCreamFragment.java

@@ -691,7 +691,7 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
 //            }
             if (!CommunicationHelper.getInstance().canGenerateOrder()) {
                 ToastUtil.getInstance().showText(CommunicationHelper.getInstance().getWhyCanOrderText());
-                return;//是否开机
+//                return;//是否开机
             }
             if (Hawk.get(Name.SHOPPING_TROLLEY, true)) {
                 addShopCart();
@@ -1292,7 +1292,7 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
         }
     }
 
-    private double pri = 0;
+    private double pri = 0;//商品价格
     private SpannableString spannableString;
 
     private void updateTitleInfo(ArrayList<DishesBean> orderList) {
@@ -1756,13 +1756,17 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
 //                tvMoney.setText(haveMoney + (Global.hasmoney.doubleValue() + Global.hascoin.doubleValue()) + Hawk.get(Name.UNIT_OF_CURRENCY_TIME, ""));
                 tvMoney.setText(haveMoney + Global.hasmoney.add(Global.hascoin).setScale(2, RoundingMode.HALF_UP) + Hawk.get(Name.UNIT_OF_CURRENCY_TIME, ""));
 
-                Log.d(TAG, "event: " + Global.hascoin.doubleValue());
+                coin=Global.hasmoney.add(Global.hascoin).doubleValue();
                 if (payMixDialog != null && payMixDialog.isShowing()) {
                     if (Global.hasmoney.doubleValue() + Global.hascoin.doubleValue() >= pri) {
 //                        tvMoney.setText(haveMoney + (Global.hasmoney.doubleValue() + Global.hascoin.doubleValue() - pri) + Hawk.get(Name.UNIT_OF_CURRENCY_TIME, ""));
                         tvMoney.setText(haveMoney + (Global.hasmoney.add(Global.hascoin).subtract(new BigDecimal(pri + "").setScale(2, RoundingMode.HALF_UP))) + Hawk.get(Name.UNIT_OF_CURRENCY_TIME, UiUtil.getStringRes(R.string.price_unit)));
                         remainMoney = Global.hasmoney.doubleValue() + Global.hascoin.doubleValue() - pri;
                         payPaperSuccess(); // 收钞完成
+                        Log.d(TAG, "event: payPaperSuccessa "+pri);//商品价格
+                        Log.d(TAG, "event: payPaperSuccessa "+coin);//投入金额
+                        Log.d(TAG, "event: payPaperSuccessb"+remainMoney);//剩余可用金额
+                        Log.d(TAG, "event: payPaperSuccessc"+Global.hasmoney.doubleValue() + Global.hascoin.doubleValue());//商品价格
                         EventBus.getDefault().post(new ApiMessageEvent("cashsale",
                                 ByteUtils.decimal2fitHex((long) (coin * 100), 4)
                                         + ";" + ByteUtils.decimal2fitHex((long) 1, 4)));
@@ -1834,7 +1838,7 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
 
         //开始读取投币
         //todo handler 弱引用
-        final double coin = 0;
+        double coin = 0;
         payMixDialog.setListener(new DialogClickListener() {
             @Override
             public void onClickListener(int type) {
@@ -1863,6 +1867,8 @@ public class IceCreamFragment extends BaseAutoExitFragment implements View.OnCli
         payMixDialog.show();
         dismissLoading();
         if (Global.hasmoney.doubleValue() + Global.hascoin.doubleValue() >= pri) {
+            coin=Global.hasmoney.add(Global.hascoin).doubleValue();
+
 //            tvMoney.setText(haveMoney + (Global.hasmoney.doubleValue() + Global.hascoin.doubleValue() - pri) + Hawk.get(Name.UNIT_OF_CURRENCY_TIME, ""));
             tvMoney.setText(haveMoney + (Global.hasmoney.add(Global.hascoin).subtract(new BigDecimal(pri + "").setScale(2, RoundingMode.HALF_UP))) + Hawk.get(Name.UNIT_OF_CURRENCY_TIME, UiUtil.getStringRes(R.string.price_unit)));
             payPaperSuccess(); // 收钞完成

+ 3 - 3
app/src/main/java/com/bgy/autosale/ui/consumer/PaySuccessFragment.java

@@ -266,17 +266,17 @@ public class PaySuccessFragment extends BaseAutoExitFragment implements Callback
                         progressView.setProgress(1500, time);
                         Log.d(TAG, "run: 制作中.........");
                         setMateriel();
-                        exitTime = 300; // 制作中, 5分钟超时退出
+                        exitTime = 5*60; // 制作中, 5分钟超时退出
                         break;
                     case BasePlcAgreement.RESULT_CODE_ORDER_CHILD_OUT: // 1
                         iceCreamOrders.remove(0);
                         progressView.setProgress(1800, 1000);
                         updateTakeInfo();
-                        exitTime = 600; // 待取餐, 10分钟超时退出
+                        exitTime = 10*60; // 待取餐, 10分钟超时退出
                         break;
                     case BasePlcAgreement.RESULT_CODE_ORDER_CHILD_FINISH: // 2
                         updateCloseInfo();
-                        exitTime = 120; // 子订单取走了, 2分钟超时退出
+                        exitTime = 2*60; // 子订单取走了, 2分钟超时退出
                         break;
                     case BasePlcAgreement.RESULT_CODE_ORDER_COMPLETE: // 3
                         updateFinishInfo();

+ 64 - 0
app/src/main/java/com/bgy/autosale/ui/operator/LockActivity.java

@@ -18,10 +18,16 @@ import com.bgy.autosale.ui.MainActivity;
 import com.bgy.autosale.ui.base.BaseFragment;
 import com.bgy.autosale.ui.base.BaseScanGunActivity;
 import com.bgy.autosale.ui.consumer.MainFragment;
+import com.hboxs.base_library.base.IView;
 import com.hboxs.base_library.constant.Heartbeat;
 import com.hboxs.base_library.constant.Name;
 import com.hboxs.base_library.event.ApiMessageEvent;
+import com.hboxs.base_library.http.NoPayOrderStringApi;
+import com.hboxs.base_library.http.observer.HttpResultObserver;
+import com.hboxs.base_library.http.response.HttpResult;
+import com.hboxs.base_library.http.response.HttpResultHandler;
 import com.hboxs.base_library.util.DrawableSelectorUtils;
+import com.hboxs.base_library.util.LogUtil;
 import com.hboxs.base_library.util.LongClickUtils;
 import com.hboxs.base_library.util.SharedPreferencesUtils;
 import com.orhanobut.hawk.Hawk;
@@ -30,6 +36,14 @@ import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
+import java.util.HashMap;
+
+import io.reactivex.Observable;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.observers.DisposableObserver;
+import io.reactivex.schedulers.Schedulers;
+
 /**
  * Created by cjx on 2020-12-31
  * 说明:
@@ -69,6 +83,7 @@ public class LockActivity extends BaseScanGunActivity {
             }
         });
         ErrorViewHelper.getInstance().setCanShowErrorView(false, this);
+        updateBlock();
     }
 
     @Subscribe(threadMode = ThreadMode.MAIN)
@@ -93,7 +108,56 @@ public class LockActivity extends BaseScanGunActivity {
         finish();
     }
 
+    protected IView mView;
+
+    public void updateBlock() {
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("clientId", Heartbeat.deviceId);
+        params.put("is_sleep", true);
+        LogUtil.d("", "run: 锁机状态上传true");
+        addSubscriptionNew(NoPayOrderStringApi.api.updateSleep(params),String.class,
+                new HttpResultObserver<String>(mView, getBaseContext()) {
+                    @Override
+                    public void onNext(String data) {
+//                        mView.updateBlockSuccess(data);
+                    }
+
+                    @Override
+                    public void onError(Throwable t) {
+                        super.onError(t);
+
+                    }
+                });
+    }
+
+    private CompositeDisposable mDisposables;
 
+    protected void addSubscription(Observable observable, DisposableObserver observer) {
+        if (mDisposables == null) {
+            mDisposables = new CompositeDisposable();
+        }
+        observable
+                .unsubscribeOn(Schedulers.io())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(observer);
+        mDisposables.add(observer);
+    }
+
+    protected void addSubscriptionNew(Observable observable, Class clazz, DisposableObserver observer) {
+        if (mDisposables == null) {
+            mDisposables = new CompositeDisposable();
+        }
+        if (clazz == HttpResult.class) {
+            observable = observable.compose(HttpResultHandler.<String>transformer());
+        }
+        observable
+                .unsubscribeOn(Schedulers.io())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(observer);
+        mDisposables.add(observer);
+    }
     @Override
     protected void onDestroy() {
         super.onDestroy();

+ 16 - 15
app/src/main/java/com/bgy/autosale/ui/operator/SwitchSettingActivity.java

@@ -30,6 +30,7 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
     RadioButton rbVoiceYes, rbVoiceNo;
     RadioButton rbShopCartYes, rbShopCartNo;
     RadioButton rbIctMdbYes, rbIctMdbNo;
+    RadioButton rbMdbCashYes, rbMdbCashNo;
 
     Spinner spLanguage2;
     private ArrayAdapter<String> language2ArrayAdapter;
@@ -64,10 +65,8 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
 
         RadioGroup rgIctMdb = findViewById(R.id.rg_ict_mdb);
         rgIctMdb.setOnCheckedChangeListener(this);
-
         rbIctMdbYes = findViewById(R.id.rb_ict_mdb_yes);
         rbIctMdbNo = findViewById(R.id.rb_ict_mdb_no);
-
         Boolean isIctMdb = Hawk.get(Name.ICTBILL_MDBCARD, false);
         if (isIctMdb) {
             rbIctMdbYes.setChecked(true);
@@ -77,10 +76,8 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
 
         RadioGroup rgShopCart = findViewById(R.id.rg_shop_cart);
         rgShopCart.setOnCheckedChangeListener(this);
-
         rbShopCartYes = findViewById(R.id.rb_shop_cart_yes);
         rbShopCartNo = findViewById(R.id.rb_shop_cart_no);
-
         Boolean shopCartY = Hawk.get(Name.SHOPPING_TROLLEY, true);
         if (shopCartY) {
             rbShopCartYes.setChecked(true);
@@ -90,10 +87,8 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
 
         RadioGroup rgAutoUpload = findViewById(R.id.rg_auto_upload);
         rgAutoUpload.setOnCheckedChangeListener(this);
-
         rbAutoUploadYes = findViewById(R.id.rb_auto_upload_yes);
         rbAutoUploadNo = findViewById(R.id.rb_auto_upload_no);
-
         Boolean alwaysIdle = Hawk.get(Name.AUTOUPLOADORDER, true);
         if (alwaysIdle) {
             rbAutoUploadYes.setChecked(true);
@@ -101,13 +96,10 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
             rbAutoUploadNo.setChecked(true);
         }
 
-
         RadioGroup rgSelectLanguage = findViewById(R.id.rg_select_language);
         rgSelectLanguage.setOnCheckedChangeListener(this);
-
         rbLanguageYes = findViewById(R.id.rb_language_yes);
         rbLanguageNo = findViewById(R.id.rb_language_no);
-
         Boolean language = Hawk.get(Name.LANGUAGE_SHOW, false);
         if (language) {
             rbLanguageYes.setChecked(true);
@@ -117,10 +109,8 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
 
         RadioGroup rgCoinCashReset = findViewById(R.id.rg_coin_cash_reset);
         rgCoinCashReset.setOnCheckedChangeListener(this);
-
         rbCoinCashResetYes = findViewById(R.id.rb_coin_cash_reset_yes);
         rbCoinCashResetNo = findViewById(R.id.rb_coin_cash_reset_no);
-
         Boolean valueZero = Hawk.get(Name.VALUE_ZERO, false);
         if (valueZero) {
             rbCoinCashResetYes.setChecked(true);
@@ -130,10 +120,8 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
 
         RadioGroup rgPromotionCode = findViewById(R.id.rg_promotion_code);
         rgPromotionCode.setOnCheckedChangeListener(this);
-
         rbPromotionCodeYes = findViewById(R.id.rb_promotion_code_yes);
         rbPromotionCodeNo = findViewById(R.id.rb_promotion_code_no);
-
         Boolean promotionCode = Hawk.get(Name.PROMOTION_CODE, false);
         if (promotionCode) {
             rbPromotionCodeYes.setChecked(true);
@@ -143,10 +131,8 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
 
         RadioGroup rgVoice = findViewById(R.id.rg_voice);
         rgVoice.setOnCheckedChangeListener(this);
-
         rbVoiceYes = findViewById(R.id.rb_voice_yes);
         rbVoiceNo = findViewById(R.id.rb_voice_no);
-
         Boolean voiceMealPickupPrompts = Hawk.get(Name.VOICE_MEAL_PICKUP_PROMPTS, false);
         if (voiceMealPickupPrompts) {
             rbVoiceYes.setChecked(true);
@@ -154,6 +140,17 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
             rbVoiceNo.setChecked(true);
         }
 
+        RadioGroup rgMdbCash = findViewById(R.id.rg_mdb_cash);
+        rgMdbCash.setOnCheckedChangeListener(this);
+        rbMdbCashYes = findViewById(R.id.rb_mdb_cash_yes);
+        rbMdbCashNo = findViewById(R.id.rb_mdb_cash_no);
+        Boolean mdbCashCale = Hawk.get(Name.MDB_CASHCALE, false);
+        if (mdbCashCale) {
+            rbMdbCashYes.setChecked(true);
+        } else {
+            rbMdbCashNo.setChecked(true);
+        }
+
     }
 
     @Override
@@ -186,6 +183,10 @@ public class SwitchSettingActivity extends BaseScanGunActivity implements View.O
             Hawk.put(Name.ICTBILL_MDBCARD, true);
         } else if (checkedId == R.id.rb_ict_mdb_no) {
             Hawk.put(Name.ICTBILL_MDBCARD, false);
+        } else if (checkedId == R.id.rb_mdb_cash_yes) {
+            Hawk.put(Name.MDB_CASHCALE, true);
+        } else if (checkedId == R.id.rb_mdb_cash_no) {
+            Hawk.put(Name.MDB_CASHCALE, false);
         }
 
     }

+ 42 - 0
app/src/main/res/layout/activity_system_switch_setting.xml

@@ -354,6 +354,48 @@
                             android:textSize="@dimen/sp_8" />
                     </RadioGroup>
                 </LinearLayout>
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:orientation="vertical"
+                    tools:ignore="MissingConstraints">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_margin="@dimen/dp_8"
+                        android:text="MDB Cash Cale"
+                        android:textColor="#333"
+                        android:textSize="@dimen/sp_14"
+                        android:textStyle="bold" />
+
+                    <RadioGroup
+                        android:id="@+id/rg_mdb_cash"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal">
+
+                        <RadioButton
+                            android:id="@+id/rb_mdb_cash_yes"
+                            android:layout_width="@dimen/dp_60"
+                            android:layout_height="@dimen/dp_26"
+                            android:gravity="center"
+                            android:text="@string/setting_switch_on"
+                            android:textColor="#576478"
+                            android:textSize="@dimen/sp_8" />
+
+                        <RadioButton
+                            android:id="@+id/rb_mdb_cash_no"
+                            android:layout_width="@dimen/dp_60"
+                            android:layout_height="@dimen/dp_26"
+                            android:layout_marginLeft="@dimen/dp_20"
+                            android:gravity="center"
+                            android:text="@string/setting_switch_off"
+                            android:textColor="#576478"
+                            android:textSize="@dimen/sp_8" />
+                    </RadioGroup>
+                </LinearLayout>
 
             </LinearLayout>