Commit 3cc1ca01 by Wyh

9.08 1、登陸判斷優化 2、外送自取支付接口調整 3、冷鏈顯示訂單數

Signed-off-by: Wyh <1239658231>
parent 84550b77
......@@ -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();
......
......@@ -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";
......
......@@ -205,7 +205,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) {
......
......@@ -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返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -89,6 +89,8 @@ public class OrderListPresenter extends BasePresenter<OrderListContract.Model, O
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);
}
......
......@@ -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();
}
}
......
......@@ -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
......@@ -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) {
......
......@@ -2,7 +2,6 @@ package com.gingersoft.gsa.delivery_pick_mode.data.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -15,223 +14,31 @@ import java.util.List;
public class PayTypeInfo {
private boolean success;
private long sysTime;
private List<PayMethod> data;
/**
* 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 boolean isSuccess() {
return success;
}
public void setData(DataBean data) {
this.data = data;
public void setSuccess(boolean success) {
this.success = success;
}
public String getErrorMsg() {
return errorMsg;
public long getSysTime() {
return sysTime;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
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 List<PayMethod> getData() {
return data;
}
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;
public void setData(List<PayMethod> data) {
this.data = data;
}
}
......@@ -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()
......
......@@ -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
......@@ -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)
......
......@@ -20,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
......@@ -41,6 +43,8 @@ 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() {
......@@ -79,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()
......
......@@ -3,16 +3,17 @@ 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.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.BillBean
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.PayTypeInfo
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
......@@ -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)
......
......@@ -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,23 @@
<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="singleTop">
android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
......@@ -36,30 +35,27 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTop" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity" />
<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"/>
<activity android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity" />
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
android:value="360" />
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
android:value="640" />
<meta-data
android:name="android.max_aspect"
android:value="2.4" />
<!--适配华为(huawei)刘海屏-->
<meta-data
android:name="android.notch_support"
android:value="true"/>
android:value="true" />
<!--适配小米(xiaomi)刘海屏-->
<meta-data
android:name="notch.config"
......
......@@ -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;
......@@ -28,7 +29,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;
......@@ -89,13 +89,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 {
......
......@@ -297,9 +297,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);
......@@ -316,6 +314,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("獲取登陸人數失敗");
......
......@@ -85,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) {
......@@ -97,7 +98,8 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
//是第一次進入,顯示引導頁
showGuide();
} else {
if ((boolean) SPUtils.get(mContext, UserConstans.AUTO_LOGIN, false) && GsaCloudApplication.isLogin) {
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);
......
......@@ -4,7 +4,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<application>
<activity android:name=".mvp.ui.activity.NewMainActivity" />
<activity android:name=".mvp.ui.activity.NewMainActivity" android:launchMode="singleInstance"/>
<activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.SettlementActivity" />
......
......@@ -292,6 +292,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
}
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);
......@@ -396,6 +397,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();
}
}
......@@ -544,7 +550,6 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
@Override
public void loginOut() {
GsaCloudApplication.isLogin = false;
//关闭Prj打印服務
CC.obtainBuilder("Component.Print")
.setActionName("stopPrintService")
......@@ -555,7 +560,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
.setActionName("showActivityA")
.build()
.call();
GsaCloudApplication.logOut();
finish();
}
......@@ -585,7 +590,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
mExitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
// System.exit(0);
}
}
return true;
......
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