Commit b9c5dcf3 by 宁斌

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	login-module/src/main/AndroidManifest.xml
#	main-module/src/main/AndroidManifest.xml
#	main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
parents 19072f96 3cc1ca01
......@@ -45,7 +45,7 @@ android {
/**
* 版本号
*/
schemaVersion 14
schemaVersion 15
/**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/
......
......@@ -32,6 +32,4 @@ public interface Api {
String printerDevice_list = "printerDevice/list";
//日誌上傳
String upload_app_log = "public/cloud/gsa/upload";
}
......@@ -124,6 +124,8 @@ public class GsaCloudApplication extends BaseApplication {
androidSetting = new FunctionStyleUtils();
isLogin = (boolean) SPUtils.get(this, PrintConstans.IS_LOGIN, false);
// 设定一些通用的属性,这些属性在每次统计事件中都会附带
// 注意:如果此处的属性名与内置属性的名称相同,则内置属性会被覆盖
// Tracker.INSTANCE.addProperty("附加的属性1", "附加的属性1");
......@@ -408,6 +410,20 @@ public class GsaCloudApplication extends BaseApplication {
return (String) SPUtils.get(context, UserConstans.gsPosShopId, "-1");
}
public static void logOut(){
SPUtils.remove(getAppContext(), UserConstans.token);
SPUtils.remove(getAppContext(), UserConstans.memberId);
SPUtils.remove(getAppContext(), UserConstans.brandId);
SPUtils.remove(getAppContext(), UserConstans.brandName);
SPUtils.remove(getAppContext(), UserConstans.restaurantId);
SPUtils.remove(getAppContext(), UserConstans.restaurantName);
SPUtils.remove(getAppContext(), UserConstans.memberName);
SPUtils.remove(getAppContext(), UserConstans.brandRestaurantInfos);
SPUtils.remove(getAppContext(), UserConstans.gsPosShopId);
SPUtils.put(getAppContext(), PrintConstans.IS_LOGIN, false);
GsaCloudApplication.isLogin = false;
}
public static String getAppName() {
try {
PackageManager packageManager = mAppContext.getPackageManager();
......
......@@ -94,9 +94,9 @@ public class HttpsConstans {
public static String ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL;// = isFormal ? HTTP_ADDRESS_URL_FORMAL : REPORT_TEST_ADDRESS;
//默認url,配置這個值修改環境
public static String ROOT_SERVER_ADDRESS_FORMAL = (isFormal == 1 ? HTTP_ADDRESS_URL_FORMAL : HTTP_ADDRESS_URL_HK) + PATH;
public static String ROOT_SERVER_ADDRESS_FORMAL = HTTP_ADDRESS_URL_FORMAL + PATH;
public static String ROOT_SERVER = isFormal == 1 ? HTTP_ADDRESS_URL_FORMAL : HTTP_ADDRESS_URL_HK;
public static String ROOT_SERVER = HTTP_ADDRESS_URL_FORMAL;
//修改這個值,配置外賣接單環境
public static String ROOT_URL;// = isFormal ? ROOT_FORMAL_URL : ROOT_HK_TEST_URL;//正式:ROOT_FORMAL_URL 測試:ROOT_HK_TEST_URL
......@@ -126,6 +126,7 @@ public class HttpsConstans {
REPORT_SERVER_ADDRESS = REPORT_FORMAL_ADDRESS + REPORT_PATH;
WECHAR_REPORT_SERVER_ADDRESS = WECHAR_REPORT_FORMAL_ADDRESS + WECHAR_REPORT_PATH;//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
SYSTEM_URL = HTTP_ADDRESS_URL_FORMAL + SYSTEM_PATH;
ROOT_SERVER = HTTP_ADDRESS_URL_FORMAL;
break;
case 1:
_SERVER_ADDRESS = "http://a.ricepon.com:61177" + "/member-web/api/";
......@@ -135,6 +136,7 @@ public class HttpsConstans {
REPORT_SERVER_ADDRESS = REPORT_TEST_ADDRESS + REPORT_PATH;
WECHAR_REPORT_SERVER_ADDRESS = WECHAR_REPORT_TEST_ADDRESS + WECHAR_REPORT_PATH;//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
SYSTEM_URL = ROOT_HK_TEST_URL + SYSTEM_PATH;
ROOT_SERVER = HTTP_ADDRESS_URL_HK;
break;
case 2:
_SERVER_ADDRESS = ROOT_SERVER_ZHI_WANG_HK + "/member-web/api/";
......
......@@ -6,6 +6,7 @@ public class PrintConstans {
//默認打印方式
public final static String DEFAULT_PRINT_METHOD = "default_print";
public final static String IS_LOGIN = "is_login";
public final static String LOCAL_PRINT = "local_print";
public final static String IP_PRINT = "ip_print";
......
......@@ -65,6 +65,7 @@ public class PrinterDeviceBean implements Serializable {
private int numberIsFlip;//數量大於1顔色是否翻轉 0預設 1是 2否
private int languageType;
@Generated(hash = 626885316)
public PrinterDeviceBean() {
......@@ -76,9 +77,9 @@ public class PrinterDeviceBean implements Serializable {
this.paperSpecification = paperSpecification;
}
@Generated(hash = 1569426879)
@Generated(hash = 790857534)
public PrinterDeviceBean(Long id, Long dbid, String name, Integer restaurantId, String ip, Long uid, Integer port, Integer type, Long printerModelId, String paperSpecification, int lineFontStop, String printerName, String model, String noteContent, Long printerDeviceDefaultId, int printerDeviceType, Long flyPrinterDeviceId, Long flyPrinterDeviceId2, int foodComplexion, int modifierComplexion, int foodIsBold, String foodFont, int foodIsItalic, int modifierIsBold, String modifierFont,
int modifierIsItalic, int numberIsFlip) {
int modifierIsItalic, int numberIsFlip, int languageType) {
this.id = id;
this.dbid = dbid;
this.name = name;
......@@ -106,6 +107,7 @@ public class PrinterDeviceBean implements Serializable {
this.modifierFont = modifierFont;
this.modifierIsItalic = modifierIsItalic;
this.numberIsFlip = numberIsFlip;
this.languageType = languageType;
}
public Long getId() {
......@@ -330,4 +332,12 @@ public class PrinterDeviceBean implements Serializable {
public void setModifierComplexion(int modifierComplexion) {
this.modifierComplexion = modifierComplexion;
}
public int getLanguageType() {
return languageType;
}
public void setLanguageType(int languageType) {
this.languageType = languageType;
}
}
......@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 14): knows all DAOs.
* Master of DAO (schema version 15): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 14;
public static final int SCHEMA_VERSION = 15;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
......
......@@ -51,6 +51,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
public final static Property ModifierFont = new Property(24, String.class, "modifierFont", false, "MODIFIER_FONT");
public final static Property ModifierIsItalic = new Property(25, int.class, "modifierIsItalic", false, "MODIFIER_IS_ITALIC");
public final static Property NumberIsFlip = new Property(26, int.class, "numberIsFlip", false, "NUMBER_IS_FLIP");
public final static Property LanguageType = new Property(27, int.class, "languageType", false, "LANGUAGE_TYPE");
}
......@@ -92,7 +93,8 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
"\"MODIFIER_IS_BOLD\" INTEGER NOT NULL ," + // 23: modifierIsBold
"\"MODIFIER_FONT\" TEXT," + // 24: modifierFont
"\"MODIFIER_IS_ITALIC\" INTEGER NOT NULL ," + // 25: modifierIsItalic
"\"NUMBER_IS_FLIP\" INTEGER NOT NULL );"); // 26: numberIsFlip
"\"NUMBER_IS_FLIP\" INTEGER NOT NULL ," + // 26: numberIsFlip
"\"LANGUAGE_TYPE\" INTEGER NOT NULL );"); // 27: languageType
}
/** Drops the underlying database table. */
......@@ -203,6 +205,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
}
stmt.bindLong(26, entity.getModifierIsItalic());
stmt.bindLong(27, entity.getNumberIsFlip());
stmt.bindLong(28, entity.getLanguageType());
}
@Override
......@@ -307,6 +310,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
}
stmt.bindLong(26, entity.getModifierIsItalic());
stmt.bindLong(27, entity.getNumberIsFlip());
stmt.bindLong(28, entity.getLanguageType());
}
@Override
......@@ -343,7 +347,8 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
cursor.getInt(offset + 23), // modifierIsBold
cursor.isNull(offset + 24) ? null : cursor.getString(offset + 24), // modifierFont
cursor.getInt(offset + 25), // modifierIsItalic
cursor.getInt(offset + 26) // numberIsFlip
cursor.getInt(offset + 26), // numberIsFlip
cursor.getInt(offset + 27) // languageType
);
return entity;
}
......@@ -377,6 +382,7 @@ public class PrinterDeviceBeanDao extends AbstractDao<PrinterDeviceBean, Long> {
entity.setModifierFont(cursor.isNull(offset + 24) ? null : cursor.getString(offset + 24));
entity.setModifierIsItalic(cursor.getInt(offset + 25));
entity.setNumberIsFlip(cursor.getInt(offset + 26));
entity.setLanguageType(cursor.getInt(offset + 27));
}
@Override
......
......@@ -63,7 +63,7 @@ class BtnBuilder(var functions: List<Function>) {
}
fun getAdditionalServiceChargeBtn(): BtnBean? {
return getBtn(FunctionManagerConstans.takeaway.TRANSPORTATION_BTN_KEY, AdditionalServiceChargeBtn, "追加服務費", R.color.other_order_details_cancel_logistics_btn_color, R.drawable.ic_logistics)
return getBtn(FunctionManagerConstans.takeaway.TRANSPORTATION_BTN_KEY, AdditionalServiceChargeBtn, "追加貼士", R.color.other_order_details_cancel_logistics_btn_color, R.drawable.ic_logistics)
}
private fun getBtn(key: String, btnCode: Int, btnContent: String, btnColor: Int, btnImg: Int): BtnBean? {
......
......@@ -10,6 +10,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
......@@ -19,13 +20,14 @@ import com.jess.arms.utils.DeviceUtils;
public class AddKeyBoard extends FrameLayout {
private String[] keyString = new String[]{"+10", "+20", "+50", "+100", "7", "8", "9", "X", "4", "5", "6", "1", "2", "3", "確定", "0", "00", "000"};
private String[] keyString = new String[]{"+10", "+20", "+50", "+100", "7", "8", "9", "X", "4", "5", "6", "0", "1", "2", "3", "確定"};
private float screenWidth;
private int btnHeight;
private String amount = "";
private String decimal = "";
private int maxValue = 100;
private onKeyResultListener onKeyResultListener;
......@@ -43,7 +45,7 @@ public class AddKeyBoard extends FrameLayout {
}
private void init() {
screenWidth = DeviceUtils.getScreenWidth(getContext());
btnHeight = (int) (DeviceUtils.getScreenWidth(getContext()) / 6);
RecyclerView recyclerView = new RecyclerView(getContext());
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL));
recyclerView.setAdapter(new KeyBoardAdapter());
......@@ -78,6 +80,10 @@ public class AddKeyBoard extends FrameLayout {
oldAmount = Long.parseLong(amount);
amount = (oldAmount + Integer.valueOf(keyString[position].substring(1))) + "";
}
if (Integer.parseInt(amount) > maxValue) {
amount = maxValue + "";
ToastUtils.show(getContext(), "追加金額不能超過:" + maxValue);
}
}
} else if (keyString[position].equals("X")) {
if (decimal.length() > 0) {
......@@ -103,6 +109,15 @@ public class AddKeyBoard extends FrameLayout {
}
} else {
amount += keyString[position];
try {
if (Integer.parseInt(amount) > maxValue) {
amount = maxValue + "";
ToastUtils.show(getContext(), "追加金額不能超過:" + maxValue);
}
} catch (NumberFormatException e) {
e.printStackTrace();
amount = maxValue + "";
}
}
}
}
......@@ -118,10 +133,16 @@ public class AddKeyBoard extends FrameLayout {
}
});
lp.width = (int) (screenWidth / 4);
lp.height = lp.width / 2;
if (keyString[position].equals("X") || keyString[position].equals("確定")) {
lp.height = lp.height * 2;
lp.height = btnHeight;
if (keyString[position].equals("確定")) {
holder.tvKey.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.theme_color));
holder.tvKey.setTextColor(ContextCompat.getColor(getContext(), R.color.white));
} else if (keyString[position].equals("X")) {
holder.tvKey.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.red_500));
holder.tvKey.setTextColor(ContextCompat.getColor(getContext(), R.color.white));
} else {
holder.tvKey.setTextColor(ContextCompat.getColor(getContext(), R.color.theme_333_color));
holder.tvKey.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.white));
}
holder.layout.setLayoutParams(lp);
holder.tvKey.setText(keyString[position]);
......@@ -145,6 +166,14 @@ public class AddKeyBoard extends FrameLayout {
}
}
public void setMaxValue(int maxValue) {
if (maxValue < 0) {
this.maxValue = 0;
} else {
this.maxValue = maxValue;
}
}
public interface onKeyResultListener {
void onResult(boolean isComplete, String value);
}
......
......@@ -237,7 +237,7 @@ public class OrderPayView extends LinearLayout {
public void notifyBillMethodAdapter(List<PayMethod> mBillMethodList) {
if (mBillMethodAdapter != null)
mBillMethodAdapter.setNewData(mBillMethodList);
mBillMethodAdapter.setNewInstance(mBillMethodList);
}
private void recordOperat(Context context) {
......
......@@ -43,10 +43,13 @@ public class LoadingDialog {
mLoadingDialog = new Dialog(context, R.style.ui_loading_dialog);
}
//不設置會有黑邊
try {
Window window = mLoadingDialog.getWindow();
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
window.getDecorView().setBackgroundResource(android.R.color.transparent);
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
mLoadingDialog.setCancelable(cancelable);
mLoadingDialog.setCanceledOnTouchOutside(false);
mLoadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
......
......@@ -11,7 +11,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_5"
tools:text="食品名食品名食品名食品名食品名食品名"
tools:text="食品名食品名食品1111111111111111111111111111名食品名食品名食品名"
android:layout_weight="0.6" />
<TextView
......@@ -21,17 +21,16 @@
android:layout_height="wrap_content"
android:layout_weight="0.15"
android:layout_gravity="bottom"
tools:text="x111111"
tools:text="x1111111111111111111111111"
android:gravity="right|center_vertical" />
<TextView
android:id="@+id/tv_food_price"
style="@style/Print_text_style"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginLeft="@dimen/dp_5"
tools:text="100000000"
android:layout_weight="0.25"
tools:text="100000000000000"
android:gravity="right|center_vertical" />
</LinearLayout>
\ No newline at end of file
......@@ -18,6 +18,8 @@ public interface OrderListContract {
void notifyByPosition(int position, OrderList.DataBeanX.DataBean dataBean);
void removeItem(int position);
void loadOrderTotalNum(OrderList.DataBeanX.DataBean bean);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -71,16 +71,16 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
}
public void findOrderDetails(int orderId, int isRead) {
//startTime endTime
//startTime endTime //mRootView.showLoading("獲取訂單詳情...") mRootView.hideLoading()
RequestBody requestBody = new FormBody.Builder()
.add("orderId", orderId + "")
.build();
mModel.findOrderDetails(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("獲取訂單詳情..."))
.doOnSubscribe(disposable -> {})
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.doAfterTerminate(() -> {})
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<OrderDetails>(mErrorHandler) {
......@@ -161,7 +161,7 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
.doOnSubscribe(disposable -> mRootView.showLoading("確認訂單中,請稍候..."))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.doAfterTerminate(() -> {})
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<ShipAnyOrdersNewBean>(mErrorHandler) {
......@@ -205,10 +205,9 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
.build();
mModel.updateOrderStatus(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("請稍候..."))
.doOnSubscribe(disposable -> {})
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<UpdateOrderStatusBean>(mErrorHandler) {
......@@ -332,7 +331,7 @@ public class OrderDetailsPresenter extends BasePresenter<OrderDetailsContract.Mo
});
}).subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> {})
.doOnSubscribe(disposable -> mRootView.showLoading("獲取打印文件"))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
......
......@@ -18,6 +18,7 @@ import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
......@@ -51,10 +52,12 @@ public class OrderListPresenter extends BasePresenter<OrderListContract.Model, O
}
private List<OrderList.DataBeanX.DataBean> orderList = new ArrayList<>();
private Disposable disposable;
public void getOrderList(int restaurantId, int page, String status, String type) {
if (page == 1) {
orderList.clear();
if(disposable != null){
if(!disposable.isDisposed()){
return;
}
}
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", restaurantId + "")
......@@ -71,12 +74,23 @@ public class OrderListPresenter extends BasePresenter<OrderListContract.Model, O
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<OrderList>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
disposable = d;
}
@Override
public void onNext(@NonNull OrderList info) {
disposable.dispose();
if (page == 1) {
orderList.clear();
}
if (info != null && info.isSuccess() && info.getData() != null) {
if (info.getData().getData() != null && info.getData().getData().size() > 0) {
List<OrderList.DataBeanX.DataBean> dataBeans = info.getData().getData();
mRootView.loadOrderTotalNum(dataBeans.get(dataBeans.size() - 1));
dataBeans.remove(dataBeans.size() - 1);
orderList.addAll(dataBeans);
}
......@@ -89,6 +103,9 @@ public class OrderListPresenter extends BasePresenter<OrderListContract.Model, O
@Override
public void onError(Throwable t) {
super.onError(t);
if (page == 1) {
orderList.clear();
}
mRootView.loadOrderList(null);
}
});
......
......@@ -140,7 +140,7 @@ public class SupplementOrderPresenter extends BasePresenter<SupplementOrderContr
object.put("posFid", -222);
object.put("productId", -223);
object.put("productName", "補單食品");
object.put("number", 0);
object.put("number", 1);
object.put("price", 0);
object.put("lunchboxPrice", 0);
......
......@@ -12,6 +12,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.annotation.NonNull;
......@@ -27,6 +28,7 @@ import com.gingersoft.coldchain_module.di.component.DaggerColdChainMainComponent
import com.gingersoft.coldchain_module.di.module.ColdChainMainModule;
import com.gingersoft.coldchain_module.mvp.constans.ColdChainConstans;
import com.gingersoft.coldchain_module.mvp.contract.ColdChainMainContract;
import com.gingersoft.coldchain_module.mvp.model.bean.OrderList;
import com.gingersoft.coldchain_module.mvp.model.bean.SupplementInfoBean;
import com.gingersoft.coldchain_module.mvp.presenter.ColdChainMainPresenter;
import com.gingersoft.coldchain_module.mvp.ui.fragment.OrderListFragment;
......@@ -66,6 +68,31 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
@BindView(R2.id.tv_balance)
TextView tvBalance;
@BindView(R2.id.cold_chain_takeaway_progress)
ProgressBar mTakeAwayPb;
@BindView(R2.id.tv_cold_chain_takeaway_num)
TextView mTvTakeAwayNum;
@BindView(R2.id.cold_chain_self_progress)
ProgressBar mSelfPb;
@BindView(R2.id.tv_cold_chain_self_num)
TextView mTvSelfNum;
public void setOrderNum(OrderList.DataBeanX.DataBean bean) {
mTakeAwayPb.setMax(bean.getMaxOrder() == 0 ? 1 : bean.getMaxOrder());
mTakeAwayPb.setProgress(bean.getNum());
mSelfPb.setMax(bean.getMaxOrderSelf() == 0 ? 1 : bean.getMaxOrder());
mSelfPb.setProgress(bean.getSelflNum());
mTvTakeAwayNum.setText(bean.getNum() + "/" + bean.getMaxOrder());
mTvSelfNum.setText(bean.getSelflNum() + "/" + bean.getMaxOrderSelf());
}
public List<String> getStatus() {
return status;
}
private List<String> status = Arrays.asList("0,1,2,3", "0,1", "2", "3");
private List<OrderListFragment> fragments;
......@@ -215,6 +242,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
}
private ValueAnimator colorAnimation;
@Override
public void loadBalance(double price, double bond, boolean isBlink) {
tvBalance.setText("餘額:" + price + "(保證金" + bond + ")");
......@@ -234,7 +262,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
@Override
protected void onResume() {
super.onResume();
if(colorAnimation != null){
if (colorAnimation != null) {
colorAnimation.resume();
}
}
......@@ -242,7 +270,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
@Override
protected void onPause() {
super.onPause();
if(colorAnimation != null){
if (colorAnimation != null) {
colorAnimation.pause();
}
}
......
......@@ -47,6 +47,8 @@ import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -166,13 +168,14 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailsPresenter> im
@Override
public void showLoading(String message) {
runOnUiThread(() -> {
Observable.just(1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(integer -> {
if (message != null)
LoadingDialog.showDialogForLoading(mContext, message, true);
else
LoadingDialog.showDialogForLoading(mContext);
});
}
@Override
......
......@@ -227,6 +227,15 @@ public class OrderListFragment extends BaseFragment<OrderListPresenter> implemen
}
}
@Override
public void loadOrderTotalNum(OrderList.DataBeanX.DataBean bean) {
if(getActivity() instanceof ColdChainMainActivity && bean != null){
if(status.equals(((ColdChainMainActivity) getActivity()).getStatus().get(0))){
((ColdChainMainActivity) getActivity()).setOrderNum(bean);
}
}
}
private void notifyActivityOrderNum(){
if(getActivity() instanceof ColdChainMainActivity){
((ColdChainMainActivity) getActivity()).getNumByOrderTypeInvoke("loadNumber");
......
......@@ -37,6 +37,97 @@
app:tabPaddingEnd="-1dp"
app:tabPaddingStart="-1dp" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_search_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="@dimen/dp_10"
app:layout_constraintTop_toTopOf="parent">
<ProgressBar
android:id="@+id/cold_chain_takeaway_progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp"
android:layout_height="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_5"
android:progressDrawable="@drawable/shape_seekbar_bg"
app:layout_constraintCircleRadius="@dimen/dp_5"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/dividing_line"
app:layout_constraintTop_toTopOf="parent"
app:qmui_background_color="@color/color_e4"
app:qmui_progress_color="@color/theme_color"
app:qmui_stroke_round_cap="true"
app:qmui_type="type_rect" />
<TextView
android:id="@+id/tv_month_takeaway_num_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:text="外賣訂單數:"
android:textColor="@color/color_a9"
android:textSize="@dimen/dp_12"
app:layout_constraintRight_toLeftOf="@id/tv_cold_chain_takeaway_num"
app:layout_constraintTop_toBottomOf="@id/cold_chain_takeaway_progress" />
<TextView
android:id="@+id/tv_cold_chain_takeaway_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_a9"
android:textSize="@dimen/dp_12"
app:layout_constraintRight_toRightOf="@id/cold_chain_takeaway_progress"
app:layout_constraintTop_toTopOf="@id/tv_month_takeaway_num_text" />
<View
android:id="@+id/dividing_line"
android:layout_width="@dimen/dp_1"
android:layout_height="0dp"
android:background="@color/color_cf"
app:layout_constraintBottom_toBottomOf="@id/cold_chain_takeaway_progress"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/cold_chain_takeaway_progress" />
<ProgressBar
android:id="@+id/cold_chain_self_progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp"
android:layout_height="@dimen/dp_5"
android:layout_marginLeft="@dimen/dp_5"
android:progressDrawable="@drawable/shape_seekbar_bg"
app:layout_constraintCircleRadius="@dimen/dp_5"
app:layout_constraintLeft_toRightOf="@id/dividing_line"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:qmui_background_color="@color/color_e4"
app:qmui_progress_color="@color/theme_color"
app:qmui_type="type_circle" />
<TextView
android:id="@+id/tv_month_self_num_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:text="自取訂單數:"
android:textColor="@color/color_a9"
android:textSize="@dimen/dp_12"
app:layout_constraintRight_toLeftOf="@id/tv_cold_chain_self_num"
app:layout_constraintTop_toBottomOf="@id/cold_chain_self_progress" />
<TextView
android:id="@+id/tv_cold_chain_self_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_a9"
android:textSize="@dimen/dp_12"
app:layout_constraintRight_toRightOf="@id/cold_chain_self_progress"
app:layout_constraintTop_toTopOf="@id/tv_month_self_num_text" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_balance"
android:layout_width="match_parent"
......@@ -67,19 +158,19 @@
<Button
android:id="@+id/btn_supplement_order"
android:layout_width="0dp"
style="@style/app_btn_style"
android:background="@color/theme_color"
android:layout_width="0dp"
android:layout_weight="1"
android:background="@color/theme_color"
android:text="補單" />
<Button
android:id="@+id/btn_pick_up"
android:layout_width="0dp"
style="@style/app_btn_style"
android:layout_width="0dp"
android:layout_marginLeft="@dimen/dp_5"
android:background="@color/theme_color"
android:layout_weight="1"
android:background="@color/theme_color"
android:text="PICK UP" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 28,
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode : 6,
versionName : "1.0.6"
versionCode : 7,
versionName : "1.0.7"
]
version = [
......
......@@ -13,7 +13,7 @@ android {
defaultConfig {
if (project.ext.runAsApp) {
applicationId "com.gingersoft.gsa.other_order_mode"
applicationId "com.gingersoft.gsa.delivery_pick_mode"
}
minSdkVersion rootProject.ext.android["minSdkVersion"]
targetSdkVersion rootProject.ext.android["targetSdkVersion"]
......
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.other_order_mode">
package="com.gingersoft.gsa.delivery_pick_mode">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
......
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.other_order_mode">
package="com.gingersoft.gsa.delivery_pick_mode">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
......@@ -13,10 +13,10 @@
android:networkSecurityConfig="@xml/network_android"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".ui.activity.LogActivity"/>
<activity android:name=".ui.activity.OrderDetailsActivity" />
<activity android:name="com.gingersoft.gsa.delivery_pick_mode.ui.activity.LogActivity"/>
<activity android:name="com.gingersoft.gsa.delivery_pick_mode.ui.activity.OrderDetailsActivity" />
<activity
android:name=".ui.activity.DeliveryOrderMainActivity"
android:name="com.gingersoft.gsa.delivery_pick_mode.ui.activity.DeliveryOrderMainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......@@ -32,7 +32,7 @@
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
<activity android:name=".ui.activity.HistoryOrderActivity" />
<activity android:name="com.gingersoft.gsa.delivery_pick_mode.ui.activity.HistoryOrderActivity" />
</application>
</manifest>
\ No newline at end of file
package com.gingersoft.gsa.other_order_mode;
package com.gingersoft.gsa.delivery_pick_mode;
import com.billy.cc.core.component.CC;
import com.jess.arms.base.BaseApplication;
......
package com.gingersoft.gsa.other_order_mode;
package com.gingersoft.gsa.delivery_pick_mode;
import android.content.Intent;
import android.util.Log;
......@@ -8,7 +8,7 @@ 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.service.GetInfoUpdateService;
import com.gingersoft.gsa.other_order_mode.ui.activity.DeliveryOrderMainActivity;
import com.gingersoft.gsa.delivery_pick_mode.ui.activity.DeliveryOrderMainActivity;
public class OtherOrderComponent implements IComponent {
......
package com.gingersoft.gsa.other_order_mode.data
package com.gingersoft.gsa.delivery_pick_mode.data
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.other_order_mode.data.network.DeliveryNetwork
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.delivery_pick_mode.data.network.DeliveryNetwork
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import okhttp3.FormBody
......
package com.gingersoft.gsa.other_order_mode.data
package com.gingersoft.gsa.delivery_pick_mode.data
import com.gingersoft.gsa.other_order_mode.data.network.CoolWeatherNetwork
import com.gingersoft.gsa.delivery_pick_mode.data.network.CoolWeatherNetwork
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import okhttp3.FormBody
......
package com.gingersoft.gsa.other_order_mode.data
package com.gingersoft.gsa.delivery_pick_mode.data
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.other_order_mode.data.model.bean.ThirdItem
import com.gingersoft.gsa.other_order_mode.data.model.bean.UpdateOrderStatusBean
import com.gingersoft.gsa.other_order_mode.data.network.CoolWeatherNetwork
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.ThirdItem
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.UpdateOrderStatusBean
import com.gingersoft.gsa.delivery_pick_mode.data.network.CoolWeatherNetwork
import com.google.gson.Gson
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
......@@ -182,11 +182,8 @@ class WeatherRepository private constructor(private val network: CoolWeatherNetw
network.getCancelReason(brandId, restaurantId, type)
}
suspend fun getPayMethod(orderId: String) = withContext(Dispatchers.IO) {
val requestBody = FormBody.Builder()
.add("orderId", orderId)
.build()
network.getPayMethod(requestBody)
suspend fun getPayMethod(brandId: Int, restaurantId: Int) = withContext(Dispatchers.IO) {
network.getPayMethod(brandId, restaurantId)
}
suspend fun addPrj(orderId: String, restaurantId: String, orderDetailsIds: String) = withContext(Dispatchers.IO) {
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class AddServiceChargeBean(
val errCode: String,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class BalanceBean(
val balance: Double,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
class BillBean(var name: String = "", var amount: Double = 0.0, var isRed: Int = 0)
//isRed0默認顏色黑色,1為紅色
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
class CancelLogisticsBean(val code: String, val success: Boolean, val errCode: String, val errMsg: String, val sysTime: Long, val data: Data) {
data class Data(val result: Result) {
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class CancelReason(
val `data`: List<DataX>,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class DeliveryAddSuccessConfig(
val data: Data,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class DeliveryBean(val data: MutableList<Data>,
val success: Boolean,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
import androidx.databinding.ObservableArrayList
import java.io.Serializable
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class EstimatedBean(
val `data`: Data?,
val success: Boolean,
val sysTime: Long
)
\ No newline at end of file
){
data class Data(
val estimated_time: Int
)
}
\ No newline at end of file
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
import androidx.lifecycle.LiveData
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
class HistoryOrderBean {
/**
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class MessageBean(val code: String, val errorMsg: String, val success: Boolean = false, val sysTime: Long = 0, val data: Any? = null)
\ No newline at end of file
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class OrderClosingBean(
var addPoints: Double = 0.toDouble(),
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class OrderGoupNumBean(
val `data`: Data,
......
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/7/10
* 修订历史:2018/7/10
* 描述:
*/
public class PayTypeInfo {
private boolean success;
private long sysTime;
private List<PayMethod> data;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public long getSysTime() {
return sysTime;
}
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
public List<PayMethod> getData() {
return data;
}
public void setData(List<PayMethod> data) {
this.data = data;
}
}
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class ServiceChargeRecordBean(
val `data`: MutableList<DataX>,
......@@ -12,7 +12,7 @@ data class ServiceChargeRecordBean(
val id: Int,
val logisticsOrderId: Int,
val orderId: Int,
val paymentValue: Double,
val paymentValue: Int,
val restaurantId: Int,
val status: Int,
val type: Int,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
class ThirdItem : ArrayList<ThirdItem.ThirdItemItem>() {
data class ThirdItemItem(val descr: String = "",
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class ThirdSend(
val `data`: Data,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class TransportAmountBean(
val `data`: List<DataX>,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
data class TransportationBean(
val `data`: DataX?,
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
package com.gingersoft.gsa.delivery_pick_mode.data.model.bean
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
......
package com.gingersoft.gsa.other_order_mode.data.network
package com.gingersoft.gsa.delivery_pick_mode.data.network
import com.gingersoft.gsa.other_order_mode.data.network.api.AppService
import com.gingersoft.gsa.other_order_mode.data.network.api.WeatherService
import com.gingersoft.gsa.delivery_pick_mode.data.network.api.AppService
import com.gingersoft.gsa.delivery_pick_mode.data.network.api.WeatherService
import okhttp3.RequestBody
import retrofit2.Call
import retrofit2.Callback
......@@ -83,7 +83,7 @@ class CoolWeatherNetwork {
suspend fun getCancelReason(brandId: Int, restaurantId: Int, type: Int) = cloudService.getCancelReason(brandId, restaurantId, type).await()
//獲取商家配置的支付方式
suspend fun getPayMethod(requestBody: RequestBody) = service.getPayMethod(requestBody).await()
suspend fun getPayMethod(brandId: Int, restaurantId: Int) = cloudService.getPayMethod(brandId, restaurantId).await()
suspend fun addPrj(requestBody: RequestBody) = cloudService.addPrj(requestBody).await()
......
package com.gingersoft.gsa.other_order_mode.data.network
package com.gingersoft.gsa.delivery_pick_mode.data.network
import com.gingersoft.gsa.other_order_mode.data.network.api.DeliveryService
import com.gingersoft.gsa.other_order_mode.data.network.api.WeatherService
import com.gingersoft.gsa.delivery_pick_mode.data.network.api.DeliveryService
import okhttp3.RequestBody
import retrofit2.Call
import retrofit2.Callback
......
package com.gingersoft.gsa.other_order_mode.data.network
package com.gingersoft.gsa.delivery_pick_mode.data.network
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.utils.encryption.Aes
......
package com.gingersoft.gsa.other_order_mode.data.network.api
package com.gingersoft.gsa.delivery_pick_mode.data.network.api
import okhttp3.RequestBody
import retrofit2.Call
......
package com.gingersoft.gsa.other_order_mode.data.network.api
package com.gingersoft.gsa.delivery_pick_mode.data.network.api
import com.gingersoft.gsa.other_order_mode.data.model.bean.MessageBean
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryAddSuccessConfig
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.MessageBean
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryAddSuccessConfig
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryConfig
import okhttp3.RequestBody
import retrofit2.Call
import retrofit2.http.Body
......
package com.gingersoft.gsa.other_order_mode.data.network.api
package com.gingersoft.gsa.delivery_pick_mode.data.network.api
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.other_order_mode.data.model.bean.*
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.*
import okhttp3.RequestBody
import retrofit2.Call
import retrofit2.http.Body
......@@ -62,8 +62,8 @@ interface WeatherService {
@GET("restaurantFoodReason/config/list")
fun getCancelReason(@Query("brandId") brandId: Int, @Query("restaurantId") restaurantId: Int, @Query("type") type: Int): Call<CancelReason>
@POST("order/confirmPay")
fun getPayMethod(@Body requestBody: RequestBody): Call<PayTypeInfo>
@GET("restaurant/pay/get")
fun getPayMethod(@Query("brandId") brandId: Int, @Query("restaurantId") restaurantId: Int): Call<PayTypeInfo>
@POST("printerRecording/add")
fun addPrj(@Body requestBody: RequestBody): Call<String>
......@@ -81,5 +81,5 @@ interface WeatherService {
fun getShipanyTransportAmount(@Query("orderId") orderId: String, @Query("uid") uid: String, @Query("restaurantId") restaurantId: String): Call<TransportAmountBean>
@GET("logisticsExpensesAdditional/getAdditionalByOrderId")
fun getAdditionalByOrderId(@Query("orderId") orderId: String, @Query("deletes") deletes: String) : Call<ServiceChargeRecordBean>
fun getAdditionalByOrderId(@Query("orderId") orderId: String, @Query("deletes") deletes: String): Call<ServiceChargeRecordBean>
}
\ No newline at end of file
package com.gingersoft.gsa.other_order_mode.model.factory
package com.gingersoft.gsa.delivery_pick_mode.model.factory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.gingersoft.gsa.other_order_mode.data.DeliveryRepository
import com.gingersoft.gsa.other_order_mode.model.viewModel.DeliveryViewModel
import com.gingersoft.gsa.delivery_pick_mode.data.DeliveryRepository
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.DeliveryViewModel
class DeliveryFactory(private val repository: DeliveryRepository) : ViewModelProvider.NewInstanceFactory() {
......
package com.gingersoft.gsa.other_order_mode.model.factory
package com.gingersoft.gsa.delivery_pick_mode.model.factory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.gingersoft.gsa.other_order_mode.data.HistoryOrderRepository
import com.gingersoft.gsa.other_order_mode.model.viewModel.HistoryOrderViewModel
import com.gingersoft.gsa.delivery_pick_mode.data.HistoryOrderRepository
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.HistoryOrderViewModel
class HistoryOrderModelFactory(private val repository: HistoryOrderRepository) : ViewModelProvider.NewInstanceFactory() {
......
package com.gingersoft.gsa.other_order_mode.model.factory
package com.gingersoft.gsa.delivery_pick_mode.model.factory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.gingersoft.gsa.other_order_mode.data.WeatherRepository
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.delivery_pick_mode.data.WeatherRepository
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel
class WeatherModelFactory(private val repository: WeatherRepository) : ViewModelProvider.NewInstanceFactory() {
......
package com.gingersoft.gsa.other_order_mode.model.viewModel
package com.gingersoft.gsa.delivery_pick_mode.model.viewModel
import android.content.Context
import androidx.lifecycle.ViewModel
......
package com.gingersoft.gsa.other_order_mode.model.viewModel
package com.gingersoft.gsa.delivery_pick_mode.model.viewModel
import androidx.lifecycle.MutableLiveData
import com.gingersoft.gsa.other_order_mode.data.model.bean.MessageBean
import com.gingersoft.gsa.other_order_mode.data.DeliveryRepository
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryAddSuccessConfig
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.MessageBean
import com.gingersoft.gsa.delivery_pick_mode.data.DeliveryRepository
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryAddSuccessConfig
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryConfig
class DeliveryViewModel(private val repository: DeliveryRepository) : BaseViewModel() {
......
package com.gingersoft.gsa.other_order_mode.model.viewModel
package com.gingersoft.gsa.delivery_pick_mode.model.viewModel
import android.content.Context
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
......@@ -13,9 +12,8 @@ import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.cloud.constans.PrintConstans
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.other_order_mode.data.HistoryOrderRepository
import com.gingersoft.gsa.other_order_mode.data.model.bean.HistoryOrderBean
import com.gingersoft.gsa.other_order_mode.data.model.bean.OrderList
import com.gingersoft.gsa.delivery_pick_mode.data.HistoryOrderRepository
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean
import kotlinx.coroutines.launch
class HistoryOrderViewModel(private val historyOrderRepository: HistoryOrderRepository) : ViewModel() {
......
package com.gingersoft.gsa.other_order_mode.model.viewModel
package com.gingersoft.gsa.delivery_pick_mode.model.viewModel
import android.app.Dialog
import android.content.Context
......@@ -26,11 +26,11 @@ import com.gingersoft.gsa.cloud.constans.AppConstans
import com.gingersoft.gsa.cloud.constans.PrintConstans
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.cloud.service.GetInfoUpdateService
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.WeatherRepository
import com.gingersoft.gsa.other_order_mode.data.model.bean.*
import com.gingersoft.gsa.other_order_mode.ui.adapter.DeliveryAdapter
import com.gingersoft.gsa.other_order_mode.util.OtherOrderUtils
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.WeatherRepository
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.*
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.DeliveryAdapter
import com.gingersoft.gsa.delivery_pick_mode.util.OtherOrderUtils
import com.jess.arms.utils.ArmsUtils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
......@@ -832,14 +832,14 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
return MessageBean(what.toString(), msg, state, System.currentTimeMillis(), null)
}
var payTypeBean = MutableLiveData<PayTypeInfo.DataBean>()
var payTypeBean = MutableLiveData<List<PayMethod>>()
/**
* 獲取支付方式
*/
fun getPayMethod(orderId: String) {
fun getPayMethod(brandId: Int, restaurantId: Int) {
launch({
repository.getPayMethod(orderId).apply {
if (this.code == "1" && this.data != null) {
repository.getPayMethod(brandId, restaurantId).apply {
if (isSuccess) {
payTypeBean.postValue(this.data)
} else {
payTypeBean.postValue(null)
......
package com.gingersoft.gsa.other_order_mode.ui.activity
package com.gingersoft.gsa.delivery_pick_mode.ui.activity
import android.animation.ArgbEvaluator
import android.animation.ValueAnimator
......@@ -9,6 +9,7 @@ import android.graphics.drawable.GradientDrawable
import android.os.Build
import android.os.Bundle
import android.os.IBinder
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.widget.TextView
......@@ -19,6 +20,8 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.viewpager.widget.ViewPager
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.utils.encryption.Base64
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.cloud.base.widget.DialogUtils
import com.gingersoft.gsa.cloud.constans.AppConstans
......@@ -27,19 +30,21 @@ import com.gingersoft.gsa.cloud.constans.HttpsConstans
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils
import com.gingersoft.gsa.cloud.service.GetInfoUpdateService
import com.gingersoft.gsa.cloud.service.PostCallBack
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.network.ServiceCreator
import com.gingersoft.gsa.other_order_mode.databinding.ActivityOtherOrderBinding
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.other_order_mode.ui.adapter.SectionsPagerAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseActivity
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.network.ServiceCreator
import com.gingersoft.gsa.delivery_pick_mode.databinding.ActivityOtherOrderBinding
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.SectionsPagerAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseActivity
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
import com.qmuiteam.qmui.alpha.QMUIAlphaTextView
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.popup.QMUIPopup
import com.qmuiteam.qmui.widget.popup.QMUIPopups
import kotlinx.android.synthetic.main.activity_other_order.*
import org.json.JSONObject
import java.net.URLEncoder
class DeliveryOrderMainActivity : BaseActivity() {
......@@ -78,7 +83,6 @@ class DeliveryOrderMainActivity : BaseActivity() {
val mFilter = IntentFilter(AppConstans.CLEAR_ORDER_RECEIVING_HEART)
mReceiver = ClearHeartBroadcastReceiver()
registerReceiver(mReceiver, mFilter)
val binding: ActivityOtherOrderBinding = DataBindingUtil.setContentView(this, R.layout.activity_other_order)
initOutTime()
......@@ -118,6 +122,7 @@ class DeliveryOrderMainActivity : BaseActivity() {
getBanlance(GsaCloudApplication.getBrandId(this@DeliveryOrderMainActivity))
balanceBean.observe(this@DeliveryOrderMainActivity, Observer {
Log.e("eee", "刷新餘額")
it?.let {
tv_balance.text = "餘額:${it.balance}" + "(保證金: ${it.bond} )"
if (it.balance <= it.threshold) {
......@@ -359,10 +364,10 @@ class DeliveryOrderMainActivity : BaseActivity() {
if (type == 3 || type == 4 || type == 5
|| type == 6 || type == 7) {
pageViewModel.refreshState.postValue(selectPosition)
}
//刷新餘額
pageViewModel.getBanlance(GsaCloudApplication.getBrandId(this@DeliveryOrderMainActivity))
}
}
})
it.execute {
if (it) {
......
package com.gingersoft.gsa.other_order_mode.ui.activity
package com.gingersoft.gsa.delivery_pick_mode.ui.activity
import android.os.Bundle
import androidx.core.content.ContextCompat
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.other_order_mode.ui.base.BaseActivity
import com.gingersoft.gsa.other_order_mode.ui.fragment.DeliveryFragment
import com.gingersoft.gsa.other_order_mode.ui.fragment.UpdateDeliveryFragment
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseActivity
import com.gingersoft.gsa.delivery_pick_mode.ui.fragment.DeliveryFragment
import com.gingersoft.gsa.delivery_pick_mode.ui.fragment.UpdateDeliveryFragment
import kotlinx.android.synthetic.main.activity_delivery.*
class DeliverySettingActivity : BaseActivity() {
......
package com.gingersoft.gsa.other_order_mode.ui.activity
package com.gingersoft.gsa.delivery_pick_mode.ui.activity
import android.os.Bundle
import android.view.View
......@@ -6,11 +6,11 @@ import androidx.lifecycle.ViewModelProvider
import com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.model.viewModel.HistoryOrderViewModel
import com.gingersoft.gsa.other_order_mode.ui.base.BaseActivity
import com.gingersoft.gsa.other_order_mode.ui.fragment.HistoryFragment
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.HistoryOrderViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseActivity
import com.gingersoft.gsa.delivery_pick_mode.ui.fragment.HistoryFragment
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.activity_history_order.*
import java.text.ParseException
......
package com.gingersoft.gsa.other_order_mode.ui.activity;
package com.gingersoft.gsa.delivery_pick_mode.ui.activity;
import android.os.Bundle;
import android.widget.TextView;
......@@ -6,7 +6,7 @@ import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.gingersoft.gsa.cloud.service.GetInfoUpdateService;
import com.gingersoft.gsa.other_order_mode.R;
import com.gingersoft.gsa.delivery_pick_mode.R;
public class LogActivity extends AppCompatActivity {
......
package com.gingersoft.gsa.other_order_mode.ui.activity
package com.gingersoft.gsa.delivery_pick_mode.ui.activity
import android.app.Dialog
import android.content.Intent
......@@ -6,6 +6,8 @@ import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.Observer
......@@ -25,23 +27,23 @@ import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.cloud.ui.utils.AppDialog
import com.gingersoft.gsa.cloud.ui.utils.BtnBuilder
import com.gingersoft.gsa.cloud.ui.view.AddKeyBoard
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.ServiceChargeRecordBean
import com.gingersoft.gsa.other_order_mode.data.model.bean.TransportationBean
import com.gingersoft.gsa.other_order_mode.databinding.ActivityOrderDetailsBinding
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel.Companion.DeliveryPrint
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel.Companion.OrderDelivery
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel.Companion.PrintCode
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel.Companion.Transportation
import com.gingersoft.gsa.other_order_mode.ui.adapter.DeliveryAdapter
import com.gingersoft.gsa.other_order_mode.ui.adapter.FoodListAdapter
import com.gingersoft.gsa.other_order_mode.ui.adapter.OrderDetailsAdapter
import com.gingersoft.gsa.other_order_mode.ui.adapter.ThirdExpensesAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseActivity
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.other_order_mode.util.showSelectDialog
import com.gingersoft.gsa.other_order_mode.util.showWaringDialog
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.ServiceChargeRecordBean
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.TransportationBean
import com.gingersoft.gsa.delivery_pick_mode.databinding.ActivityOrderDetailsBinding
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel.Companion.DeliveryPrint
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel.Companion.OrderDelivery
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel.Companion.PrintCode
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel.Companion.Transportation
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.DeliveryAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.FoodListAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.OrderDetailsAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.ThirdExpensesAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseActivity
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.util.showSelectDialog
import com.gingersoft.gsa.delivery_pick_mode.util.showWaringDialog
import com.qmuiteam.qmui.widget.QMUITopBar
import kotlinx.android.synthetic.main.activity_order_details.*
......@@ -59,6 +61,10 @@ class OrderDetailsActivity : BaseActivity() {
lateinit var skeletonScreen: ViewSkeletonScreen
var restaurantId: Int = -1
lateinit var rvThirdExpenses: RecyclerView
lateinit var thirdExpensesLayout: LinearLayout
var tipsCost = 0
lateinit var btnBuilder: BtnBuilder
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
......@@ -67,6 +73,9 @@ class OrderDetailsActivity : BaseActivity() {
btnBuilder = BtnBuilder.getInstance(functionByResModule)
val rootView = findViewById<View>(R.id.scroll_order_info)
thirdExpensesLayout = findViewById(R.id.layout_third_expenses)
rvThirdExpenses = findViewById(R.id.rv_third_expenses)
skeletonScreen = Skeleton.bind(rootView)
.load(R.layout.activity_order_details_loading)
.shimmer(true)
......@@ -82,6 +91,7 @@ class OrderDetailsActivity : BaseActivity() {
isRead = intent.getIntExtra("isRead", -1)//是否已讀訂單
state = intent.getIntExtra("orderStatus", -1)//訂單狀態
isTimeOut = intent.getBooleanExtra("isTimeOut", false)//接單是否超時
pageViewModel = ViewModelProvider(this, InjectorUtil.getWeatherModelFactory())[PageViewModel::class.java].apply {
if (isRead == 0) {
//如果是未讀,調用設為已讀接口
......@@ -102,7 +112,6 @@ class OrderDetailsActivity : BaseActivity() {
private fun PageViewModel.getOrderDetails(orderId: String, binding: ActivityOrderDetailsBinding) {
getShipanyAndOrderInfo(restaurantId, orderId)
getAdditionalByOrderId(orderId)
orderDetails.observe(this@OrderDetailsActivity, Observer { it ->
skeletonScreen.hide()//隱藏骨架屏
if (it?.data != null && it.data!!.isNotEmpty()) {
......@@ -155,7 +164,7 @@ class OrderDetailsActivity : BaseActivity() {
btnList.add(it)
}
if (isTimeOut) {
//已超時,添加追加服務費的按鈕
//已超時,添加追加貼士的按鈕
btnBuilder.getAdditionalServiceChargeBtn()?.let {
btnList.add(it)
}
......@@ -287,7 +296,7 @@ class OrderDetailsActivity : BaseActivity() {
showLoading()
getIsUpdateTransportation(restaurantId) {
cancelDialogForLoading()
if (it == null) {
if (it == null || it.isEmpty()) {
ToastUtils.show(this@OrderDetailsActivity, "未獲取到交通工具")
} else {
showSelectTransportation(it, orderDetails, false)
......@@ -327,6 +336,7 @@ class OrderDetailsActivity : BaseActivity() {
showIsUpdateTransportation(it, orderDetails, true)
}
}
else ->ToastUtils.show(this@OrderDetailsActivity, "未知的物流類型")
}
}
BtnBuilder.PrintBtn -> {
......@@ -349,7 +359,7 @@ class OrderDetailsActivity : BaseActivity() {
}
}
BtnBuilder.AdditionalServiceChargeBtn -> {
//追加服務費
//追加貼士
showAddServiceChangeDialog()
}
else -> {
......@@ -374,12 +384,23 @@ class OrderDetailsActivity : BaseActivity() {
}
}
})
// getAdditionalByOrderId(orderId) {
// if (it != null && it.data.isNotEmpty()) {
// thirdExpensesLayout.visibility = View.VISIBLE
// it.data.add(0, ServiceChargeRecordBean.DataX(0, 0, 0, 0, 0, 0, 0.0, 0, 0, 0, 0, 0, "", ""))
// rvThirdExpenses.adapter = ThirdExpensesAdapter(it.data)
// rvThirdExpenses.layoutManager = LinearLayoutManager(this@OrderDetailsActivity)
// }
// }
serviceChargeRecordBeans.observe(this@OrderDetailsActivity, Observer {
if (it != null && it.data.isNotEmpty()) {
layout_third_expenses?.visibility = View.VISIBLE
it.data.add(0, ServiceChargeRecordBean.DataX(0, 0, 0, 0, 0, 0, 0.0, 0, 0, 0, 0, 0, "", ""))
rv_third_expenses?.adapter = ThirdExpensesAdapter(it.data)
rv_third_expenses?.layoutManager = LinearLayoutManager(this@OrderDetailsActivity)
for (value in it.data) {
tipsCost += value.paymentValue
}
thirdExpensesLayout.visibility = View.VISIBLE
it.data.add(0, ServiceChargeRecordBean.DataX(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", ""))
rvThirdExpenses.adapter = ThirdExpensesAdapter(it.data)
rvThirdExpenses.layoutManager = LinearLayoutManager(this@OrderDetailsActivity)
}
})
}
......@@ -388,11 +409,18 @@ class OrderDetailsActivity : BaseActivity() {
object : DialogUtils(this@OrderDetailsActivity, R.layout.layout_add_service_charge) {
override fun initLayout(hepler: ViewHepler, dialog: Dialog) {
hepler.setOnClickListenter(R.id.tv_cancel) { dialog.dismiss() }
if (tipsCost != 0) {
hepler.setText(R.id.tv_add_service_charge_title, "追加貼士(已追加$tipsCost)")
hepler.getView<TextView>(R.id.ed_service_charge).hint = "不能超過(${100 - tipsCost})"
}
hepler.getView<AddKeyBoard>(R.id.keyboard_addservice_charge).setMaxValue(100 - tipsCost)
hepler.getView<AddKeyBoard>(R.id.keyboard_addservice_charge).setOnKeyResultListener { isComplete, value ->
hepler.setText(R.id.ed_service_charge, value)
if (isComplete && value.isNotEmpty()) {
if (value.toDouble() < 10) {
if (tipsCost == 0 && value.toDouble() < 10) {
ToastUtils.show(this@OrderDetailsActivity, "最低金額$10")
} else if (tipsCost + value.toInt() > 100) {
ToastUtils.show(this@OrderDetailsActivity, "金額不能超過$100元")
} else {
//添加服務費
dialog.dismiss()
......@@ -647,6 +675,5 @@ class OrderDetailsActivity : BaseActivity() {
override fun onDestroy() {
super.onDestroy()
DialogUtils.staticDismiss()
pageViewModel.serviceChargeRecordBeans.removeObservers(this@OrderDetailsActivity)
}
}
package com.gingersoft.gsa.other_order_mode.ui.activity
package com.gingersoft.gsa.delivery_pick_mode.ui.activity
import android.app.Dialog
import android.os.Bundle
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil
import com.gingersoft.gsa.cloud.base.widget.DialogUtils
import com.gingersoft.gsa.cloud.print.bean.OrderDetails.DataBean
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.BillBean
import com.gingersoft.gsa.other_order_mode.data.model.bean.PayTypeInfo
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.other_order_mode.ui.adapter.FoodListAdapter
import com.gingersoft.gsa.other_order_mode.ui.adapter.PayBillAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseActivity
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.BillBean
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.FoodListAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.PayBillAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseActivity
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import kotlinx.android.synthetic.main.activity_pay.*
class PayActivity : BaseActivity() {
......@@ -30,7 +31,7 @@ class PayActivity : BaseActivity() {
qm_order_pay_bar.setTitle("結賬")
qm_order_pay_bar.addLeftImageButton(R.drawable.icon_return, R.id.iv_left_back).setOnClickListener { finish() }
qm_order_pay_bar.setBackgroundColor(resources.getColor(R.color.theme_color))
qm_order_pay_bar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color))
val orderDetails: DataBean = intent.getSerializableExtra("orderDetails") as DataBean
......@@ -56,11 +57,11 @@ class PayActivity : BaseActivity() {
}
other_pay_view.loadInfo(this, ArrayList<PayMethod>(), MoneyUtil.sub(orderDetails.TOTAL_AMOUNT!!.toDouble(), orderDetails.discount_amount), foodCount)
pageViewModel.getPayMethod(orderDetails.ID.toString())
pageViewModel.getPayMethod(GsaCloudApplication.getBrandId(this), GsaCloudApplication.getRestaurantId(this))
pageViewModel.payTypeBean.observe(this, Observer {
//獲取支付方式
// other_pay_view.loadInfo(this, PayTypeInfo.getPayMethodByPayType(it), MoneyUtil.sub(orderDetails.TOTAL_AMOUNT!!.toDouble(), orderDetails.discount_amount), foodCount)
other_pay_view.notifyBillMethodAdapter(PayTypeInfo.getPayMethodByPayType(it))
other_pay_view.notifyBillMethodAdapter(it)
})
other_pay_view.setmOnSureClickLisenter { payMethods ->
......@@ -71,7 +72,6 @@ class PayActivity : BaseActivity() {
hepler.getView<TextView>(R.id.tv_dialog_confirm).setOnClickListener {
dialog.dismiss()
showLoading()
pageViewModel.closingBill(orderDetails, payMethods){_, _ ->
cancelDialogForLoading()
setResult(RESULT_OK)
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import androidx.core.content.ContextCompat
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.delivery_pick_mode.R
class DeliveryAdapter(data: MutableList<String>) : BaseQuickAdapter<String, BaseViewHolder>(R.layout.other_order_delivery_item, data) {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.view.LayoutInflater
import android.view.View
......@@ -7,10 +7,10 @@ import android.widget.ImageView
import androidx.databinding.DataBindingUtil
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.other_order_mode.databinding.ItemDeliveryLayoutBinding
import com.gingersoft.gsa.other_order_mode.ui.fragment.UpdateDeliveryFragment
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.delivery_pick_mode.databinding.ItemDeliveryLayoutBinding
import com.gingersoft.gsa.delivery_pick_mode.ui.fragment.UpdateDeliveryFragment
class DeliveryListAdapter(data: MutableList<DeliveryConfig.Data.DeliveryInfo>) : BaseQuickAdapter<DeliveryConfig.Data.DeliveryInfo, DeliveryListAdapter.ViewHolder>(R.layout.item_delivery_layout, data) {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.content.Context
import android.view.LayoutInflater
......@@ -6,13 +6,12 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.LinearLayout
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.FoodDetailsTranBean
import com.gingersoft.gsa.other_order_mode.databinding.LayoutDialogFoodItemBinding
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.FoodDetailsTranBean
import com.gingersoft.gsa.delivery_pick_mode.databinding.LayoutDialogFoodItemBinding
import com.qmuiteam.qmui.util.QMUIDisplayHelper.dp2px
class FoodListAdapter(private val context: Context, private val productnameBeans: List<OrderDetails.DataBean.PRODUCTNAMEBean>) : RecyclerView.Adapter<FoodListAdapter.ViewHolder>() {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.content.Context
import android.graphics.drawable.GradientDrawable
......@@ -8,10 +8,9 @@ import android.view.ViewGroup
import android.widget.ImageView
import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.HistoryOrderBean.DataBean
import com.gingersoft.gsa.other_order_mode.data.model.bean.OrderList
import com.gingersoft.gsa.other_order_mode.databinding.LayoutHistoryOrderItemBinding
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean.DataBean
import com.gingersoft.gsa.delivery_pick_mode.databinding.LayoutHistoryOrderItemBinding
import com.scwang.smartrefresh.layout.util.SmartUtil
class HistoryOrderAdapter(var stauts: String?, private val context: Context, var data: List<DataBean>?) : RecyclerView.Adapter<HistoryOrderAdapter.ViewHolder>() {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.view.View
import android.view.ViewGroup
......@@ -7,7 +7,7 @@ import android.widget.LinearLayout
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.gingersoft.gsa.cloud.ui.utils.BtnBuilder
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.delivery_pick_mode.R
class OrderBtnAdapter(var list: MutableList<BtnBuilder.BtnBean>) : RecyclerView.Adapter<OrderBtnAdapter.ViewHolder>() {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.gingersoft.gsa.cloud.ui.utils.BtnBuilder
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.delivery_pick_mode.R
class OrderDetailsAdapter(list: MutableList<BtnBuilder.BtnBean>) : BaseQuickAdapter<BtnBuilder.BtnBean, BaseViewHolder>(R.layout.item_btn, list) {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.animation.AnimatorSet
import android.animation.ObjectAnimator.ofFloat
......@@ -13,9 +13,9 @@ import androidx.core.content.ContextCompat
import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.Adapter
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.OrderList
import com.gingersoft.gsa.other_order_mode.databinding.LayoutDeliveryOrderItemBinding
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.OrderList
import com.gingersoft.gsa.delivery_pick_mode.databinding.LayoutDeliveryOrderItemBinding
import com.scwang.smartrefresh.layout.util.SmartUtil.dp2px
class OtherOrdersAdapter(var context: Context, var outTime: Int) : Adapter<OtherOrdersAdapter.ViewHolder>() {
......@@ -55,14 +55,14 @@ class OtherOrdersAdapter(var context: Context, var outTime: Int) : Adapter<Other
10 -> "已指派另一位配送員"
else -> ""
}
if (data.curStat < 2) {
//是否超時
if (outTime == 0) {
holder.binding.isTimeOut = false
} else {
holder.binding.isTimeOut = data.timeSecond < outTime
}
}
// if (data.curStat < 2) {
// //是否超時
// if (outTime == 0) {
// holder.binding.isTimeOut = false
// } else {
// holder.binding.isTimeOut = data.timeSecond < outTime
// }
// }
} else {
holder.binding.deliveryState = ""
holder.binding.isTimeOut = false
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import androidx.core.content.ContextCompat
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.BillBean
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.BillBean
class PayBillAdapter(layoutId:Int, billBeans: MutableList<BillBean>) : BaseQuickAdapter<BillBean, BaseViewHolder>(layoutId, billBeans) {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import android.content.Context
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import com.gingersoft.gsa.other_order_mode.ui.fragment.PlaceholderFragment
import com.gingersoft.gsa.delivery_pick_mode.ui.fragment.PlaceholderFragment
/**
* A [FragmentPagerAdapter] that returns a fragment corresponding to
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.delivery_pick_mode.R
class TextAdapter(list: MutableList<String>) : BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_textview, list) {
override fun convert(holder: BaseViewHolder, item: String) {
......
package com.gingersoft.gsa.other_order_mode.ui.adapter
package com.gingersoft.gsa.delivery_pick_mode.ui.adapter
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtil
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.ServiceChargeRecordBean
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.ServiceChargeRecordBean
class ThirdExpensesAdapter(data: MutableList<ServiceChargeRecordBean.DataX>?) : BaseQuickAdapter<ServiceChargeRecordBean.DataX, BaseViewHolder>(R.layout.item_third_expenses, data) {
......
package com.gingersoft.gsa.other_order_mode.ui.base
package com.gingersoft.gsa.delivery_pick_mode.ui.base
import androidx.appcompat.app.AppCompatActivity
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
......
package com.gingersoft.gsa.other_order_mode.ui.base
package com.gingersoft.gsa.delivery_pick_mode.ui.base
import androidx.fragment.app.Fragment
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
......
package com.gingersoft.gsa.other_order_mode.ui.fragment
package com.gingersoft.gsa.delivery_pick_mode.ui.fragment
import android.os.Bundle
import android.view.LayoutInflater
......@@ -10,13 +10,13 @@ import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.ui.utils.AppDialog
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.model.viewModel.DeliveryViewModel
import com.gingersoft.gsa.other_order_mode.ui.activity.DeliverySettingActivity
import com.gingersoft.gsa.other_order_mode.ui.adapter.DeliveryListAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseFragment
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.other_order_mode.util.setState
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.DeliveryViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.activity.DeliverySettingActivity
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.DeliveryListAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseFragment
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.util.setState
import kotlinx.android.synthetic.main.fragment_delivery_list.*
class DeliveryFragment : BaseFragment() {
......
package com.gingersoft.gsa.other_order_mode.ui.fragment
package com.gingersoft.gsa.delivery_pick_mode.ui.fragment
import android.os.Bundle
import androidx.lifecycle.Observer
......@@ -6,13 +6,13 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.model.viewModel.HistoryOrderViewModel
import com.gingersoft.gsa.other_order_mode.ui.adapter.HistoryOrderAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseFragment
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.other_order_mode.util.OtherOrderUtils
import com.gingersoft.gsa.other_order_mode.util.setState
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.HistoryOrderViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.HistoryOrderAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseFragment
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.util.OtherOrderUtils
import com.gingersoft.gsa.delivery_pick_mode.util.setState
import kotlinx.android.synthetic.main.fragment_other_order.*
class HistoryFragment : BaseFragment(R.layout.fragment_other_order) {
......
package com.gingersoft.gsa.other_order_mode.ui.fragment
package com.gingersoft.gsa.delivery_pick_mode.ui.fragment
import androidx.lifecycle.ViewModel
......
package com.gingersoft.gsa.other_order_mode.ui.fragment
package com.gingersoft.gsa.delivery_pick_mode.ui.fragment
import android.content.Intent
import android.os.Bundle
......@@ -9,13 +9,13 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.other_order_mode.ui.activity.OrderDetailsActivity
import com.gingersoft.gsa.other_order_mode.ui.adapter.OtherOrdersAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseFragment
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.other_order_mode.util.setState
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.activity.OrderDetailsActivity
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.OtherOrdersAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseFragment
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.util.setState
import kotlinx.android.synthetic.main.fragment_other_order.*
/**
......@@ -54,14 +54,14 @@ class PlaceholderFragment : BaseFragment(R.layout.fragment_other_order) {
intent.putExtra("orderPayType", data.orderPayType)
intent.putExtra("isRead", data.isRead)
//已指派物流 並且 狀態為未接單 才判斷是否超時
if (data.isDelete == 0 && data.curStat < 2) {
if (pageViewModel.timeOut == 0) {
//為0時沒配置,不顯示追加服務費按鈕
intent.putExtra("isTimeOut", false)
} else {
intent.putExtra("isTimeOut", data.timeSecond < pageViewModel.timeOut * 60 * 1000)
}
}
// if (data.isDelete == 0 && data.curStat < 2) {
// if (pageViewModel.timeOut == 0) {
// //為0時沒配置,不顯示追加服務費按鈕
// intent.putExtra("isTimeOut", false)
// } else {
// intent.putExtra("isTimeOut", data.timeSecond < pageViewModel.timeOut * 60 * 1000)
// }
// }
startActivity(intent)
}
rv_other_order.adapter = adapter
......
package com.gingersoft.gsa.other_order_mode.ui.fragment
package com.gingersoft.gsa.delivery_pick_mode.ui.fragment
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import androidx.lifecycle.ViewModelProvider
......@@ -9,13 +8,13 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.other_order_mode.model.viewModel.DeliveryViewModel
import com.gingersoft.gsa.other_order_mode.ui.activity.DeliverySettingActivity
import com.gingersoft.gsa.other_order_mode.ui.adapter.TextAdapter
import com.gingersoft.gsa.other_order_mode.ui.base.BaseFragment
import com.gingersoft.gsa.other_order_mode.util.InjectorUtil
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.DeliveryConfig
import com.gingersoft.gsa.delivery_pick_mode.model.viewModel.DeliveryViewModel
import com.gingersoft.gsa.delivery_pick_mode.ui.activity.DeliverySettingActivity
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.TextAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.base.BaseFragment
import com.gingersoft.gsa.delivery_pick_mode.util.InjectorUtil
import com.jess.arms.utils.ArmsUtils
import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.popup.QMUIPopup
......
package com.gingersoft.gsa.other_order_mode.util
import com.gingersoft.gsa.other_order_mode.data.DeliveryRepository
import com.gingersoft.gsa.other_order_mode.data.HistoryOrderRepository
import com.gingersoft.gsa.other_order_mode.data.WeatherRepository
import com.gingersoft.gsa.other_order_mode.data.network.CoolWeatherNetwork
import com.gingersoft.gsa.other_order_mode.data.network.DeliveryNetwork
import com.gingersoft.gsa.other_order_mode.model.factory.DeliveryFactory
import com.gingersoft.gsa.other_order_mode.model.factory.HistoryOrderModelFactory
import com.gingersoft.gsa.other_order_mode.model.factory.WeatherModelFactory
package com.gingersoft.gsa.delivery_pick_mode.util
import com.gingersoft.gsa.delivery_pick_mode.data.DeliveryRepository
import com.gingersoft.gsa.delivery_pick_mode.data.HistoryOrderRepository
import com.gingersoft.gsa.delivery_pick_mode.data.WeatherRepository
import com.gingersoft.gsa.delivery_pick_mode.data.network.CoolWeatherNetwork
import com.gingersoft.gsa.delivery_pick_mode.data.network.DeliveryNetwork
import com.gingersoft.gsa.delivery_pick_mode.model.factory.DeliveryFactory
import com.gingersoft.gsa.delivery_pick_mode.model.factory.HistoryOrderModelFactory
import com.gingersoft.gsa.delivery_pick_mode.model.factory.WeatherModelFactory
object InjectorUtil {
......
package com.gingersoft.gsa.other_order_mode.util
package com.gingersoft.gsa.delivery_pick_mode.util
import android.app.Dialog
import android.content.Context
......@@ -6,7 +6,6 @@ import android.media.AudioAttributes
import android.media.AudioManager
import android.media.SoundPool
import android.os.Build
import android.util.Log
import android.view.View
import android.widget.ImageView
import android.widget.TextView
......@@ -18,11 +17,11 @@ import com.gingersoft.gsa.cloud.base.utils.MoneyUtil
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil
import com.gingersoft.gsa.cloud.base.widget.DialogUtils
import com.gingersoft.gsa.cloud.print.bean.OrderDetails
import com.gingersoft.gsa.other_order_mode.R
import com.gingersoft.gsa.other_order_mode.data.model.bean.BillBean
import com.gingersoft.gsa.other_order_mode.databinding.LayoutOrderInfoDialogNewBinding
import com.gingersoft.gsa.other_order_mode.ui.adapter.FoodListAdapter
import com.gingersoft.gsa.other_order_mode.ui.adapter.PayBillAdapter
import com.gingersoft.gsa.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.BillBean
import com.gingersoft.gsa.delivery_pick_mode.databinding.LayoutOrderInfoDialogNewBinding
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.FoodListAdapter
import com.gingersoft.gsa.delivery_pick_mode.ui.adapter.PayBillAdapter
import com.jess.arms.utils.ArmsUtils
import java.lang.Double.parseDouble
......
package com.gingersoft.gsa.other_order_mode.util
package com.gingersoft.gsa.delivery_pick_mode.util
import io.reactivex.Observable
import io.reactivex.Observer
......
package com.gingersoft.gsa.other_order_mode.util
package com.gingersoft.gsa.delivery_pick_mode.util
import android.app.Activity
import android.app.Dialog
......
package com.gingersoft.gsa.other_order_mode.data.model.bean
data class Data(
val estimated_time: Int
)
\ No newline at end of file
package com.gingersoft.gsa.other_order_mode.data.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import java.util.ArrayList;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/7/10
* 修订历史:2018/7/10
* 描述:
*/
public class PayTypeInfo {
/**
* code : 1
* data : {"id":15558,"amount":0.05,"remain":161457,"status":0,"orderType":2,"payType":[{"id":6,"payName":"支付宝HK","isdefault":1,"remarks":null},{"id":11,"payName":"服务员确认","isdefault":0,"remarks":null},{"id":5,"payName":"TNG","isdefault":0,"remarks":null},{"id":8,"payName":"支付宝","isdefault":0,"remarks":null},{"id":9,"payName":"微信","isdefault":0,"remarks":null}],"restaurantId":26,"restaurantName":"Gingersoft"}
* errorMsg : 成功
* page : null
*/
private String code;
private DataBean data;
private String errorMsg;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
public static class DataBean {
/**
* id : 15558
* amount : 0.05
* remain : 161457
* status : 0
* orderType : 2
* payType : [{"id":6,"payName":"支付宝HK","isdefault":1,"remarks":null},{"id":11,"payName":"服务员确认","isdefault":0,"remarks":null},{"id":5,"payName":"TNG","isdefault":0,"remarks":null},{"id":8,"payName":"支付宝","isdefault":0,"remarks":null},{"id":9,"payName":"微信","isdefault":0,"remarks":null}]
* restaurantId : 26
* restaurantName : Gingersoft
*/
private int id;
private double amount;
private int remain;
private String appleToken;
private int status;
private int orderType;
private int restaurantId;
private String restaurantName;
private List<PayTypeBean> payType;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public int getRemain() {
return remain;
}
public void setRemain(int remain) {
this.remain = remain;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getOrderType() {
return orderType;
}
public void setOrderType(int orderType) {
this.orderType = orderType;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public String getRestaurantName() {
return restaurantName;
}
public void setRestaurantName(String restaurantName) {
this.restaurantName = restaurantName;
}
public List<PayTypeBean> getPayType() {
return payType;
}
public void setPayType(List<PayTypeBean> payType) {
this.payType = payType;
}
public String getAppleToken() {
return appleToken;
}
public void setAppleToken(String appleToken) {
this.appleToken = appleToken;
}
public static class PayTypeBean {
/**
* id : 6
* payName : 支付宝HK
* isdefault : 1
* remarks : null
*/
private int id;
private long isdefault;
private String remarks;
private String payName;
private String payName3;
private String payName2;
private boolean checked;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public long getIsdefault() {
return isdefault;
}
public void setIsdefault(long isdefault) {
this.isdefault = isdefault;
}
public String getPayName() {
return payName;
}
public void setPayName(String payName) {
this.payName = payName;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public String getPayName3() {
return payName3;
}
public void setPayName3(String payName3) {
this.payName3 = payName3;
}
public String getPayName2() {
return payName2;
}
public void setPayName2(String payName2) {
this.payName2 = payName2;
}
}
}
public static List<PayMethod> getPayMethodByPayType(PayTypeInfo.DataBean payTypes) {
List<PayMethod> payMethods = new ArrayList<>();
if (payTypes == null) {
return payMethods;
}
if (payTypes.payType == null) {
return payMethods;
}
for (PayTypeInfo.DataBean.PayTypeBean payType : payTypes.payType) {
PayMethod payMethod = new PayMethod(payType.id, payType.payName, payType.payName2, payType.payName3);
payMethods.add(payMethod);
}
return payMethods;
}
}
package com.gingersoft.gsa.other_order_mode.ui.activity
fun main() {
var aaa = "1234567891023456789"
var str = "asdf sdafas saf"
}
\ No newline at end of file
......@@ -16,7 +16,7 @@
<fragment
android:id="@+id/deliverylist_fragment"
android:name="com.gingersoft.gsa.other_order_mode.ui.fragment.DeliveryFragment"
android:name="com.gingersoft.gsa.delivery_pick_mode.ui.fragment.DeliveryFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/top_bar_delivery" />
......
......@@ -5,11 +5,11 @@
<data>
<import type="com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel" />
<import type="com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel" />
<variable
name="data"
type="com.gingersoft.gsa.other_order_mode.model.viewModel.PageViewModel" />
type="com.gingersoft.gsa.delivery_pick_mode.model.viewModel.PageViewModel" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
......
......@@ -11,10 +11,11 @@
android:orientation="horizontal">
<TextView
android:id="@+id/tv_add_service_charge_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="追加服務費"
android:text="追加貼士"
android:textColor="@color/theme_333_color"
android:textSize="@dimen/dp_16" />
......@@ -42,7 +43,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="追加金額數"
android:text="金額:"
android:textColor="@color/theme_333_color"
android:textSize="@dimen/dp_16" />
......
......@@ -11,7 +11,7 @@
<variable
name="data"
type="com.gingersoft.gsa.other_order_mode.data.model.bean.OrderList.DataBeanX.DataBean" />
type="com.gingersoft.gsa.delivery_pick_mode.data.model.bean.OrderList.DataBeanX.DataBean" />
<variable
name="delivery_state"
......@@ -252,8 +252,8 @@
android:id="@+id/ic_vehicle"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_26"
android:layout_marginLeft="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_5"
android:layout_marginLeft="@dimen/dp_2"
android:layout_marginRight="@dimen/dp_2"
android:src="@{vehicle}"
android:visibility="@{vehicle== null?View.GONE:View.VISIBLE}" />
</LinearLayout>
......@@ -318,18 +318,18 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="追加服務費:"
android:text="貼士:"
android:textColor="@color/theme_333_color"
android:textSize="@dimen/sp_10" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_2"
android:gravity="center_horizontal"
android:text="@{@string/amount_unit + data.paymentValue}"
android:textColor="@color/red_600"
android:textSize="@dimen/sp_10"
android:layout_marginRight="@dimen/dp_2"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@id/tv_address"
app:layout_constraintRight_toRightOf="parent"
......
......@@ -8,7 +8,7 @@
<variable
name="data"
type="com.gingersoft.gsa.other_order_mode.data.model.bean.FoodDetailsTranBean" />
type="com.gingersoft.gsa.delivery_pick_mode.data.model.bean.FoodDetailsTranBean" />
<variable
name="price"
......
......@@ -8,7 +8,7 @@
<variable
name="data"
type="com.gingersoft.gsa.other_order_mode.data.model.bean.HistoryOrderBean.DataBean" />
type="com.gingersoft.gsa.delivery_pick_mode.data.model.bean.HistoryOrderBean.DataBean" />
<variable
name="orderingMethod"
......
......@@ -11,7 +11,7 @@
<variable
name="data"
type="com.gingersoft.gsa.other_order_mode.data.model.bean.OrderList.DataBeanX.DataBean" />
type="com.gingersoft.gsa.delivery_pick_mode.data.model.bean.OrderList.DataBeanX.DataBean" />
<variable
name="delivery_state"
......
......@@ -9,10 +9,14 @@ import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCUtil;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
......@@ -29,14 +33,8 @@ import com.jess.arms.base.BaseActivity;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.OnClick;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -77,7 +75,6 @@ public class DownloadActivity extends BaseActivity<DownloadPresenter> implements
*/
private int fromPage = 1;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerDownloadComponent //如找不到该类,请编译一下项目
......
......@@ -11,24 +11,24 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/user_login_name"
android:maxAspectRatio="2.4"
android:networkSecurityConfig="@xml/network_android"
android:roundIcon="@mipmap/ic_launcher"
android:resizeableActivity="true"
android:maxAspectRatio="2.4"
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:label">
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity"
android:launchMode="singleTask">
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
......@@ -38,8 +38,9 @@
</activity>
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTask"/>
android:launchMode="singleTop" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity"/>
<meta-data
......
......@@ -47,7 +47,8 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
brandsBeans.addAll(brands);
}
boolean autoLogin = (boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false);
if (autoLogin) {
if (autoLogin && GsaCloudApplication.isLogin) {
int restaurantId = GsaCloudApplication.getRestaurantId(this);
if (restaurantId != 0) {
//上一次進入app有選擇餐廳,通過餐廳ID獲取允許的最大登陸數
......
......@@ -3,14 +3,15 @@ package com.gingersoft.gsa.cloud.login.mvp.presenter;
import android.app.Activity;
import android.app.Application;
import android.content.Intent;
import android.util.Log;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.bean.PublicBean;
import com.gingersoft.gsa.cloud.constans.AppConstans;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
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;
......@@ -29,7 +30,6 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
......@@ -97,13 +97,13 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
public void onNext(@NonNull LoginBean info) {
if (info.isSuccess()) {
GsaCloudApplication.isLogin = true;
SPUtils.put(GsaCloudApplication.getAppContext(), PrintConstans.IS_LOGIN, true);
GsaCloudApplication.userName = info.getData().getUser().getUserName();
mRootView.showMessage("登陸成功");
mRootView.loginSuccess(info);
} else {
GsaCloudApplication.isLogin = false;
mRootView.showMessage(info.getErrMsg());
if (IAcitivity instanceof LoginActivity) {
} else {
......
......@@ -301,9 +301,7 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
dialogUtils = new DialogUtils(mContext, R.layout.login_limit_dialog_layout) {
@Override
public void initLayout(ViewHepler hepler, Dialog dialog) {
hepler.setOnClickListenter(R.id.iv_login_limit_back, v -> {
dialog.dismiss();
});
hepler.setOnClickListenter(R.id.iv_login_limit_back, v -> dialog.dismiss());
RecyclerView loginLimit = hepler.getView(R.id.rv_login_limit);
loginLimit.setLayoutManager(new LinearLayoutManager(mContext));
LoginLimitAdapter loginLimitAdapter = new LoginLimitAdapter(loginLimitBeans);
......@@ -320,6 +318,7 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
}.setWidth(LinearLayout.LayoutParams.MATCH_PARENT).setOnDismissListener(dialog -> {
//不管有沒有踢出人,彈窗消失回到登陸頁面
startActivity(new Intent(mContext, LoginActivity.class));
GsaCloudApplication.logOut();
}).setGravity(Gravity.BOTTOM).show();
} else {
showMessage("獲取登陸人數失敗");
......
......@@ -17,6 +17,7 @@ import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.viewpager2.widget.ViewPager2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.encryption.Aes;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.constans.UserConstans;
......@@ -84,6 +85,7 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
animation.setDuration(2000);
animation.setFillAfter(true);
contentView.setAnimation(animation);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
......@@ -96,7 +98,8 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
//是第一次進入,顯示引導頁
showGuide();
} else {
if ((boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false)) {
if ((boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false) && GsaCloudApplication.isLogin
&& GsaCloudApplication.getRestaurantId(mContext) != 0) {
//自動登陸
String pwd = Aes.aesDecrypt((String) SPUtils.get(mContext, UserConstans.LOGIN_PASSWORD, ""));
mPresenter.login(SPUtils.get(mContext, UserConstans.LOGIN_USERNAME, "") + "", pwd);
......
......@@ -2,6 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.main">
<uses-permission android:name="android.permission.INTERNET" />
<application>
<activity
android:name=".mvp.ui.activity.NewMainActivity"
......@@ -23,5 +24,4 @@
android:name="design_height_in_dp"
android:value="640" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
......@@ -18,7 +18,7 @@ public class ComponentMain implements IComponent {
new FModule("main/order/delivery", R.drawable.ic_delivery_mode,R.drawable.ic_delivery_mode_close) ,
new FModule("main/order/takeaway", R.drawable.ic_outsourcing_model,R.drawable.ic_outsourcing_model_close),
new FModule("main/order/preorder", R.drawable.ic_pre_order_mode,R.drawable.ic_pre_order_mode_close),
new FModule("main/order/coldChain", R.drawable.ic_pre_order_mode,R.drawable.ic_pre_order_mode_close),
new FModule("main/order/coldChain", R.drawable.ic_cold_chain,R.drawable.ic_pre_order_mode_close),
};
/**首頁- 管理*/
public static final FModule [] manager = {
......
......@@ -297,7 +297,8 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
sl_order.setVisibility(View.INVISIBLE);
}
List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.manager, "manager");
List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.manager, "manager");
managerFuncations.add(new Function((long) 171, 163, 5, "二維碼", R.drawable.ic_authority_management_close, 0));
if (managerFuncations.size() > 0) {
functions.addAll(managerFuncations);
ll_management.setVisibility(View.VISIBLE);
......@@ -402,6 +403,11 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
.setActionName("Component.ColdChain")
.build()
.call();
} else if(name.equals("二維碼")){
CC.obtainBuilder("Component.ColdChain")
.setActionName("Component.ColdChain")
.build()
.call();
}
}
......@@ -550,18 +556,18 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
@Override
public void loginOut() {
GsaCloudApplication.isLogin = false;
//关闭Prj打印服務
CC.obtainBuilder("Component.Print")
.setActionName("stopPrintService")
.build()
.call();
killMyself();
//跳轉登陸頁面
CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA")
.build()
.call();
GsaCloudApplication.logOut();
finish();
}
@Override
......
......@@ -178,7 +178,7 @@
app:hl_cornerRadius="@dimen/dp_4"
app:hl_shadowBackColor="@color/white"
app:hl_shadowLimit="@dimen/dp_0">
<!--管理-->
<LinearLayout
android:id="@+id/layout_management"
android:layout_width="match_parent"
......@@ -215,7 +215,7 @@
android:visibility="gone"/>
</LinearLayout>
<!-- 員工管理-->
<LinearLayout
android:id="@+id/ll_staff_management"
android:layout_width="match_parent"
......
......@@ -9,6 +9,7 @@
android:id="@+id/iv_main_home_item_function_icon"
android:layout_width="@dimen/dp_44"
android:layout_height="@dimen/dp_44"
android:layout_marginTop="@dimen/dp_10"
android:src="@drawable/ic_dining_table" />
<TextView
......
......@@ -25,8 +25,6 @@ public interface PrinterAddContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void addPrinterSuccess(PrinterDeviceBean printerDeviceBean);
void updatePrinterSuccess(PrinterDeviceBean printerDeviceBean);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -66,6 +66,8 @@ public class PrjBean {
private String orderDetailsTime;
private int orderDetailsId;
private String productName;
private String productName2;
private String productName3;
private int parentId;
private int type;
private int printerType;
......@@ -172,6 +174,22 @@ public class PrjBean {
this.productName = productName;
}
public String getProductName2() {
return productName2;
}
public void setProductName2(String productName2) {
this.productName2 = productName2;
}
public String getProductName3() {
return productName3;
}
public void setProductName3(String productName3) {
this.productName3 = productName3;
}
public int getParentId() {
return parentId;
}
......
......@@ -3,7 +3,6 @@ package com.joe.print.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
......@@ -11,11 +10,6 @@ import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import com.joe.print.mvp.contract.PrinterAddContract;
import com.gingersoft.gsa.cloud.database.bean.PrintModelBean;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import javax.inject.Inject;
......@@ -24,7 +18,6 @@ import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.MediaType;
import okhttp3.RequestBody;
......@@ -127,7 +120,6 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) {
mRootView.showMessage("保存成功");
mRootView.updatePrinterSuccess(printerDeviceBean);
mRootView.killMyself();
}
}
......@@ -150,7 +142,8 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
.add("modifierFont", printerDeviceBean.getModifierFont() + "")
.add("modifierIsItalic", printerDeviceBean.getModifierIsItalic() + "")
.add("numberIsFlip", printerDeviceBean.getNumberIsFlip() + "")
.add("printerDeviceType", printerDeviceBean.getPrinterDeviceType() + "");
.add("printerDeviceType", printerDeviceBean.getPrinterDeviceType() + "")
.add("languageType", printerDeviceBean.getLanguageType() + "");
if (printerDeviceBean.getFlyPrinterDeviceId() != null) {
builder.add("flyPrinterDeviceId", printerDeviceBean.getFlyPrinterDeviceId() + "");
}
......
......@@ -117,7 +117,7 @@ public class PrintPrjKitchen extends PrinterRoot {
TextView tvTableNumber2 = view.findViewById(R.id.tv_kitchen_print_table_number2);
LinearLayout layoutOpenTableTime = view.findViewById(R.id.layout_opening_table_time);
KitChenPrjPrintFoodAdapter foodAdapter = new KitChenPrjPrintFoodAdapter(data);
KitChenPrjPrintFoodAdapter foodAdapter = new KitChenPrjPrintFoodAdapter(data, printerDeviceBean);
rvFood.setLayoutManager(new LinearLayoutManager(context));
rvFood.setAdapter(foodAdapter);
//廚房位置
......
......@@ -3,8 +3,6 @@ package com.joe.print.mvp.print.utils;
import android.content.Context;
import android.widget.TextView;
import com.epson.epos2.Epos2Exception;
import com.epson.epos2.printer.Printer;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
......@@ -12,7 +10,6 @@ import com.gingersoft.gsa.cloud.database.utils.PrintCurrencyDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.PrinterDeviceDaoUtils;
import com.joe.print.R;
import java.util.ArrayList;
import java.util.List;
public class MyPrintUtils {
......@@ -138,10 +135,10 @@ public class MyPrintUtils {
// 如果沒有預設,那麼判斷打印機字體大小是不是設置為預設
// 如果是預設,那麼手動給設置食品字體大小,不然打印不出來食品
if (defaultPrint.getFoodFont().equals("0")) {
defaultPrint.setFoodFont("20");
defaultPrint.setFoodFont("18");
}
if (defaultPrint.getModifierFont().equals("0")) {
defaultPrint.setModifierFont("18");
defaultPrint.setModifierFont("16");
}
}
return defaultPrint;
......
......@@ -49,8 +49,13 @@ import com.joe.print.mvp.print.utils.MyPrintUtils;
import com.joe.print.mvp.ui.adapter.DialogPrinterListAdapter;
import com.joe.print.mvp.ui.adapter.PrintProgressAdapter;
import com.yanzhenjie.recyclerview.widget.DefaultItemDecoration;
import java.util.List;
import java.util.Map;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import static com.gingersoft.gsa.cloud.constans.PrintConstans.PRINT_TYPE;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -130,7 +135,9 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
initPrintConfig();
}
private int selectPrint = -1;
private void initPrintConfig() {
PrintCurrencyBean printCurrencyBean = null;
PrinterDeviceBean defaultPrint;
......@@ -179,7 +186,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
.setHeight(ArmsUtils.getScreenHeidth(mContext) / 2)
.setWidth((int) (ArmsUtils.getScreenWidth(mContext) * 0.8))
.setOnDismissListener(dialog -> {
if(selectPrint == -1){
if (selectPrint == -1) {
printFile("未選擇打印機");
}
})
......@@ -234,9 +241,11 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
}
}
private PrintProgressAdapter adapter;
private void setPrintProgress(int state){
if(adapter != null){
private void setPrintProgress(int state) {
if (adapter != null) {
adapter.setProgress(state);
}
}
......@@ -270,7 +279,9 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
private void setLoadingText(String tip) {
runOnUiThread(() -> {
Observable.just(1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(integer -> {
if (mLoadingDialog != null && mLoadingDialog.isShowing()) {
mTvLoadingTip.setText(tip);
}
......@@ -476,7 +487,9 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
private void disLoadingDialog() {
runOnUiThread(() -> {
Observable.just(1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(integer -> {
if (mLoadingDialog != null) {
mLoadingDialog.dismiss();
}
......
......@@ -28,6 +28,7 @@ import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrintModelBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.ui.view.WheelView;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
......@@ -36,13 +37,9 @@ import com.joe.print.R2;
import com.joe.print.di.component.DaggerPrinterAddComponent;
import com.joe.print.mvp.contract.PrinterAddContract;
import com.joe.print.mvp.presenter.PrinterAddPresenter;
import com.joe.print.mvp.print.PrinterRoot;
import com.joe.print.mvp.ui.adapter.SelectPrintAdapter;
import com.gingersoft.gsa.cloud.ui.view.WheelView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -102,6 +99,8 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
// Switch mSwitchColorFlip;//是否翻轉
@BindView(R2.id.tv_print_flip)
TextView tvFlip;
@BindView(R2.id.tv_food_language)
TextView tvLanguage;
@BindView(R2.id.layout_ip)
LinearLayout layoutIp;
@BindView(R2.id.layout_port)
......@@ -128,11 +127,11 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
private int foodIsItalic = 0;//食品是否斜體
private int modifierIsItalic = 0;//細項是否斜體
private int flipPosition = 0;//數量大於1是否翻轉
private int languagePosition = 0;
public static List<String> printTypes = Arrays.asList("網路打印", "本機打印", "USB打印");
private List<String> fontSize = Arrays.asList("預設", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30");
private List<String> booleanSelect = Arrays.asList("預設", "是", "否");
private List<String> languageSelect = Arrays.asList("語言一", "語言二", "語言三");
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
......@@ -210,6 +209,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
foodIsItalic = printerDeviceBean.getFoodIsItalic();
modifierIsItalic = printerDeviceBean.getModifierIsItalic();
flipPosition = printerDeviceBean.getNumberIsFlip();
languagePosition = printerDeviceBean.getLanguageType();
} else {
mTvFoodNameSize.setText("1");
mTvdetailsFontSize.setText("1");
......@@ -234,6 +234,10 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
tvFoodItalic.setText(booleanSelect.get(foodIsItalic));
tvModifierItalic.setText(booleanSelect.get(modifierIsItalic));
tvFlip.setText(booleanSelect.get(flipPosition));
if (languagePosition > 0) {
languagePosition = languagePosition - 1;
}
tvLanguage.setText(languageSelect.get(languagePosition));
//添加監聽
for (int i = 0; i < ipEdits.length; i++) {
MyTextWatcher myTextWatchers = new MyTextWatcher(ipEdits[i]);
......@@ -356,7 +360,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
printIpLine.setVisibility(isVisible);
}
@OnClick({R2.id.layout_flip, R2.id.layout_modifier_italic, R2.id.layout_food_italic, R2.id.layout_print_modifier_isbold, R2.id.layout_print_food_isbold, R2.id.layout_print_type, R2.id.printer_add, R2.id.layout_select_fail_one, R2.id.layout_select_fail_two, R2.id.layout_print_device, R2.id.layout_print_device_food_font_size, R2.id.layout_print_device_food_item_font_size})
@OnClick({R2.id.layout_print_device_food_language, R2.id.layout_flip, R2.id.layout_modifier_italic, R2.id.layout_food_italic, R2.id.layout_print_modifier_isbold, R2.id.layout_print_food_isbold, R2.id.layout_print_type, R2.id.printer_add, R2.id.layout_select_fail_one, R2.id.layout_select_fail_two, R2.id.layout_print_device, R2.id.layout_print_device_food_font_size, R2.id.layout_print_device_food_item_font_size})
@Override
public void onClick(View v) {
int id = v.getId();
......@@ -389,7 +393,21 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
showSelectFoodIsBold("是否斜體", tvModifierItalic);
} else if (id == R.id.layout_flip) {
showSelectFoodIsBold("是否翻轉", tvFlip);
} else if (id == R.id.layout_print_device_food_language) {
//prj語言
showSelectLanguage();
}
}
private void showSelectLanguage() {
List<String> types = new ArrayList<>();
types.add("語言一");
types.add("語言二");
types.add("語言三");
DialogUtils.showSelectPopop(this, types, "食品語言", languagePosition, i -> {
languagePosition = i;
tvLanguage.setText(languageSelect.get(languagePosition));
});
}
private void showSelectFoodIsBold(String title, TextView textView) {
......@@ -444,6 +462,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
hepler.getView(R.id.btn_confirm).setOnClickListener(v -> {
modelPosition = wheelView.getSeletedIndex();
mTvModel.setText(wheelView.getSeletedItem());
mTvModel.setTextColor(getResources().getColor(R.color.color_3c));
dialog.dismiss();
});
......@@ -532,7 +551,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
} else {
printerDeviceBean.setPort(Integer.parseInt(port));
}
} else{
} else {
printerDeviceBean.setIp("");
printerDeviceBean.setPort(0);
}
......@@ -570,7 +589,7 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
printerDeviceBean.setFoodIsItalic(foodIsItalic);
printerDeviceBean.setModifierIsItalic(modifierIsItalic);
printerDeviceBean.setNumberIsFlip(flipPosition);
printerDeviceBean.setLanguageType(languagePosition + 1);
printerDeviceBean.setPrinterDeviceType(printType);
//添加打印機
if (v.getId() == R.id.printer_add) {
......@@ -620,13 +639,6 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
finish();
}
@Override
public void updatePrinterSuccess(PrinterDeviceBean item) {
//修改打印機成功,如果這個打印機是用戶設置的默認打印機,則需要更新信息
}
class MyTextWatcher implements TextWatcher {
public EditText mEditText;
......
......@@ -7,7 +7,7 @@ import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.mvp.model.bean.PrjBean;
import java.math.BigDecimal;
......@@ -19,9 +19,10 @@ import java.util.List;
public class KitChenPrjPrintFoodAdapter extends BaseQuickAdapter<PrjBean.DataBean.Bean, BaseViewHolder> {
private int indentation = 0;
public KitChenPrjPrintFoodAdapter(@Nullable List<PrjBean.DataBean.Bean> data) {
private PrinterDeviceBean printerDeviceBean;
public KitChenPrjPrintFoodAdapter(@Nullable List<PrjBean.DataBean.Bean> data, PrinterDeviceBean printerDeviceBean) {
super(R.layout.print_kitchen_item_food, data);
this.printerDeviceBean = printerDeviceBean;
}
@Override
......@@ -42,7 +43,15 @@ public class KitChenPrjPrintFoodAdapter extends BaseQuickAdapter<PrjBean.DataBea
paddingLeft = 0;
}
textView.setPadding(paddingLeft, textView.getPaddingTop(), textView.getPaddingRight(), textView.getPaddingBottom());
if(printerDeviceBean.getLanguageType() == 0 || printerDeviceBean.getLanguageType() == 1){
helper.setText(R.id.tv_food_name, item.getProductName());
} else if(printerDeviceBean.getLanguageType() == 2){
helper.setText(R.id.tv_food_name, item.getProductName2());
} else if(printerDeviceBean.getLanguageType() == 3){
helper.setText(R.id.tv_food_name, item.getProductName3());
} else {
helper.setText(R.id.tv_food_name, item.getProductName());
}
helper.setText(R.id.tv_food_number, String.valueOf(item.getNumber()));
}
}
......@@ -401,6 +401,49 @@
app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<!-- 語言選擇-->
<RelativeLayout
android:id="@+id/layout_print_device_food_language"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_food_language_text"
style="@style/print_add_title_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="廚房單語言" />
<ImageView
android:id="@+id/iv_food_language_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
<TextView
android:id="@+id/tv_food_language"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:layout_toLeftOf="@id/iv_food_language_arrow"
android:layout_toRightOf="@id/tv_food_language_text"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
......
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