Commit 33afd942 by Wyh

Merge remote-tracking branch 'origin/dev' into dev

parents 432aae5f 689f9821
......@@ -86,7 +86,7 @@
</provider>
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity"
android:name=".mvp.ui.activity.WelcomeActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait">
<intent-filter>
......@@ -103,17 +103,17 @@
android:exported="true" />
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:name=".mvp.ui.activity.LoginActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity"
android:name=".mvp.ui.activity.SwitchServerActivity"
android:screenOrientation="portrait" />
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity"
android:name=".mvp.ui.activity.RecoverPasswordActivity"
android:screenOrientation="portrait" />
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity"
android:name=".mvp.ui.activity.ChooseRestaurantActivity"
android:screenOrientation="portrait" />
<meta-data
......
......@@ -18,7 +18,7 @@
android:resizeableActivity="true"
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true">
<activity android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity">
<activity android:name=".mvp.ui.activity.WelcomeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......@@ -28,19 +28,19 @@
</intent-filter>
</activity>
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:name=".mvp.ui.activity.LoginActivity"
android:launchMode="singleTask" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" />
<activity android:name=".mvp.ui.activity.SwitchServerActivity" />
<!-- HywebPOS支付頁 -->
<activity
android:name="com.etps.aca.lib.activity.CommandActivity"
android:exported="true" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.LoginOutActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity" />
<activity android:name=".mvp.ui.activity.ChooseRestaurantActivity" />
<activity android:name=".mvp.ui.activity.LoginOutActivity" />
<activity android:name=".mvp.ui.activity.RecoverPasswordActivity" />
<meta-data
android:name="com.gingersoft.gsa.cloud.common.config.globalconfig.GlobalConfiguration"
......
package com.gingersoft.gsa.cloud.login;
import android.content.Intent;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.etps.aca.lib.activity.CommandActivity;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.component.ComponentAction;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.SwitchServerActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.WelcomeActivity;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.command.CommandImpl;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.SwitchServerActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.WelcomeActivity;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.command.CommandImpl;
public class ComponentLogin implements IComponent {
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.component;
package com.gingersoft.gsa.cloud.login.di.component;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.module.ChooseRestaurantModule;
import com.gingersoft.gsa.cloud.login.di.module.ChooseRestaurantModule;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.ChooseRestaurantActivity;
@ActivityScope
@Component(modules = ChooseRestaurantModule.class,dependencies = AppComponent.class)
......
......@@ -2,13 +2,12 @@ package com.gingersoft.gsa.cloud.login.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.login.di.module.LoginModule;
import com.gingersoft.gsa.cloud.login.mvp.contract.LoginContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.LoginActivity;
/**
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.component;
package com.gingersoft.gsa.cloud.login.di.component;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.module.RecoverPasswordModule;
import com.gingersoft.gsa.cloud.login.di.module.RecoverPasswordModule;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.RecoverPasswordActivity;
@ActivityScope
@Component(modules = RecoverPasswordModule.class,dependencies = AppComponent.class)
......
......@@ -9,7 +9,7 @@ import com.gingersoft.gsa.cloud.login.di.module.SwitchServerModule;
import com.gingersoft.gsa.cloud.login.mvp.contract.SwitchServerContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.SwitchServerActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.SwitchServerActivity;
/**
......
package com.gingersoft.gsa.cloud.login.di.component;
import com.gingersoft.gsa.cloud.login.di.module.WelcomeModule;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.WelcomeActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.WelcomeActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Component;
@ActivityScope
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.module;
package com.gingersoft.gsa.cloud.login.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.model.ChooseRestaurantModel;
import com.gingersoft.gsa.cloud.login.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.model.ChooseRestaurantModel;
@Module
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.module;
package com.gingersoft.gsa.cloud.login.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.RecoverPasswordContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.model.RecoverPasswordModel;
import com.gingersoft.gsa.cloud.login.mvp.contract.RecoverPasswordContract;
import com.gingersoft.gsa.cloud.login.mvp.model.RecoverPasswordModel;
@Module
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract;
package com.gingersoft.gsa.cloud.login.mvp.contract;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.restaurant.bean.BrandsBean;
......
......@@ -4,10 +4,8 @@ import android.app.Dialog;
import android.content.Intent;
import android.view.Gravity;
import android.widget.LinearLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.core.login.LoginBean;
import com.gingersoft.gsa.cloud.common.core.restaurant.BrandInfo;
......@@ -24,14 +22,13 @@ import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.login.R;
import com.gingersoft.gsa.cloud.login.mvp.bean.LoginLimitBean;
import com.gingersoft.gsa.cloud.login.mvp.presenter.BaseLoginPresenter;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.SwitchServerActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.SwitchServerActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.adapter.LoginLimitAdapter;
import com.gingersoft.gsa.cloud.ui.utils.DialogUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.ChooseRestaurantDialog;
import com.jess.arms.base.BaseActivity;
import java.util.ArrayList;
import java.util.List;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract;
package com.gingersoft.gsa.cloud.login.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.model;
package com.gingersoft.gsa.cloud.login.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.restaurant.bean.BrandsBean;
import com.gingersoft.gsa.cloud.login.mvp.server.LoginService;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.contract.ChooseRestaurantContract;
import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.model;
package com.gingersoft.gsa.cloud.login.mvp.model;
import android.app.Application;
import com.google.gson.Gson;
......@@ -8,7 +8,7 @@ import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.ActivityScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.RecoverPasswordContract;
import com.gingersoft.gsa.cloud.login.mvp.contract.RecoverPasswordContract;
@ActivityScope
......
......@@ -3,7 +3,6 @@ package com.gingersoft.gsa.cloud.login.mvp.presenter;
import android.app.Activity;
import android.app.Application;
import android.content.Intent;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.AppConstans;
......@@ -15,20 +14,15 @@ import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.login.mvp.bean.LoginLimitBean;
import com.gingersoft.gsa.cloud.login.mvp.contract.BaseLoginContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.LoginActivity;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.DeviceUtils;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.presenter;
package com.gingersoft.gsa.cloud.login.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.restaurant.bean.BrandsBean;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.login.mvp.bean.LoginLimitBean;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jess.arms.di.scope.ActivityScope;
......@@ -16,11 +15,8 @@ import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
......
......@@ -2,22 +2,19 @@ package com.gingersoft.gsa.cloud.login.mvp.presenter;
import android.app.Application;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.common.oaId.DeviceID;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.login.R;
import com.gingersoft.gsa.cloud.login.mvp.contract.LoginContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.PermissionUtil;
import com.tbruyelle.rxpermissions2.RxPermissions;
import java.util.List;
import javax.inject.Inject;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.presenter;
package com.gingersoft.gsa.cloud.login.mvp.presenter;
import android.app.Application;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.RecoverPasswordContract;
import com.gingersoft.gsa.cloud.login.mvp.contract.RecoverPasswordContract;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity;
package com.gingersoft.gsa.cloud.login.mvp.ui.activity;
import android.app.Activity;
import android.app.Dialog;
......@@ -7,13 +7,11 @@ import android.os.Bundle;
import android.view.Gravity;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.constans.AppConstans;
import com.gingersoft.gsa.cloud.common.core.restaurant.BrandInfo;
......@@ -29,11 +27,11 @@ import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.login.R;
import com.gingersoft.gsa.cloud.login.R2;
import com.gingersoft.gsa.cloud.login.di.component.DaggerChooseRestaurantComponent;
import com.gingersoft.gsa.cloud.login.mvp.bean.LoginLimitBean;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.component.DaggerChooseRestaurantComponent;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.module.ChooseRestaurantModule;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.presenter.ChooseRestaurantPresenter;
import com.gingersoft.gsa.cloud.login.di.module.ChooseRestaurantModule;
import com.gingersoft.gsa.cloud.login.mvp.contract.ChooseRestaurantContract;
import com.gingersoft.gsa.cloud.login.mvp.presenter.ChooseRestaurantPresenter;
import com.gingersoft.gsa.cloud.login.mvp.ui.adapter.LoginLimitAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.BasTextSectiontAdapter;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
......@@ -48,15 +46,11 @@ import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import javax.inject.Inject;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity;
package com.gingersoft.gsa.cloud.login.mvp.ui.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity;
package com.gingersoft.gsa.cloud.login.mvp.ui.activity;
import android.app.Activity;
import android.os.Bundle;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity;
package com.gingersoft.gsa.cloud.login.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gingersoft.gsa.cloud.login.R;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.component.DaggerRecoverPasswordComponent;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.di.module.RecoverPasswordModule;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.contract.RecoverPasswordContract;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.presenter.RecoverPasswordPresenter;
import com.gingersoft.gsa.cloud.login.di.component.DaggerRecoverPasswordComponent;
import com.gingersoft.gsa.cloud.login.di.module.RecoverPasswordModule;
import com.gingersoft.gsa.cloud.login.mvp.contract.RecoverPasswordContract;
import com.gingersoft.gsa.cloud.login.mvp.presenter.RecoverPasswordPresenter;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity;
package com.gingersoft.gsa.cloud.login.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
......
package com.gingersoft.gsa.cloud.login.mvp.ui.activity.mvp.ui.activity;
package com.gingersoft.gsa.cloud.login.mvp.ui.activity;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
......@@ -41,6 +41,7 @@ import com.gingersoft.gsa.cloud.login.mvp.bean.GuideBean;
import com.gingersoft.gsa.cloud.login.mvp.contract.LoginInterfaceImpl;
import com.gingersoft.gsa.cloud.login.mvp.contract.WelcomeContract;
import com.gingersoft.gsa.cloud.login.mvp.presenter.WelcomePresenter;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.adapter.GuideAdapter;
import com.gingersoft.gsa.cloud.ui.widget.Indicator.UIndicator;
import com.gyf.immersionbar.ImmersionBar;
......@@ -137,7 +138,7 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
intent.putExtra("form", clazz.getName());
launchActivity(intent);
} else {
startActivity(new Intent(mContext, LoginActivity.class));
startActivity(new Intent(mContext,LoginActivity.class));
}
} else {
startActivity(new Intent(mContext, LoginActivity.class));
......
......@@ -3,7 +3,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/theme_background_color"
android:orientation="vertical">
<com.qmuiteam.qmui.widget.QMUITopBar
......@@ -16,5 +15,6 @@
android:id="@+id/section_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants" />
android:descendantFocusability="blocksDescendants"
android:background="@color/theme_background_color"/>
</LinearLayout>
\ No newline at end of file
......@@ -10,7 +10,7 @@
android:id="@+id/iv_recover_pwd_back"
android:layout_width="wrap_content"
android:paddingLeft="@dimen/dp_15"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
android:src="@drawable/ic_black_back"
custom:layout_constraintLeft_toLeftOf="parent"
custom:layout_constraintTop_toTopOf="parent" />
......
......@@ -34,6 +34,7 @@
<activity
android:name=".mvp.ui.activity.NewMainActivity"
android:launchMode="singleTask"
android:alwaysRetainTaskState="true"
android:theme="@style/MainTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......
......@@ -56,9 +56,9 @@ public class ComponentMain implements IComponent {
*/
public static final FModule[] employee = {
new FModule("main/employee", 0, 0),
new FModule("main/employee/management", R.drawable.ic_staff_management, R.drawable.ic_staff_management_close),
new FModule("main/employee/delivery", R.drawable.ic_authority_management, R.drawable.ic_authority_management_close),
new FModule("main/employee/operationRecord", R.drawable.ic_operation_record, R.drawable.ic_operation_record_close)
new FModule("main/employee/management", R.drawable.ic_staff_management_close, R.drawable.ic_staff_management_close),
new FModule("main/employee/delivery", R.drawable.ic_authority_management_close, R.drawable.ic_authority_management_close),
new FModule("main/employee/operationRecord", R.drawable.ic_operation_record_close, R.drawable.ic_operation_record_close)
};
}
......@@ -135,9 +135,6 @@ public class ComponentMain implements IComponent {
Intent intent = new Intent(cc.getContext(), NewMainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
cc.getContext().startActivity(intent);
// CCUtil.createNavigateIntent(cc, NewMainActivity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success());
}
}
......@@ -49,7 +49,7 @@ public interface BusinessReportContract {
interface Model extends IModel {
Observable<MainBusinessBean> getRestaurantBusinessAmount(Map<String, String> map);
Observable<BusinessDetailsBean> getRestaurantBusinessDetails(Map<String, String> map);
// Observable<BusinessDetailsBean> getRestaurantBusinessDetails(Map<String, String> map);
Observable<DaySalesReportBean> getDaySalesReport(Map<String, String> map);
......
......@@ -40,7 +40,7 @@ public interface SalesContract {
interface Model extends IModel {
Observable<SalesFoodsBean> getSalesReportInfo(Map<String, Object> map);
Observable<SalesFoodsBean> getSalesReportInfo(RequestBody requestBody);
// Observable<SalesFoodsBean> getSalesReportInfo(RequestBody requestBody);
Observable<DeliveryLineChartBean> getDeliveryOrderCurveInfo(Map<String, Object> map);
......
......@@ -59,11 +59,11 @@ public class BusinessReportModel extends BaseModel implements BusinessReportCont
.getRestaurantAmount(map);
}
@Override
public Observable<BusinessDetailsBean> getRestaurantBusinessDetails(Map<String, String> map) {
return mRepositoryManager.obtainRetrofitService(MainReportService.class)
.getRestaurantDetails(map);
}
// @Override
// public Observable<BusinessDetailsBean> getRestaurantBusinessDetails(Map<String, String> map) {
// return mRepositoryManager.obtainRetrofitService(MainReportService.class)
// .getRestaurantDetails(map);
// }
@Override
public Observable<DaySalesReportBean> getDaySalesReport(Map<String, String> map) {
......
......@@ -57,11 +57,11 @@ public class SalesModel extends BaseModel implements SalesContract.Model {
.getSalesReportInfo(map);
}
@Override
public Observable<SalesFoodsBean> getSalesReportInfo(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MainReportService.class)
.getSalesReportInfo(requestBody);
}
// @Override
// public Observable<SalesFoodsBean> getSalesReportInfo(RequestBody requestBody) {
// return mRepositoryManager.obtainRetrofitService(MainReportService.class)
// .getSalesReportInfo(requestBody);
// }
@Override
public Observable<DeliveryLineChartBean> getDeliveryOrderCurveInfo(Map<String, Object> map) {
......
......@@ -41,9 +41,9 @@ public interface MainReportService {
Observable<SalesFoodsBean> getSalesReportInfo(@QueryMap Map<String, Object> map);
//銷售分析報表
@Headers({"Domain-Name: wechat_report"})
@POST("report/findFoodTop" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<SalesFoodsBean> getSalesReportInfo(@Body RequestBody requestBody);
// @Headers({"Domain-Name: wechat_report"})
// @POST("report/findFoodTop" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
// Observable<SalesFoodsBean> getSalesReportInfo(@Body RequestBody requestBody);
//外送訂單折線圖
@Headers({"Domain-Name: gsa_report"})
......@@ -60,10 +60,10 @@ public interface MainReportService {
@GET("restaurantOperation/business" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<MainBusinessBean> getRestaurantReport(@Query("restaurantId") String restaurantId);
//營業詳情
@Headers({"Domain-Name: gsa_report"})
@GET("restaurantOperation/business/dtails" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BusinessDetailsBean> getRestaurantDetails(@QueryMap Map<String, String> map);
// //營業詳情
// @Headers({"Domain-Name: gsa_report"})
// @GET("restaurantOperation/business/dtails" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
// Observable<BusinessDetailsBean> getRestaurantDetails(@QueryMap Map<String, String> map);
//營業金額
@Headers({"Domain-Name: gsa_report"})
......@@ -78,12 +78,12 @@ public interface MainReportService {
@GET("user/resource/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<String> getRestaurantFunList(@Query("restaurantId") String restaurantId);
//每日營業詳情
//每日營業詳情,賬單分析
@Headers({"Domain-Name: gsa_report"})
@GET("cloudGsaReport/daySalesReport" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<DaySalesReportBean> getDaySalesReport(@QueryMap Map<String, String> map);
//賬單分析
//營業金額淨值
@Headers({"Domain-Name: gsa_report"})
@GET("cloudGsaReport/orderAnalysis" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<OrderAnalysisBean> getOrderAnalysis(@QueryMap Map<String, String> map);
......
......@@ -17,11 +17,10 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.HomeContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.CheckVersionRequest;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainBusinessBean;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.HomeFragment;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......@@ -246,33 +245,33 @@ public class HomePresenter extends BasePresenter<HomeContract.Model, HomeContrac
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
if (info.getData() != null) {
PosPay.settlement(IActivity, IActivity, new OnPosActionListener() {
@Override
public void onPosSuccess(HywebPosResponse response) {
mRootView.showMessage("清機成功!");
updateSettlementOperation(restaurantId, GsonUtils.GsonString(response), 1);
}
@Override
public void onPosException(Exception e) {
mRootView.showMessage("清機Exception :" + e.getMessage());
updateSettlementOperation(restaurantId, e.getMessage(), 0);
}
@Override
public void onPosInvalid(String e) {
mRootView.showMessage(e);
updateSettlementOperation(restaurantId, e, 2);
}
@Override
public void onUpdateStatusSuccess(HywebPosResponse response) {
}
@Override
public void onUpdateStatusError(Throwable e) {
}
});
// PosPay.settlement(IActivity, IActivity, new OnPosActionListener() {
// @Override
// public void onPosSuccess(HywebPosResponse response) {
// mRootView.showMessage("清機成功!");
// updateSettlementOperation(restaurantId, GsonUtils.GsonString(response), 1);
// }
//
// @Override
// public void onPosException(HywebPosResponse response,Exception e) {
// mRootView.showMessage("清機Exception :" + e.getMessage());
// updateSettlementOperation(restaurantId, e.getMessage(), 0);
// }
//
// @Override
// public void onPosInvalid(String e) {
// mRootView.showMessage(e);
// updateSettlementOperation(restaurantId, e, 2);
// }
//
// @Override
// public void onUpdateStatusSuccess(HywebPosResponse response) {
// }
//
// @Override
// public void onUpdateStatusError(Throwable e) {
// }
// });
}
} else {
mRootView.showMessage("調起POS清機失敗");
......
......@@ -16,7 +16,7 @@ import com.gingersoft.gsa.cloud.main.mvp.model.bean.CheckVersionRequest;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......@@ -180,33 +180,33 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
if (info.getData() != null) {
PosPay.settlement(IActivity, IActivity, new OnPosActionListener() {
@Override
public void onPosSuccess(HywebPosResponse response) {
mRootView.showMessage("清機成功!");
updateSettlementOperation(restaurantId, GsonUtils.GsonString(response), 1);
}
@Override
public void onPosException(Exception e) {
mRootView.showMessage("清機Exception :" + e.getMessage());
updateSettlementOperation(restaurantId, e.getMessage(), 0);
}
@Override
public void onPosInvalid(String e) {
mRootView.showMessage(e);
updateSettlementOperation(restaurantId, e, 2);
}
@Override
public void onUpdateStatusSuccess(HywebPosResponse response) {
}
@Override
public void onUpdateStatusError(Throwable e) {
}
});
// PosPay.settlement(IActivity, IActivity, new OnPosActionListener() {
// @Override
// public void onPosSuccess(HywebPosResponse response) {
// mRootView.showMessage("清機成功!");
// updateSettlementOperation(restaurantId, GsonUtils.GsonString(response), 1);
// }
//
// @Override
// public void onPosException(HywebPosResponse response,Exception e) {
// mRootView.showMessage("清機Exception :" + e.getMessage());
// updateSettlementOperation(restaurantId, e.getMessage(), 0);
// }
//
// @Override
// public void onPosInvalid(String e) {
// mRootView.showMessage(e);
// updateSettlementOperation(restaurantId, e, 2);
// }
//
// @Override
// public void onUpdateStatusSuccess(HywebPosResponse response) {
// }
//
// @Override
// public void onUpdateStatusError(Throwable e) {
// }
// });
}
} else {
mRootView.showMessage("調起POS清機失敗");
......
......@@ -5,12 +5,8 @@ import android.app.Application;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementContract;
import com.gingersoft.gsa.cloud.common.core.settlement.SettlementReport;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......@@ -24,8 +20,6 @@ import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.RequestBody;
/**
......
......@@ -16,7 +16,7 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItem5Adapter
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItemAdapter;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem5;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
......@@ -230,33 +230,33 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
if (info.getData() != null) {
PosPay.settlement(IActivity, mRootView, new OnPosActionListener() {
@Override
public void onPosSuccess(HywebPosResponse response) {
mRootView.showMessage("清機成功!");
updateSettlementOperation(restaurantId, GsonUtils.GsonString(response), 1);
}
@Override
public void onPosException(Exception e) {
mRootView.showMessage("清機Exception :" + e.getMessage());
updateSettlementOperation(restaurantId, e.getMessage(), 0);
}
@Override
public void onPosInvalid(String e) {
mRootView.showMessage(e);
updateSettlementOperation(restaurantId, e, 2);
}
@Override
public void onUpdateStatusSuccess(HywebPosResponse response) {
}
@Override
public void onUpdateStatusError(Throwable e) {
}
});
// PosPay.settlement(IActivity, mRootView, new OnPosActionListener() {
// @Override
// public void onPosSuccess(HywebPosResponse response) {
// mRootView.showMessage("清機成功!");
// updateSettlementOperation(restaurantId, GsonUtils.GsonString(response), 1);
// }
//
// @Override
// public void onPosException(HywebPosResponse response,Exception e) {
// mRootView.showMessage("清機Exception :" + e.getMessage());
// updateSettlementOperation(restaurantId, e.getMessage(), 0);
// }
//
// @Override
// public void onPosInvalid(String e) {
// mRootView.showMessage(e);
// updateSettlementOperation(restaurantId, e, 2);
// }
//
// @Override
// public void onUpdateStatusSuccess(HywebPosResponse response) {
// }
//
// @Override
// public void onUpdateStatusError(Throwable e) {
// }
// });
}
} else {
mRootView.showMessage("調起POS清機失敗");
......
......@@ -4,6 +4,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2;
......@@ -13,6 +14,7 @@ import com.gingersoft.gsa.cloud.main.mvp.presenter.MainPresenter;
import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.HomeFragment;
import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.MyFragment;
import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.ReportListFragment;
import com.gyf.immersionbar.ImmersionBar;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
......@@ -67,6 +69,7 @@ public class MainActivity extends BaseFragmentActivity<MainPresenter> implements
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.main_activity_main; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
......@@ -87,7 +90,6 @@ public class MainActivity extends BaseFragmentActivity<MainPresenter> implements
return HomeFragment.newInstance();
case 1:
return ReportListFragment.newInstance();
case 2:
default:
return MyFragment.newInstance();
}
......@@ -95,7 +97,7 @@ public class MainActivity extends BaseFragmentActivity<MainPresenter> implements
@Override
public int getCount() {
return 3;
return 2;
}
@Override
......@@ -124,15 +126,15 @@ public class MainActivity extends BaseFragmentActivity<MainPresenter> implements
.setSelectedDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_selected_report))
.setText(getString(R.string.report))
.build(mContext);
QMUITab my = builder
.setNormalDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_normal_my))
.setSelectedDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_selected_my))
.setText(getString(R.string.my))
.build(mContext);
// QMUITab my = builder
// .setNormalDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_normal_my))
// .setSelectedDrawable(ContextCompat.getDrawable(mContext, R.drawable.ic_selected_my))
// .setText(getString(R.string.my))
// .build(mContext);
mTabSegment.addTab(home)
.addTab(report)
.addTab(my);
.addTab(report);
// .addTab(my);
}
......
......@@ -241,7 +241,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
// mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "切換環境"));
}
// mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "上傳日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "上傳日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "清機"));
if (AppDevices.isHywebPos()) {
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "N5清機"));
......@@ -387,7 +387,6 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
// mActivityJumpStrategy.put(function, new IntentJumpStrategy());
// }
// }
}
}
......
......@@ -4,11 +4,13 @@ import android.content.Intent;
import android.os.Bundle;
import android.util.TypedValue;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerReportComponent;
......@@ -24,9 +26,12 @@ import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -84,8 +89,10 @@ public class ReportActivity extends BaseFragmentActivity<ReportPresenter> implem
titles.add("銷售分析");
titles.add("支付分析");
BusinessReportFragment businessReportFragment = BusinessReportFragment.newInstance();
List<Fragment> mFragments = new ArrayList<>();
mFragments.add(BusinessReportFragment.newInstance());
mFragments.add(businessReportFragment);
mFragments.add(SalesFragment.newInstance());
mFragments.add(PaymentMethodReportFragment.newInstance());
//实例化适配器
......
......@@ -228,8 +228,6 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
private void showSendSettlementDialog() {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(this);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage("是否確認清機");
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
mPresenter.sendSettlement(type);
......
......@@ -21,10 +21,6 @@ public class MainOrderingAdapter extends BaseQuickAdapter<Function, BaseViewHold
super(layoutResId, data);
}
// public MainOrderingAdapter(@Nullable List<SectionItem> data) {
// super(R.layout.main_home_funcation_item, data);
// }
@Override
protected void convert(BaseViewHolder helper, Function item) {
helper.setImageResource(R.id.iv_main_home_item_function_icon, item.getIcRes());
......
......@@ -4,6 +4,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
......@@ -109,6 +110,9 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
private int manyDay = 7;
private String restaurantId;
private boolean mChartFocus;
public static BusinessReportFragment newInstance() {
BusinessReportFragment fragment = new BusinessReportFragment();
return fragment;
......@@ -138,51 +142,37 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
mTvStartTime.setText(TimeUtils.getOldDate(-manyDay + 1));
mTvEndTime.setText(TimeUtils.getOldDate(0));
//处理报表滑动过程中和页面滑动出现冲突
mLineChart.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mLineChart.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_POINTER_UP:
mLineChart.requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_CANCEL:
mLineChart.requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
}
@Override
public void onLazyInitView(@Nullable Bundle savedInstanceState) {
super.onLazyInitView(savedInstanceState);
getInfo();
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
public void setData(@Nullable Object data) {
}
@Override
public void showLoading(String message) {
if (message != null)
......
......@@ -40,6 +40,7 @@ import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpStrategy;
import com.gingersoft.gsa.cloud.common.leaks.WeakHandler;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.service.ICommandService;
import com.gingersoft.gsa.cloud.common.service.IServiceManager;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.StytemUtils;
......@@ -104,7 +105,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* ================================================
* 首頁
*/
public class HomeFragment extends BaseFragment<HomePresenter> implements HomeContract.View, View.OnClickListener , Handler.Callback{
public class HomeFragment extends BaseFragment<HomePresenter> implements HomeContract.View, View.OnClickListener {
@BindView(R2.id.rv_side_menu)
RecyclerView mRvSideMenu;
......@@ -171,13 +172,13 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
}
@Override
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.main_fragment_home, container, false);
public void initImmersionBar() {
ImmersionBar.setTitleBar(this, slideMenu);
}
@Override
public boolean handleMessage(@NonNull Message msg) {
return false;
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.main_fragment_home, container, false);
}
@Override
......@@ -185,16 +186,10 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
super.onActivityCreated(savedInstanceState);
mPresenter.checkAppVersion();
mPresenter.syncRestaurantExtendedConfiguration();
WeakHandler weakHandler = new WeakHandler(this);
weakHandler.sendEmptyMessage(0);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
ImmersionBar.with(_mActivity).titleBar(R.id.cl_title_layout).init();
ImmersionBar.with(_mActivity).titleBar(R.id.side_layout).navigationBarAlpha(1).init();
//初始化側邊欄菜單項
initSideMenu();
......@@ -208,7 +203,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
// msg.what = 0;
// mainTopFragment.setData(msg);
// }
EventBus.getDefault().post(true,"onRefreshReport");
EventBus.getDefault().post(true, "onRefreshReport");
});
refresh.setEnableLoadMore(false);
// initFuncationData();
......@@ -228,7 +223,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
}
@Subscriber(tag = "onFinishRefresh")
private void onFinishRefresh(boolean state){
private void onFinishRefresh(boolean state) {
refresh.finishRefresh();
}
......@@ -251,25 +246,8 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
}
private void initService() {
boolean deliveryOrderServiceRunning = StytemUtils.isServiceRunning("com.gingersoft.gsa.cloud.common.service.ICommandService", _mActivity);
if (!deliveryOrderServiceRunning) {
Intent service = new Intent(GsaCloudApplication.getAppContext(), ICommandService.class);
service.putExtra(ICommandService.CONNECTION_TYPE, ICommandService.mCurrConnectionType);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mContext.startForegroundService(service);
} else {
mContext.startService(service);
}
}
boolean prjServiceRunning = StytemUtils.isServiceRunning("com.joe.print.mvp.print.service.PrjService", _mActivity);
if (!prjServiceRunning) {
//開啟Prj打印服務
CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.setActionName("openPrintService")
.build()
.call();
}
IServiceManager.startICommandService(GsaCloudApplication.getAppContext());
IServiceManager.startPrjService(GsaCloudApplication.getAppContext());
}
/**
......@@ -374,6 +352,9 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(_mActivity, ComponentMain.main.class, ComponentMain.main.employee, "employee");
if (employeeFuncations.size() > 0) {
for (Function function : employeeFuncations) {
function.setStatus(0);
}
functions.addAll(employeeFuncations);
ll_staff_management.setVisibility(View.VISIBLE);
} else {
......
......@@ -41,7 +41,6 @@ public class MyFragment extends BaseFragment<MyPresenter> implements MyContract.
@BindView(R2.id.main_personal_center_rv)
RecyclerView rvMyList;
public static MyFragment newInstance() {
MyFragment fragment = new MyFragment();
return fragment;
......
......@@ -5,6 +5,7 @@ import android.graphics.Color;
import android.os.Bundle;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
......@@ -108,6 +109,29 @@ public class PaymentMethodReportFragment extends BaseFragment<PaymentMethodRepor
mTvStartTime.setText(TimeUtils.getOldDate(-7));
mTvEndTime.setText(TimeUtils.getOldDate(0));
//处理报表滑动过程中和页面滑动出现冲突
chart.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
chart.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_POINTER_UP:
chart.requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_CANCEL:
chart.requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
}
@Override
public void onLazyInitView(@Nullable Bundle savedInstanceState) {
super.onLazyInitView(savedInstanceState);
getPayMenthInfo();
}
......
......@@ -5,6 +5,7 @@ import android.graphics.Color;
import android.os.Bundle;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
......@@ -134,46 +135,34 @@ public class SalesFragment extends BaseFragment<SalesPresenter> implements Sales
mTvEndTime.setText(TimeUtils.getOldDate(0));
startEndTimePickerView.setOnUpdateTimePicker(onUpdateTimePicker);
//处理报表滑动过程中和页面滑动出现冲突
salesChart.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
salesChart.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_POINTER_UP:
salesChart.requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_CANCEL:
salesChart.requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
}
@Override
public void onLazyInitView(@Nullable Bundle savedInstanceState) {
super.onLazyInitView(savedInstanceState);
getSaleReport();
getDeliveryReport();
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
public void setData(@Nullable Object data) {
......
......@@ -18,6 +18,6 @@
android:id="@+id/section_kitchen_prj"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="?attr/qmui_topbar_height"/>
android:layout_marginTop="@dimen/head_height"/>
</LinearLayout>
\ No newline at end of file
......@@ -9,7 +9,7 @@
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/report_topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<com.google.android.material.tabs.TabLayout
......
......@@ -8,7 +8,7 @@
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height" />
android:layout_height="@dimen/head_height" />
<TextView
android:id="@+id/tv_settlement_time"
......
......@@ -8,7 +8,7 @@
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height" />
android:layout_height="@dimen/head_height" />
<include layout="@layout/layout_settlement_report" />
......@@ -27,7 +27,7 @@
android:id="@+id/sv_cross_days"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"
android:layout_marginTop="@dimen/head_height"
android:background="@color/theme_white_color"
android:fillViewport="true"
android:visibility="gone">
......
<?xml version="1.0" encoding="utf-8"?>
<!--<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"-->
<!-- xmlns:tools="http://schemas.android.com/tools"-->
<!-- android:id="@+id/recycler_report"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:orientation="vertical">-->
<!--</androidx.recyclerview.widget.RecyclerView>-->
<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:layout_height="match_parent"
android:descendantFocusability="afterDescendants"
android:orientation="vertical">
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topBar"
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="@dimen/pickerview_topbar_height"
app:qmui_topbar_text_btn_color_state_list="@color/theme_white_color"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_report"
<com.google.android.material.tabs.TabLayout
android:id="@+id/table_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/tabIndicator_height"
android:background="@color/white"
app:tabIndicator="@drawable/tablayout_indicator"
app:tabIndicatorColor="@color/theme_color"
app:tabIndicatorFullWidth="false"/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/report_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
......
......@@ -3,7 +3,7 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"
android:layout_marginTop="@dimen/head_height"
android:layout_marginBottom="@dimen/dp_45"
android:background="@color/theme_white_color"
android:descendantFocusability="beforeDescendants"
......
......@@ -11,7 +11,7 @@
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar_language"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<androidx.recyclerview.widget.RecyclerView
......
......@@ -64,12 +64,9 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
private GetTableTimer tableTimer;
private Disposable mGetTablesDataDisposable;
private TableManageActivity IActivity;
@Inject
public TableManagePresenter(TableManageContract.Model model, TableManageContract.View rootView) {
super(model, rootView);
this.IActivity = (TableManageActivity) rootView;
}
@Override
......
......@@ -109,22 +109,6 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
if (findFragment(TableListFragment.class) == null) {
loadRootFragment(Window.ID_ANDROID_CONTENT, TableListFragment.newInstance());
}
// generateSystemAlert();
}
private void generateSystemAlert() {
//Activity Context
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
//Application Context
//WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
final WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = 500;
params.gravity = Gravity.CENTER;
final View view = LayoutInflater.from(this).inflate(R.layout.window_system_alert, null);
wm.addView(view, params);
}
public void initGetTableTimer() {
......
......@@ -30,6 +30,7 @@ import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.util.QMUIResHelper;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
......@@ -56,7 +57,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements AddAreaContract.View {
@BindView(R2.id.topbar)
QMUITopBarLayout mTopBar;
QMUITopBar mTopBar;
@BindView(R2.id.groupListView)
QMUIGroupListView mGroupListView;
......
......@@ -34,6 +34,7 @@ import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.util.QMUIResHelper;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
......@@ -59,7 +60,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
public class AddTableFragment extends BaseFragment<AddTablePresenter> implements AddTableContract.View {
@BindView(R2.id.topbar)
QMUITopBarLayout mTopBar;
QMUITopBar mTopBar;
@BindView(R2.id.groupListView)
QMUIGroupListView mGroupListView;
......
......@@ -42,6 +42,7 @@ import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.KeyboardChangeHelper;
import com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
......@@ -75,7 +76,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
public class AreaListFragment extends BaseFragment<AreaListPresenter> implements AreaListContract.View {
@BindView(R2.id.topbar)
QMUITopBarLayout mTopBar;
QMUITopBar mTopBar;
@BindView(R2.id.recycler_area)
RecyclerView recycler_area;
@BindView(R2.id.refreshLayout)
......
......@@ -50,6 +50,7 @@ import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
......@@ -92,7 +93,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
public class TableListFragment extends BaseFragment<TableListPresenter> implements TableListContract.View {
@BindView(R2.id.topbar)
QMUITopBarLayout mTopBar;
QMUITopBar mTopBar;
@BindView(R2.id.fl_section_layout)
FrameLayout fl_section_layout;
@BindView(R2.id.section_table)
......@@ -145,11 +146,6 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_table_list, container, false);
}
......
......@@ -5,16 +5,16 @@
android:layout_height="match_parent"
android:background="@color/theme_background_color">
<com.qmuiteam.qmui.widget.QMUITopBarLayout
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
android:id="@+id/groupListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"/>
android:layout_marginTop="@dimen/head_height"/>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
......@@ -5,15 +5,16 @@
android:layout_height="match_parent"
android:background="@color/theme_background_color">
<com.qmuiteam.qmui.widget.QMUITopBarLayout
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height" />
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
android:id="@+id/groupListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"/>
android:layout_marginTop="@dimen/head_height"/>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
......@@ -8,7 +8,7 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height">
android:layout_marginTop="@dimen/head_height">
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:id="@+id/emptyView"
......@@ -160,10 +160,10 @@
android:src="@drawable/add_white" />
</com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout>
<com.qmuiteam.qmui.widget.QMUITopBarLayout
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
......@@ -8,7 +8,7 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"
android:layout_marginTop="@dimen/head_height"
android:background="@color/theme_background_color">
<FrameLayout
......@@ -106,10 +106,10 @@
</LinearLayout>
</RelativeLayout>
<com.qmuiteam.qmui.widget.QMUITopBarLayout
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
......
......@@ -10,7 +10,7 @@
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
android:layout_height="@dimen/head_height"
android:background="@color/theme_color"
app:qmui_topbar_title_color="@color/theme_white_color" />
......
......@@ -8,7 +8,7 @@
<application>
<activity
android:name=".mvp.ui.activity.PrintActivity"
android:launchMode="singleInstance"
android:launchMode="singleTop"
android:theme="@style/print_TranslucentTheme" />
<activity
......
......@@ -6,6 +6,7 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.joe.print.mvp.print.printerManger.PrjPtinterManager;
import com.joe.print.mvp.print.service.PrjService;
......@@ -15,6 +16,7 @@ import com.joe.print.mvp.ui.activity.PrinterListActivity;
public class PrintComponent implements IComponent {
private final String TAG = getClass().getSimpleName();
@Override
public String getName() {
......@@ -35,6 +37,7 @@ public class PrintComponent implements IComponent {
@Override
public boolean onCall(CC cc) {
String actionName = cc.getActionName();
LoganManager.w_code(TAG, "onCall->actionName->" + actionName);
switch (actionName) {
case "killPrintActivity":
......@@ -117,7 +120,9 @@ public class PrintComponent implements IComponent {
// //将cc的callId传给Activity,登录完成后通过这个callId来回传结果
// intent.putExtra("callId", cc.getCallId());
// context.startActivity(intent);
LoganManager.w_code(TAG, "print start" );
CCUtil.navigateTo(cc, PrintActivity.class);
LoganManager.w_code(TAG, "print end" );
//返回true,不立即调用CC.sendCCResult
return true;
}
......
......@@ -28,9 +28,11 @@ import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.PrjBean;
import com.gyf.immersionbar.ImmersionBar;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.joe.print.R;
import com.joe.print.di.component.DaggerPrintComponent;
import com.joe.print.mvp.contract.PrintContract;
import com.joe.print.mvp.presenter.PrintPresenter;
......@@ -99,6 +101,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
LoganManager.w_code(TAG, "setupActivityComponent");
DaggerPrintComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
......@@ -109,13 +112,25 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public int initView(@Nullable Bundle savedInstanceState) {
LoganManager.w_code(TAG, "initView");
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
return 0;//R.layout.print_bitmap;如果你不需要框架帮你设置 setContentView(id) 需要 自行设置,请返回 0
}
@Override
public void configImmersionBar(ImmersionBar immersionBar) {
LoganManager.w_code(TAG, "configImmersionBar");
immersionBar
.fitsSystemWindows(true)
.statusBarColor(R.color.trans)
.statusBarDarkFont(true)
.init();
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
LoganManager.w_code(TAG, "initData");
PrinterFlowProxy.newInstance().registerPrinterFlowListener(printerFlowListener);
}
......@@ -127,7 +142,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void connectionSuccess() {
if(printerLoadingDialog == null){
if (printerLoadingDialog == null) {
return;
}
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_PRINTING, PrinterLoadingDialog.STATUS_SUCCESS, null);
......@@ -135,7 +150,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void connectionError(Exception e) {
if(printerLoadingDialog == null){
if (printerLoadingDialog == null) {
return;
}
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_PRINTING, PrinterLoadingDialog.STATUS_ERROR, e.getMessage());
......@@ -148,7 +163,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void onPrinterDataBefore(int orderType, int printType, String printerData, String printerDeviceInfo) {
if(printerLoadingDialog == null){
if (printerLoadingDialog == null) {
return;
}
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_CONNECTING, PrinterLoadingDialog.STATUS_SUCCESS, null);
......@@ -156,7 +171,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void onPrinterBitmapBefore(int orderType, int printType, String directoryName, List<Bitmap> bitmaps) {
if(printerLoadingDialog == null){
if (printerLoadingDialog == null) {
return;
}
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_CONNECTING, PrinterLoadingDialog.STATUS_SUCCESS, null);
......@@ -165,7 +180,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void onPrintSuccess() {
printerResult = true;
if(printerLoadingDialog == null){
if (printerLoadingDialog == null) {
return;
}
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_RESULT, PrinterLoadingDialog.STATUS_SUCCESS, null);
......@@ -174,7 +189,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void onPrintError(Exception e, int errorCode) {
if(printerLoadingDialog == null){
if (printerLoadingDialog == null) {
return;
}
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_RESULT, PrinterLoadingDialog.STATUS_ERROR, e.getMessage());
......@@ -212,6 +227,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
private void actionPrinter() {
LoganManager.w_code(TAG, "actionPrinter start");
showPrintLoadingDialog();
callId = CCUtil.getNavigateCallId(this);
......@@ -225,6 +242,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
printerInIt = PrinterRoot.getPrinterByType(type, printContent);
//初始化打印配置
initPrintConfig(printContent);
LoganManager.w_code(TAG, "actionPrinter end");
}
private void showPrintLoadingDialog() {
......@@ -253,6 +272,9 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
private PrinterDeviceBean defaultPrint;
private void initPrintConfig(PrintContent printContent) {
LoganManager.w_code(TAG, "initPrintConfig start");
//開始
PrinterFlowProxy.newInstance().dispatchPrinterDataBefore(type, type, GsonUtils.GsonString(printContent), GsonUtils.GsonString(defaultPrint));
......@@ -284,6 +306,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
defaultPrint = MyPrintUtils.configPrinterProperties(printCurrencyBean, defaultPrint);
printByDevice(defaultPrint);
}
LoganManager.w_code(TAG, "initPrintConfig end");
}
/**
......@@ -373,6 +397,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
* @param defaultPrint 打印機
*/
private void printByDevice(PrinterDeviceBean defaultPrint) {
LoganManager.w_code(TAG, "printByDevice start");
//獲取對應的打印類
if (printerInIt instanceof PrintInstruction) {
//開錢箱
......@@ -421,6 +446,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
printFailure("未找到對應的打印類型");
}
}
LoganManager.w_code(TAG, "printByDevice end");
}
/**
......
......@@ -24,6 +24,7 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.constans.PrintConstans;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.user.UserContext;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.component.ComponentName;
......@@ -560,6 +561,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
* 添加或測試打印機
*/
private void addOrTestPrint(View v) {
LoganManager.w_code(TAG, "addOrTestPrint start");
if (!editTextIsNull(mEdPrintName)) {
ToastUtils.show(mContext, "請輸入打印機名稱");
return;
......@@ -650,6 +652,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
}
} else if (v.getId() == R.id.print_test) {
//打印測試
LoganManager.w_code(TAG, "打印測試 start");
CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_TEST)
.addParam("deviceBean", printerDeviceBean)
......@@ -660,9 +663,11 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
// if (!result.isSuccess()) {
// ToastUtils.show(this, "打印失敗");
// }
LoganManager.w_code(TAG, "打印測試 end");
});
}
LoganManager.w_code(TAG, "addOrTestPrint end");
}
private boolean editTextIsNull(TextView edit) {
......
......@@ -3,6 +3,15 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- <ImageView-->
<!-- android:id="@+id/iv_img"-->
<!-- android:layout_width="@dimen/dp_58"-->
<!-- android:layout_height="@dimen/dp_58"-->
<!-- android:layout_marginTop="@dimen/dp_8"-->
<!-- android:layout_marginRight="@dimen/dp_8"-->
<!-- android:scaleType="fitXY"-->
<!-- android:src="@drawable/awe" />-->
<ImageView
android:id="@+id/iv_img"
android:layout_width="@dimen/dp_58"
......
package com.gingersoft.gsa.cloud.table.app.printer;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2019/6/18
* 修订历史:2019/6/18
* 描述:
*/
public class PrintPaymentStub {
private String EVENT_NAME;
private String TXN_ID;
private boolean IS_REPRINT;
public String getEVENT_NAME() {
return EVENT_NAME;
}
public void setEVENT_NAME(String EVENT_NAME) {
this.EVENT_NAME = EVENT_NAME;
}
public String getTXN_ID() {
return TXN_ID;
}
public void setTXN_ID(String TXN_ID) {
this.TXN_ID = TXN_ID;
}
public boolean isIS_REPRINT() {
return IS_REPRINT;
}
public void setIS_REPRINT(boolean IS_REPRINT) {
this.IS_REPRINT = IS_REPRINT;
}
@Override
public String toString() {
return "PrintPaymentStub{" +
"EVENT_NAME='" + EVENT_NAME + '\'' +
", TXN_ID='" + TXN_ID + '\'' +
", IS_REPRINT=" + IS_REPRINT +
'}';
}
}
......@@ -3,13 +3,13 @@ package com.gingersoft.gsa.cloud.table.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.gingersoft.gsa.cloud.table.mvp.contract.RegionFragmentContract;
import com.gingersoft.gsa.cloud.table.mvp.contract.RegionTableContract;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.table.di.module.AllTableModule;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionTableFragment;
/**
......@@ -27,12 +27,12 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionFragment;
@FragmentScope
@Component(modules = AllTableModule.class, dependencies = AppComponent.class)
public interface AllTableComponent {
void inject(RegionFragment fragment);
void inject(RegionTableFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
AllTableComponent.Builder view(RegionFragmentContract.View view);
AllTableComponent.Builder view(RegionTableContract.View view);
AllTableComponent.Builder appComponent(AppComponent appComponent);
......
package com.gingersoft.gsa.cloud.table.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.table.di.module.BillDiscountModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.BillDiscountContract;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.BillDiscountFragment;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component(modules = BillDiscountModule.class, dependencies = AppComponent.class)
public interface BillDiscountComponent {
void inject(BillDiscountFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
BillDiscountComponent.Builder view(BillDiscountContract.View view);
BillDiscountComponent.Builder appComponent(AppComponent appComponent);
BillDiscountComponent build();
}
}
\ No newline at end of file
......@@ -2,21 +2,22 @@ package com.gingersoft.gsa.cloud.table.di.component;
import dagger.BindsInstance;
import dagger.Component;
import dagger.Subcomponent;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.table.di.module.StateTableModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.StateTableContract;
import com.gingersoft.gsa.cloud.table.di.module.CouponModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.StateTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.CouponFragment;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/28/2019 17:33
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
......@@ -25,17 +26,17 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.StateTableFragment;
* ================================================
*/
@FragmentScope
@Component(modules = StateTableModule.class, dependencies = AppComponent.class)
public interface StateTableComponent {
void inject(StateTableFragment fragment);
@Component(modules = CouponModule.class, dependencies = AppComponent.class)
public interface CouponComponent {
void inject(CouponFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
StateTableComponent.Builder view(StateTableContract.View view);
CouponComponent.Builder view(CouponContract.View view);
StateTableComponent.Builder appComponent(AppComponent appComponent);
CouponComponent.Builder appComponent(AppComponent appComponent);
StateTableComponent build();
CouponComponent build();
}
}
\ No newline at end of file
......@@ -3,8 +3,8 @@ package com.gingersoft.gsa.cloud.table.di.module;
import dagger.Binds;
import dagger.Module;
import com.gingersoft.gsa.cloud.table.mvp.contract.RegionFragmentContract;
import com.gingersoft.gsa.cloud.table.mvp.model.RegionFragmentModel;
import com.gingersoft.gsa.cloud.table.mvp.contract.RegionTableContract;
import com.gingersoft.gsa.cloud.table.mvp.model.RegionTableModel;
/**
......@@ -23,5 +23,5 @@ import com.gingersoft.gsa.cloud.table.mvp.model.RegionFragmentModel;
public abstract class AllTableModule {
@Binds
abstract RegionFragmentContract.Model bindAllTableModel(RegionFragmentModel model);
abstract RegionTableContract.Model bindAllTableModel(RegionTableModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter;
import com.gingersoft.gsa.cloud.ui.bean.TagViewItem;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.table.mvp.contract.BillDiscountContract;
import com.gingersoft.gsa.cloud.table.mvp.model.BillDiscountModel;
import com.gingersoft.gsa.cloud.table.mvp.contract.StateTableContract;
import com.gingersoft.gsa.cloud.table.mvp.model.StateTableModel;
import java.util.ArrayList;
import java.util.List;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/28/2019 17:33
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
......@@ -20,8 +29,21 @@ import com.gingersoft.gsa.cloud.table.mvp.model.StateTableModel;
* ================================================
*/
@Module
public abstract class StateTableModule {
public abstract class BillDiscountModule {
@Binds
abstract StateTableContract.Model bindStateTableModel(StateTableModel model);
abstract BillDiscountContract.Model bindBillDiscountModel(BillDiscountModel model);
@FragmentScope
@Provides
static List<TagViewItem> provideBillDiscountList(){
return new ArrayList<>();
}
@FragmentScope
@Provides
static TagViewAdapter provideBillDiscountAdapter(List<TagViewItem> billDiscountList){
return new TagViewAdapter(billDiscountList);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon;
import com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter;
import com.gingersoft.gsa.cloud.ui.bean.TagViewItem;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract;
import com.gingersoft.gsa.cloud.table.mvp.model.CouponModel;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class CouponModule {
@Binds
abstract CouponContract.Model bindCouponModel(CouponModel model);
@FragmentScope
@Provides
static List<TagViewItem> provideMemberCouponList(){
return new ArrayList<>();
}
@FragmentScope
@Provides
static TagViewAdapter provideMemberCouponAdapter(List<TagViewItem> memberCouponList){
return new TagViewAdapter(memberCouponList);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import android.content.Context;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.jess.arms.di.scope.ActivityScope;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
/**
......@@ -25,4 +45,73 @@ public abstract class MealStandModule {
@Binds
abstract MealStandContract.Model bindMealStandModel(MealStandModel model);
@ActivityScope
@Provides
@Named("foodGroupList")
static List<Food> provideFoodGroupList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
@Named("foodList")
static List<Food> provideFoodList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<ComboItem> provideFoodCombo() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<Modifier> provideModifierList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<Discount> provideDiscountList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<SoldoutCtrFood> provideSoldoutCtrList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static FoodGroupAdapter provideFoodGroupAdapter(MealStandContract.View IView, @Named("foodGroupList") List<Food> foodGroupList) {
return new FoodGroupAdapter(IView.getActivity(), foodGroupList, IView.getFromType());
}
@ActivityScope
@Provides
static FoodAdapter provideFoodAdapter(MealStandContract.View IView, @Named("foodList") List<Food> foodList) {
return new FoodAdapter(IView.getActivity(), foodList, IView.getFromType());
}
@ActivityScope
@Provides
static ComboAdapter provideComboAdapter(MealStandContract.View IView, List<ComboItem> comboItemList) {
return new ComboAdapter(IView.getActivity(), comboItemList);
}
@ActivityScope
@Provides
static ModifierAdapter provideModifierAdapter(MealStandContract.View IView, List<Modifier> modifierList) {
return new ModifierAdapter(IView.getActivity(), modifierList);
}
@ActivityScope
@Provides
static DiscountAdapter provideDiscountAdapter(MealStandContract.View IView, List<Discount> discountList) {
return new DiscountAdapter(IView.getActivity(), discountList);
}
}
\ No newline at end of file
......@@ -35,15 +35,4 @@ public abstract class TableModule {
@Binds
abstract TableContract.Model bindTableModel(TableModel model);
@ActivityScope
@Provides
static List<Food> provideFoodList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static FoodAdapter provideFoodAdapter(Context context, List<Food> foodList, int fromType) {
return new FoodAdapter(context, foodList, fromType);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.action.discount;
import android.app.Activity;
import com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.order.discount.NomalDiscount;
import java.util.List;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:賬單優惠券邏輯
*/
public class BillCouponAction implements Strategy<MemberCoupon> {
private Activity mContext;
/**
* 賬單優惠券列表
*/
private List<NomalDiscount> mNomalDiscountList;
private OnCallBackListener mListener;
public BillCouponAction(Activity context, OnCallBackListener listener) {
this.mContext = context;
this.mListener = listener;
}
public void setNomalDiscountList(List<NomalDiscount> nomalDiscountList) {
this.mNomalDiscountList = nomalDiscountList;
}
@Override
public void action(MemberCoupon discount) {
if (mListener == null) {
return;
}
}
@Override
public void destroy() {
}
private void exclusiveDiscount(MemberCoupon discount) {
if (mListener != null) {
}
}
public interface OnCallBackListener {
void exclusiveRemoveOthers(List<NomalDiscount> nomalDiscountList);
void preformAddDiscount(MemberCoupon discount);
}
}
package com.gingersoft.gsa.cloud.table.mvp.action.discount;
import android.app.Activity;
import android.text.InputType;
import com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.order.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog;
import com.jess.arms.utils.ArmsUtils;
import java.util.List;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:食品優惠券邏輯
*/
public class MealCouponAction implements Strategy<MemberCoupon> {
private Activity mContext;
/**
* 食品優惠券列表
*/
private List<NomalDiscount> mNomalDiscountList;
private OnCallBackListener mListener;
public MealCouponAction(Activity context, OnCallBackListener listener) {
this.mContext = context;
this.mListener = listener;
}
public void setNomalDiscountList(List<NomalDiscount> nomalDiscountList) {
this.mNomalDiscountList = nomalDiscountList;
}
@Override
public void action(MemberCoupon discount) {
if (mListener == null) {
return;
}
}
@Override
public void destroy() {
}
private void exclusiveDiscount(MemberCoupon discount) {
if (mListener != null) {
}
}
/**
* 是否有獨佔折扣
*
* @return
*/
private boolean hasExclusiveDiscount() {
for (NomalDiscount nomalDiscount : mNomalDiscountList) {
if (nomalDiscount.getDiscount().getExclusive() == 1) {
return true;
}
}
return false;
}
public interface OnCallBackListener {
void exclusiveRemoveOthers(List<NomalDiscount> nomalDiscountList);
void preformAddDiscount(MemberCoupon discount);
}
}
......@@ -10,13 +10,12 @@ import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.mvp.IView;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
......@@ -79,59 +78,59 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
txnIdRequest.setAmount(datasBean.getAmount());
VoidRequest voidRequest = new VoidRequest();
PosPay.voidO(mActivity, mRootView, voidRequest, txnIdRequest, new OnPosActionListener<VoidRespose>() {
@Override
public void onPosSuccess(VoidRespose response) {
LoganManager.w_order(TAG, "onPosSuccess: " + response.toString());
if (cancelListener != null) {
cancelListener.refeshOrders();
}
}
@Override
public void onPosException(Exception e) {
LoganManager.w_order(TAG, "onPosException: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount());
statusExceptionParam.setOrderId(datasBean.getId());
statusExceptionParam.setOrderNo(datasBean.getOrderNo());
statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.VOID);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
}
}
@Override
public void onPosInvalid(String e) {
LoganManager.w_order(TAG, "onPosInvalid: " + e);
}
@Override
public void onUpdateStatusSuccess(VoidRespose response) {
LoganManager.w_order(TAG, "onUpdateStatusSuccess: " + response.toString());
}
@Override
public void onUpdateStatusError(Throwable e) {
LoganManager.w_order(TAG, "onUpdateStatusError: " + e.getMessage());
if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount());
statusExceptionParam.setOrderId(datasBean.getId());
statusExceptionParam.setOrderNo(datasBean.getOrderNo());
statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.VOID);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}
}
});
// PosPay.voidO(mActivity, mRootView, voidRequest, txnIdRequest, new OnPosActionListener<VoidRespose>() {
//
// @Override
// public void onPosSuccess(VoidRespose response) {
// LoganManager.w_order(TAG, "onPosSuccess: " + response.toString());
// if (cancelListener != null) {
// cancelListener.refeshOrders();
// }
// }
//
// @Override
// public void onPosException(VoidRespose response, Exception e) {
// LoganManager.w_order(TAG, "onPosException: " + e.getMessage());
// PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
// if (statusExceptionFragment == null) {
// PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
// statusExceptionParam.setTxnId(datasBean.getPayTxnId());
// statusExceptionParam.setAmount(datasBean.getAmount());
// statusExceptionParam.setOrderId(datasBean.getId());
// statusExceptionParam.setOrderNo(datasBean.getOrderNo());
// statusExceptionParam.setPayMethodName("VISA測試");
// statusExceptionParam.setPosAction(PosAction.VOID);
// mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
// }else{
// mActivity.start(statusExceptionFragment);
// }
// }
//
// @Override
// public void onPosInvalid(String e) {
// LoganManager.w_order(TAG, "onPosInvalid: " + e);
// }
//
// @Override
// public void onUpdateStatusSuccess(VoidRespose response) {
// LoganManager.w_order(TAG, "onUpdateStatusSuccess: " + response.toString());
// }
//
// @Override
// public void onUpdateStatusError(Throwable e) {
// LoganManager.w_order(TAG, "onUpdateStatusError: " + e.getMessage());
// if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
// PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
// statusExceptionParam.setTxnId(datasBean.getPayTxnId());
// statusExceptionParam.setAmount(datasBean.getAmount());
// statusExceptionParam.setOrderId(datasBean.getId());
// statusExceptionParam.setOrderNo(datasBean.getOrderNo());
// statusExceptionParam.setPayMethodName("VISA測試");
// statusExceptionParam.setPosAction(PosAction.VOID);
// mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
// }
// }
// });
}
private OnCancelListener cancelListener;
......
package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.constans.PrintConstans;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.mvp.IView;
import java.util.Date;
import java.util.List;
/**
......
package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
......@@ -21,10 +20,9 @@ import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.action.table.TableAction;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
......@@ -106,36 +104,36 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
}
private void printPosStub(OrderManagerResponse orderDetailItem, DoshokuOrder doshokuOrder, TableBean.DataBean dataBean) {
PosPay.printStub(mActivity, mRootView, orderDetailItem.getPayTxnId(), new OnPosActionListener() {
@Override
public void onPosSuccess(HywebPosResponse response) {
if(printlListener != null){
printlListener.printPosStubResult(true);
}
printBill(orderDetailItem,doshokuOrder, dataBean,true);
}
@Override
public void onPosException(Exception e) {
if(printlListener != null){
printlListener.printPosStubResult(false);
}
printBill(orderDetailItem,doshokuOrder, dataBean,true);
}
@Override
public void onPosInvalid(String e) {
printBill(orderDetailItem,doshokuOrder, dataBean,true);
}
@Override
public void onUpdateStatusSuccess(HywebPosResponse response) {
}
@Override
public void onUpdateStatusError(Throwable e) {
}
});
// PosPay.printStub(mActivity, mRootView, orderDetailItem.getPayTxnId(), new OnPosActionListener() {
// @Override
// public void onPosSuccess(HywebPosResponse response) {
// if(printlListener != null){
// printlListener.printPosStubResult(true);
// }
// printBill(orderDetailItem,doshokuOrder, dataBean,true);
// }
//
// @Override
// public void onPosException(HywebPosResponse response, Exception e) {
// if(printlListener != null){
// printlListener.printPosStubResult(false);
// }
// printBill(orderDetailItem,doshokuOrder, dataBean,true);
// }
//
// @Override
// public void onPosInvalid(String e) {
// printBill(orderDetailItem,doshokuOrder, dataBean,true);
// }
//
// @Override
// public void onUpdateStatusSuccess(HywebPosResponse response) {
// }
//
// @Override
// public void onUpdateStatusError(Throwable e) {
// }
// });
}
private void printBill(OrderManagerResponse orderDetailItem,DoshokuOrder doshokuOrder, TableBean.DataBean dataBean,boolean printStub) {
......
package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
......@@ -10,9 +8,9 @@ import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.BaseFragmentActivity;
......@@ -76,63 +74,63 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
RefundRequest refundRequest = new RefundRequest();
refundRequest.setPAYMENT_APP_ID(getPaymentAppIdByPays(datasBean.getOrderPays()));
refundRequest.setTXN_AMT(datasBean.getAmount());
PosPay.refund(mActivity, mRootView, refundRequest, txnIdRequest, new OnPosActionListener<RefundRespose>() {
@Override
public void onPosSuccess(RefundRespose response) {
LoganManager.w_order(TAG, "onPosSuccess: " + response.toString());
if(refundListener != null){
refundListener.refeshOrders();
}
}
@Override
public void onPosException(Exception e) {
LoganManager.w_order(TAG, "onPosException: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount());
statusExceptionParam.setOrderId(datasBean.getId());
statusExceptionParam.setOrderNo(datasBean.getOrderNo());
statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.REFUND);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else {
mActivity.start(statusExceptionFragment);
}
}
@Override
public void onPosInvalid(String e) {
LoganManager.w_order(TAG, "onPosInvalid: " + e);
}
@Override
public void onUpdateStatusSuccess(RefundRespose response) {
LoganManager.w_order(TAG, "onUpdateStatusSuccess: " + response.toString());
}
@Override
public void onUpdateStatusError(Throwable e) {
LoganManager.w_order(TAG, "onUpdateStatusError: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount());
statusExceptionParam.setOrderId(datasBean.getId());
statusExceptionParam.setOrderNo(datasBean.getOrderNo());
statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.REFUND);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
}
}
});
// PosPay.refund(mActivity, mRootView, refundRequest, txnIdRequest, new OnPosActionListener<RefundRespose>() {
//
// @Override
// public void onPosSuccess(RefundRespose response) {
// LoganManager.w_order(TAG, "onPosSuccess: " + response.toString());
// if(refundListener != null){
// refundListener.refeshOrders();
// }
// }
//
// @Override
// public void onPosException(RefundRespose response,Exception e) {
// LoganManager.w_order(TAG, "onPosException: " + e.getMessage());
// PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
// if (statusExceptionFragment == null) {
// PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
// statusExceptionParam.setTxnId(datasBean.getPayTxnId());
// statusExceptionParam.setAmount(datasBean.getAmount());
// statusExceptionParam.setOrderId(datasBean.getId());
// statusExceptionParam.setOrderNo(datasBean.getOrderNo());
// statusExceptionParam.setPayMethodName("VISA測試");
// statusExceptionParam.setPosAction(PosAction.REFUND);
// mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
// }else {
// mActivity.start(statusExceptionFragment);
// }
// }
//
// @Override
// public void onPosInvalid(String e) {
// LoganManager.w_order(TAG, "onPosInvalid: " + e);
// }
//
// @Override
// public void onUpdateStatusSuccess(RefundRespose response) {
// LoganManager.w_order(TAG, "onUpdateStatusSuccess: " + response.toString());
// }
//
//
// @Override
// public void onUpdateStatusError(Throwable e) {
// LoganManager.w_order(TAG, "onUpdateStatusError: " + e.getMessage());
// PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class);
// if (statusExceptionFragment == null) {
// PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
// statusExceptionParam.setTxnId(datasBean.getPayTxnId());
// statusExceptionParam.setAmount(datasBean.getAmount());
// statusExceptionParam.setOrderId(datasBean.getId());
// statusExceptionParam.setOrderNo(datasBean.getOrderNo());
// statusExceptionParam.setPayMethodName("VISA測試");
// statusExceptionParam.setPosAction(PosAction.REFUND);
// mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
// }else{
// mActivity.start(statusExceptionFragment);
// }
// }
// });
}
private String getPaymentAppIdByPays(List<OrderManagerResponse.OrderPayBean> orderPays) {
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.jess.arms.base.DefaultAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import com.kingja.loadsir.callback.Callback;
import java.util.List;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/28/2019 17:33
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
......@@ -17,16 +22,14 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface StateTableContract {
public interface BillDiscountContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void setStateTableAdapter(DefaultAdapter adapter);
void returnBillCoupon(List<Discount> discounts);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
}
}
package com.gingersoft.gsa.cloud.table.mvp.contract;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import com.kingja.loadsir.callback.Callback;
import com.kingja.loadsir.core.LoadService;
import com.kingja.loadsir.core.LoadSir;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import retrofit2.http.Query;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface CouponContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void returnMemberCouponList(List<MemberCoupon> memberCoupons);
void showLoadSirSuccess();
void showLoadSirCall(Class<? extends Callback> call);
LoadService getLoadService();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Single<List<MemberCoupon>> getMemberWalletList(int brandId, long memberId, long limitType, long pageIndex, long pageSize);
}
}
......@@ -5,6 +5,7 @@ import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
......@@ -104,10 +105,13 @@ public interface MealStandContract {
void setMealRvScrollToPosition(int position);
List<Food> getFoodGroupList();
Activity getActivity();
void setModifierTop(int Margins);
int getFromType();
void setModifierTop(int Margins);
void setCustomFoodDialog(int customType, OrderDetail foodItem);
}
......
......@@ -4,9 +4,9 @@ import android.content.Intent;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionFragment;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionTableFragment;
import com.jess.arms.base.DefaultAdapter;
import java.util.List;
......@@ -34,7 +34,7 @@ public interface OrderContentContract {
void returnTableList(List<TableBean.DataBean> dataBeanList);
RegionFragment getCurrentTableFragment();
RegionTableFragment getCurrentTableFragment();
void clickTableItem(TableBean.DataBean dataBean);
......
......@@ -17,11 +17,11 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface RegionFragmentContract {
public interface RegionTableContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void showEmptyView(boolean isSuccess, int size, Throwable t);
void showLoadSirCall(boolean isSuccess, int size, Throwable t);
void setAllTableAdapter(DefaultAdapter adapter);
}
......
......@@ -4,7 +4,7 @@ import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.action.table.TableAction;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionTableFragment;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.jess.arms.base.DefaultAdapter;
......@@ -37,7 +37,7 @@ public interface TableContract {
void returnTableList(List<TableBean.DataBean> dataBeanList);
RegionFragment getCurrentTableFragment();
RegionTableFragment getCurrentTableFragment();
void clickTableItem(TableBean.DataBean dataBean);
......
......@@ -2,20 +2,27 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.table.mvp.contract.StateTableContract;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils;
import com.google.gson.Gson;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.BillDiscountContract;
import java.util.List;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/28/2019 17:33
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
......@@ -24,14 +31,14 @@ import javax.inject.Inject;
* ================================================
*/
@FragmentScope
public class StateTableModel extends BaseModel implements StateTableContract.Model {
public class BillDiscountModel extends BaseModel implements BillDiscountContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public StateTableModel(IRepositoryManager repositoryManager) {
public BillDiscountModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
......@@ -41,4 +48,11 @@ public class StateTableModel extends BaseModel implements StateTableContract.Mod
this.mGson = null;
this.mApplication = null;
}
@Override
public List<Discount> queryDB_DiscountList(byte discountScope, byte discountType) {
DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(mApplication);
List<Discount> discountList = discountDaoUtils.queryDiscountByQueryBuilder();
return MealConditionFilterUtils.discountConditionFilter(discountList,discountScope,discountType);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Single;
import io.reactivex.functions.Function;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class CouponModel extends BaseModel implements CouponContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public CouponModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
@Override
public Single<List<MemberCoupon>> getMemberWalletList(int brandId, long memberId, long limitType, long pageIndex, long pageSize) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.getMemberWalletList(brandId, memberId, limitType, pageIndex, pageSize)
.map(new Function<BaseResult, List<MemberCoupon>>() {
@Override
public List<MemberCoupon> apply(BaseResult result) throws Exception {
if (result.isSuccess()) {
return GsonUtils.jsonToList(result.getData(), MemberCoupon.class);
} else {
return new ArrayList<>();
}
}
});
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.table.mvp.contract.RegionTableContract;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
......@@ -10,8 +11,6 @@ import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.RegionFragmentContract;
/**
* ================================================
......@@ -26,14 +25,14 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.RegionFragmentContract;
* ================================================
*/
@FragmentScope
public class RegionFragmentModel extends BaseModel implements RegionFragmentContract.Model {
public class RegionTableModel extends BaseModel implements RegionTableContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public RegionFragmentModel(IRepositoryManager repositoryManager) {
public RegionTableModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
......
......@@ -2,8 +2,6 @@ package com.gingersoft.gsa.cloud.table.mvp.model.bean.response;
import android.text.TextUtils;
import androidx.annotation.Nullable;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.oaId.DeviceID;
......@@ -12,7 +10,7 @@ import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.constant.PayMethodConstant;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.PayMethodConstant;
import java.io.Serializable;
import java.util.List;
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import io.reactivex.Observable;
import io.reactivex.Single;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import retrofit2.http.GET;
import retrofit2.http.Headers;
......@@ -27,4 +28,7 @@ public interface MemberService {
@GET("coupon/queryCoupon" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> queryCoupon(@Query("tableId") int tableId,@Query("memberId") Long memberId, @Query("couponMemberId") long couponMemberId,@Query("couponNo") String couponNo,@Query("restaurantId") int restaurantId);
@Headers({"Domain-Name: ricepon_member"})
@GET("member/getMemberWalletList" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Single<BaseResult> getMemberWalletList(@Query("brandId") int brandId, @Query("memberId") long memberId, @Query("limitType") long limitType, @Query("pageIndex") long pageIndex, @Query("pageSize") long pageSize);
}
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