Commit d5d670d8 by Wyh

9.19 1.優化切換環境 2、冷鏈切換餐廳營業狀態BUG

Signed-off-by: Wyh <1239658231>
parent f5957536
......@@ -77,11 +77,6 @@ public class GsaCloudApplication extends BaseApplication {
public static boolean isLogin = false;
public static String userName = "";
/**
* 商米:V2、V2_PRO N5:N5
*/
public static String mV2 = "V2,V2_PRO";
public static String mN5 = "N5";
/**
* 全局設置上下拉刷新框架Header 和 Footer
......@@ -187,36 +182,40 @@ public class GsaCloudApplication extends BaseApplication {
//沽清控制請求地址
RetrofitUrlManager.getInstance().putDomain("soldoutctrl", HttpsConstans._SERVER_ADDRESS);
//版本更新請求地址
RetrofitUrlManager.getInstance().putDomain("update_version", HttpsConstans.ROOT_URL + "/member-web/api/");
RetrofitUrlManager.getInstance().putDomain("update_version", HttpsConstans.member_web);
//友常本地請求地址
RetrofitUrlManager.getInstance().putDomain("yc_location", HttpsConstans.ROOT_SERVER_YOU_CHANG_HK);
//System請求地址
RetrofitUrlManager.getInstance().putDomain("system_url", HttpsConstans.SYSTEM_URL);
//後台遷移新地址
RetrofitUrlManager.getInstance().putDomain("new_base_url", HttpsConstans.ROOT_URL + "/ricepon-member/api/");
RetrofitUrlManager.getInstance().putDomain("new_base_url", HttpsConstans.ricepon_member);
//ricepon_wechat請求地址
RetrofitUrlManager.getInstance().putDomain("ricepon_wechat", HttpsConstans.ROOT_URL + HttpsConstans.URL_RICEPON_WECHAT);
RetrofitUrlManager.getInstance().putDomain("ricepon_wechat", HttpsConstans.ricepon_wechat);
//ricepon_order請求地址
RetrofitUrlManager.getInstance().putDomain("ricepon_order", HttpsConstans.ROOT_URL + HttpsConstans.URL_RICEPON_ORDER);
RetrofitUrlManager.getInstance().putDomain("ricepon_order", HttpsConstans.ricepon_order);
//member_web_ricepon_gsa請求地址
RetrofitUrlManager.getInstance().putDomain("member_web_ricepon_gsa", HttpsConstans.ROOT_URL + HttpsConstans.URL_MEMBER_WEB_RICEPON_GSA);
RetrofitUrlManager.getInstance().putDomain("member_web_ricepon_gsa", HttpsConstans.member_web_ricepon_gsa);
//member-web api 請求地址
RetrofitUrlManager.getInstance().putDomain("member-web", HttpsConstans.ROOT_URL + HttpsConstans.WECHAR_REPORT_PATH);
RetrofitUrlManager.getInstance().putDomain("member-web", HttpsConstans.member_web);
//ricepon_gsa請求地址
RetrofitUrlManager.getInstance().putDomain("ricepon_gsa", HttpsConstans.ROOT_URL + HttpsConstans.URK_RICEPON_GSA);
RetrofitUrlManager.getInstance().putDomain("ricepon_gsa", HttpsConstans.ricepon_gsa);
//ricepon_activities請求地址
RetrofitUrlManager.getInstance().putDomain("ricepon_activities", HttpsConstans.ROOT_URL + HttpsConstans.URK_RICEPON_ACTIVITIES);
RetrofitUrlManager.getInstance().putDomain("ricepon_activities", HttpsConstans.ricepon_activities);
///ricepon-cloud-gsa/api/請求地址
RetrofitUrlManager.getInstance().putDomain("ricepon_cloud_gsa", HttpsConstans.ROOT_URL + HttpsConstans.CLOUD_GSA_API_PATH);
RetrofitUrlManager.getInstance().putDomain("ricepon_cloud_gsa", HttpsConstans.ricepon_cloud_gsa);
CC.obtainBuilder("ComponentDeliveryPick")
.setActionName("initAddress")
.build()
.call();
}
private void initPrint() {
if (GsaCloudApplication.mV2.contains(Build.MODEL)) {
if (PrintConstans.PRINT_MODEL_V2.contains(Build.MODEL)) {
//商米打印
AidlUtil.getInstance().connectPrinterService(this);
} else if (GsaCloudApplication.mN5.contains(Build.MODEL)) {
} else if (PrintConstans.PRINT_MODEL_N5.contains(Build.MODEL)) {
try {
//初始化N5打印
PrinterUtil.initPrinter(this);
......@@ -225,6 +224,7 @@ public class GsaCloudApplication extends BaseApplication {
}
} else {
//如果當前機型不是上面兩種,那麼設置默認打印為ip打印
//這個默認值的優先級<用戶在打印機列表中設置的默認打印機
SPUtils.put(this, PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.IP_PRINT);
}
}
......@@ -428,6 +428,16 @@ public class GsaCloudApplication extends BaseApplication {
SPUtils.remove(getAppContext(), UserConstans.brandRestaurantInfos);
SPUtils.remove(getAppContext(), UserConstans.gsPosShopId);
SPUtils.put(getAppContext(), PrintConstans.IS_LOGIN, false);
//关闭Prj打印服務
CC.obtainBuilder("Component.Print")
.setActionName("stopPrintService")
.build()
.call();
//跳轉登陸頁面
CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA")
.build()
.call();
GsaCloudApplication.isLogin = false;
}
......
package com.gingersoft.gsa.cloud.bean;
public class WiseposBean {
/**
* status : SUCCESS
* requestType : PRINT
* state : IDLE
* systemInfo : {"appVersion":"1.22.4.4.001","OSVersion":"9","ip":"192.168.1.162","mac":"2059a018d3d6","serialNumber":"WSS503013000075","firmware":"WSS50.501-02 (5.00.01.02.beta7)","hardware":"","terminalConfig":"GNZZ_MTIPD_v13_with_AE_v1","key":"034040XXXXXXXXXXXXXX","bootloader":"6.00.00.20 (6.00.00.34)"}
* timestamp : 1600424044184
*/
private String status;
private String requestType;
private String state;
private SystemInfoBean systemInfo;
private String timestamp;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRequestType() {
return requestType;
}
public void setRequestType(String requestType) {
this.requestType = requestType;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public SystemInfoBean getSystemInfo() {
return systemInfo;
}
public void setSystemInfo(SystemInfoBean systemInfo) {
this.systemInfo = systemInfo;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public static class SystemInfoBean {
/**
* appVersion : 1.22.4.4.001
* OSVersion : 9
* ip : 192.168.1.162
* mac : 2059a018d3d6
* serialNumber : WSS503013000075
* firmware : WSS50.501-02 (5.00.01.02.beta7)
* hardware :
* terminalConfig : GNZZ_MTIPD_v13_with_AE_v1
* key : 034040XXXXXXXXXXXXXX
* bootloader : 6.00.00.20 (6.00.00.34)
*/
private String appVersion;
private String OSVersion;
private String ip;
private String mac;
private String serialNumber;
private String firmware;
private String hardware;
private String terminalConfig;
private String key;
private String bootloader;
public String getAppVersion() {
return appVersion;
}
public void setAppVersion(String appVersion) {
this.appVersion = appVersion;
}
public String getOSVersion() {
return OSVersion;
}
public void setOSVersion(String OSVersion) {
this.OSVersion = OSVersion;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getMac() {
return mac;
}
public void setMac(String mac) {
this.mac = mac;
}
public String getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(String serialNumber) {
this.serialNumber = serialNumber;
}
public String getFirmware() {
return firmware;
}
public void setFirmware(String firmware) {
this.firmware = firmware;
}
public String getHardware() {
return hardware;
}
public void setHardware(String hardware) {
this.hardware = hardware;
}
public String getTerminalConfig() {
return terminalConfig;
}
public void setTerminalConfig(String terminalConfig) {
this.terminalConfig = terminalConfig;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getBootloader() {
return bootloader;
}
public void setBootloader(String bootloader) {
this.bootloader = bootloader;
}
}
}
......@@ -14,7 +14,7 @@ public class FunctionManagerConstans {
public static final String ASSIGNDELIVERY_BTN_KEY = "takeaway/orderDetails/btn/assignDelivery";
public static final String CLOSING_BTN_KEY = "takeaway/orderDetails/btn/closing";
public static final String TRANSPORTATION_BTN_KEY = "takeaway/orderDetails/btn/transportation";
public static final String ADDITIONALSERVICECHARGE_BTN_KEY = "takeaway/orderDetails/btn/additionalServiceCharge";
/** 外送/自取- 訂單詳情管理 */
public static final FModule[] orderDetails = {
......@@ -26,6 +26,7 @@ public class FunctionManagerConstans {
new FModule(ASSIGNDELIVERY_BTN_KEY, 0, 0),
new FModule(CLOSING_BTN_KEY, 0, 0),
new FModule(TRANSPORTATION_BTN_KEY, 0, 0),
new FModule(ADDITIONALSERVICECHARGE_BTN_KEY, 0, 0)
};
}
......
......@@ -166,7 +166,26 @@ public class HttpsConstans {
SYSTEM_URL = ROOT_SERVER_SHI_SHU_HK + SYSTEM_PATH;
break;
}
ricepon_wechat = HttpsConstans.ROOT_URL + HttpsConstans.URL_RICEPON_WECHAT;
ricepon_order = HttpsConstans.ROOT_URL + HttpsConstans.URL_RICEPON_ORDER;
member_web_ricepon_gsa = HttpsConstans.ROOT_URL + HttpsConstans.URL_MEMBER_WEB_RICEPON_GSA;
member_web = HttpsConstans.ROOT_URL + HttpsConstans.WECHAR_REPORT_PATH;
ricepon_gsa = HttpsConstans.ROOT_URL + HttpsConstans.URK_RICEPON_GSA;
ricepon_activities = HttpsConstans.ROOT_URL + HttpsConstans.URK_RICEPON_ACTIVITIES;
ricepon_cloud_gsa = HttpsConstans.ROOT_URL + HttpsConstans.CLOUD_GSA_API_PATH;
ricepon_member = HttpsConstans.ROOT_URL + "/ricepon-member/api/";
}
public static String ricepon_wechat;
public static String ricepon_order;
public static String member_web_ricepon_gsa;
public static String member_web;
public static String ricepon_gsa;
public static String ricepon_activities;
public static String ricepon_cloud_gsa;
public static String ricepon_member;
}
\ No newline at end of file
......@@ -38,4 +38,8 @@ public class PrintConstans {
public final static int PRINT_OTHER_CLOSING = 7;//外賣結賬單
public final static String PRINT_MODEL_N5 = "N5";
public final static String PRINT_MODEL_WISEPOS = "WiseposPlus";
public final static String PRINT_MODEL_V2 = "V2,V2_PRO";
}
......@@ -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.ADDITIONALSERVICECHARGE_BTN_KEY, AdditionalServiceChargeBtn, "追加貼士", R.color.additional_service_charge_btn_color, R.drawable.ic_additional_service_charge)
}
private fun getBtn(key: String, btnCode: Int, btnContent: String, btnColor: Int, btnImg: Int): BtnBean? {
......
......@@ -502,7 +502,9 @@
<!-- 打印訂單按鈕背景色-->
<color name="other_order_details_print_btn_color">#FFA827</color>
<!-- 取消物流按鈕背景色-->
<color name="other_order_details_cancel_logistics_btn_color">#E74E40</color>
<color name="other_order_details_cancel_logistics_btn_color">#009688</color>
<!-- 追加服務費-->
<color name="additional_service_charge_btn_color">#EC6100</color>
<!-- 骨架屏加載時的顏色-->
<color name="skeleton_color">@color/color_f4</color>
......
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "config.gradle"
buildscript {
ext.kotlin_version = '1.3.41'
ext.kotlin_version = '1.3.50'
repositories {
google()
......
......@@ -280,6 +280,9 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
@Override
public void setRestaurantState(int state) {
if(stateBg == null){
stateBg = new GradientDrawable();
}
switch (state) {
case 0:
tvRestaurantState.setText("休息中");
......@@ -288,7 +291,6 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
case 1:
tvRestaurantState.setText("營業中");
stateBg.setColor(ContextCompat.getColor(this, R.color.restaurant_color_open));
break;
case 2:
tvRestaurantState.setText("繁忙不接");
......
......@@ -221,6 +221,6 @@
android:layout_marginLeft="@dimen/dp_5"
android:layout_weight="1"
android:background="@color/theme_color"
android:text="PICK UP" />
android:text="物流取件" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
package com.gingersoft.coldchain_module;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}
\ No newline at end of file
......@@ -7,6 +7,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.delivery_pick_mode.data.network.ServiceCreator;
import com.gingersoft.gsa.delivery_pick_mode.ui.activity.DeliveryOrderMainActivity;
import com.gingersoft.gsa.delivery_pick_mode.ui.activity.HistoryOrderActivity;
......@@ -55,6 +56,9 @@ public class DeliveryPickComponent implements IComponent {
CCUtil.navigateTo(cc, HistoryOrderActivity.class);
CC.sendCCResult(cc.getCallId(), CCResult.success());
break;
case "initAddress":
ServiceCreator.INSTANCE.init();
break;
default:
// cc.callAsync(new IComponentCallback() {
// @Override
......
......@@ -27,52 +27,65 @@ object ServiceCreator {
.addInterceptor(LoggingInterceptor())
.addInterceptor(UserAgentIntercepter())
var ROOT_URL: String = HttpsConstans.ROOT_URL
var CLOUD_BASE_URL: String = HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL
private var BASE_URL = "$ROOT_URL/ricepon-wechat/api/"
private var BASE_URL2 = "$ROOT_URL/member-web/api/"
private var BASE_URL3 = "$ROOT_URL/member-web/ricepon-gsa/api/"
private var BASE_URL4 = "$ROOT_URL/ricepon-order/api/"
private var BASE_SYSTEM = "$ROOT_URL/ricepon-system/api/"
private var URL_ACTIVITIES = "$ROOT_URL/ricepon-activities/api/"
private val builder = Retrofit.Builder()
.baseUrl(BASE_URL)
private lateinit var builder: Retrofit.Builder
private lateinit var builder2: Retrofit.Builder
private lateinit var builder3: Retrofit.Builder
private lateinit var builder4: Retrofit.Builder
private lateinit var builder5: Retrofit.Builder
private lateinit var builderSystem: Retrofit.Builder
private lateinit var builderActivities: Retrofit.Builder
private lateinit var builderGSA: Retrofit.Builder
private lateinit var builderRootGSA: Retrofit.Builder
init {
init()
}
fun init() {
builder = Retrofit.Builder()
.baseUrl(HttpsConstans.ricepon_wechat)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
private val builder2 = Retrofit.Builder()
.baseUrl(BASE_URL2)
builder2 = Retrofit.Builder()
.baseUrl(HttpsConstans.member_web)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
private val builder3 = Retrofit.Builder()
.baseUrl(BASE_URL3)
builder3 = Retrofit.Builder()
.baseUrl(HttpsConstans.member_web_ricepon_gsa)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
private val builder4 = Retrofit.Builder()
.baseUrl(CLOUD_BASE_URL)
builder4 = Retrofit.Builder()
.baseUrl(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
private val builder5 = Retrofit.Builder()
.baseUrl(BASE_URL4)
builder5 = Retrofit.Builder()
.baseUrl(HttpsConstans.ricepon_order)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
private val builderSystem = Retrofit.Builder()
.baseUrl(BASE_SYSTEM)
builderSystem = Retrofit.Builder()
.baseUrl(HttpsConstans.SYSTEM_URL)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
builderActivities = Retrofit.Builder()
.baseUrl(HttpsConstans.ricepon_activities)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
builderGSA = Retrofit.Builder().baseUrl(ROOT_SERVER + URK_RICEPON_GSA)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
builderRootGSA = Retrofit.Builder().baseUrl(HttpsConstans.ricepon_gsa)
.client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
}
fun <T> create(serviceClass: Class<T>): T = builder.build().create(serviceClass)
......@@ -86,17 +99,11 @@ object ServiceCreator {
fun <T> createSystem(serviceClass: Class<T>): T = builderSystem.build().create(serviceClass)
fun <T> createActivities(service: Class<T>): T = Retrofit.Builder().baseUrl(URL_ACTIVITIES).client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create()).build().create(service)
fun <T> createActivities(service: Class<T>): T = builderActivities.build().create(service)
fun <T> createGSA(service: Class<T>): T = Retrofit.Builder().baseUrl(ROOT_SERVER + URK_RICEPON_GSA).client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create()).build().create(service)
fun <T> createGSA(service: Class<T>): T = builderGSA.build().create(service)
fun <T> createRootGSA(service: Class<T>): T = Retrofit.Builder().baseUrl(ROOT_URL + URK_RICEPON_GSA).client(httpClient.build())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create()).build().create(service)
fun <T> createRootGSA(service: Class<T>): T = builderRootGSA.build().create(service)
/**
* 添加请求头
......
......@@ -73,6 +73,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
//接單超時時間
var timeOut = 0
var selectPosition = 0//當前選中的頁面頁卡
var appointmentType = MutableLiveData(0) //0為即時單,1為預約單
var instantOrderNum = MutableLiveData(0) //即時單單數
var bookingOrderNum = MutableLiveData(0) //預約單單數
......
......@@ -21,12 +21,10 @@ import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.cloud.base.widget.DialogUtils
import com.gingersoft.gsa.cloud.constans.AppConstans
import com.gingersoft.gsa.cloud.constans.ExpandConstant
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.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
......@@ -68,7 +66,6 @@ class DeliveryOrderMainActivity : BaseActivity() {
private var titles: ArrayList<TextView> = ArrayList()
private var layoutHeight: Float = 0F
private var btnHeight: Float = 0F
public var selectPosition = 0
lateinit var mReceiver: ClearHeartBroadcastReceiver
......@@ -154,6 +151,10 @@ class DeliveryOrderMainActivity : BaseActivity() {
}
private fun initViewPager() {
// val fragments = ArrayList<Fragment>()
// for(i in ints){
// fragments.add(PlaceholderFragment.newInstance(i))
// }
val sectionsPagerAdapter = SectionsPagerAdapter(this, supportFragmentManager, ints)
view_pager.adapter = sectionsPagerAdapter
view_pager.offscreenPageLimit = 1
......@@ -167,7 +168,7 @@ class DeliveryOrderMainActivity : BaseActivity() {
}
override fun onPageSelected(position: Int) {
selectPosition = position
pageViewModel.selectPosition = position
if (position != 0 && position != 1) {
layout_order_type.visibility = View.GONE
} else {
......@@ -181,10 +182,10 @@ class DeliveryOrderMainActivity : BaseActivity() {
override fun onStart() {
super.onStart()
if (ServiceCreator.ROOT_URL == HttpsConstans.ROOT_HK_TEST_URL) {
//測試
qm_other_order_bar.setTitle("(Beta) " + GsaCloudApplication.getRestaurantName(this))
}
// if (ServiceCreator.ROOT_URL == HttpsConstans.ROOT_HK_TEST_URL) {
// //測試
// qm_other_order_bar.setTitle("(Beta) " + GsaCloudApplication.getRestaurantName(this))
// }
pageViewModel.getBanlance(GsaCloudApplication.getBrandId(this@DeliveryOrderMainActivity))
}
......@@ -404,7 +405,7 @@ class DeliveryOrderMainActivity : BaseActivity() {
//-1斷開連接,\n-2:消息傳輸錯誤,\n0:連接消息,\n1:登錄通知,\n2:登出通知,\n3:外賣送單通知,\n4:自取送單通知,\n5:歷史訂單通知,\n6:修改訂單狀態通知,\n7:支付成功通知"
if (type == 3 || type == 4 || type == 5
|| type == 6 || type == 7 || type == 0) {
pageViewModel.refreshState.postValue(selectPosition)
pageViewModel.refreshState.postValue(pageViewModel.selectPosition)
}
//刷新餘額
pageViewModel.getBanlance(GsaCloudApplication.getBrandId(this@DeliveryOrderMainActivity))
......@@ -475,6 +476,7 @@ class DeliveryOrderMainActivity : BaseActivity() {
private var pop: QMUIPopup? = null
lateinit var ivDisconnectView: QMUIAlphaImageButton
/**
* 初始化標題欄
*/
......@@ -521,10 +523,6 @@ class DeliveryOrderMainActivity : BaseActivity() {
pop!!.show(it)
}
}
// qm_other_order_bar.addRightImageButton(R.drawable.ic_history_order, R.id.iv_history).setOnClickListener {
// //歷史訂單
// startActivity(Intent(this, HistoryOrderActivity::class.java))
// }
ivDisconnectView = qm_other_order_bar.addRightImageButton(R.drawable.ic_heart_disconnect, R.id.topbar_heart_disconnect)
ivDisconnectView.visibility = View.INVISIBLE
qm_other_order_bar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color))
......
......@@ -28,6 +28,7 @@ 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.delivery_pick_mode.R
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.MessageBean
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
......@@ -336,11 +337,16 @@ class OrderDetailsActivity : BaseActivity() {
}
}
BtnBuilder.SureBtn -> {
if (isBookingOrder) {
//是預約單,其他都不做改變,只修改狀態為8
updateOrderAndPrint(restaurantId, orderDetails, 8, false, listener)
} else {
//確認訂單,判斷是本店還是zeek或是lalamove
if (orderDetails.order_type == 7) {
//如果是自取單,將物流類型改為本店
orderDetails.companyType = 0
}
when (orderDetails.companyType) {
0, 1 -> {
//本店配送和zeek
......@@ -355,6 +361,7 @@ class OrderDetailsActivity : BaseActivity() {
else -> ToastUtils.show(this@OrderDetailsActivity, "未知的物流類型")
}
}
}
BtnBuilder.PrintBtn -> {
//打印
printOrder(PrintCode, orderDetails) {}
......@@ -454,7 +461,6 @@ class OrderDetailsActivity : BaseActivity() {
private fun additionalServiceCharge(amount: Int) {
showLoading()
pageViewModel.additionalServiceCharge(GsaCloudApplication.getMemberId(this@OrderDetailsActivity).toString(), orderId, amount)
}
private fun PageViewModel.selectLalaMove(orderDetails: OrderDetails.DataBean, isPrint: Boolean, black: (it: List<TransportationBean.DataX.Transportation>, orderDetails: OrderDetails.DataBean) -> Unit) {
......@@ -534,17 +540,11 @@ class OrderDetailsActivity : BaseActivity() {
}
}
private fun PageViewModel.confirmOrder(orderDetails: OrderDetails.DataBean, trafficType: String = "", isPrint: Boolean = true) {
showLoading()
var status = 2
if (isBookingOrder) {
status = 8
}
confirmOrder(orderDetails, status, trafficType, restaurantId, if (isBookingOrder) false else isPrint) { msg ->
var listener: (msg: MessageBean) -> Unit
get() = { msg ->
cancelDialogForLoading()
val intent = Intent()
intent.putExtra("deliveryAmount", orderDetails.deliveryAmount)
// intent.putExtra("deliveryAmount", orderDetails.deliveryAmount)
setResult(1001, intent)
when (msg.code) {
Transportation.toString() -> {//修改運輸工具
......@@ -580,6 +580,12 @@ class OrderDetailsActivity : BaseActivity() {
}
}
}
set(value) = TODO()
private fun PageViewModel.confirmOrder(orderDetails: OrderDetails.DataBean, trafficType: String = "", isPrint: Boolean = true) {
showLoading()
var status = 2
confirmOrder(orderDetails, status, trafficType, restaurantId, if (isBookingOrder) false else isPrint, listener)
}
/**
......
......@@ -17,7 +17,6 @@ object InjectorUtil {
private fun getWeatherRepository() = WeatherRepository.getInstance(CoolWeatherNetwork.getInstance())
fun getHistoryModelFactory() = HistoryOrderModelFactory(getHistoryRepository())
private fun getHistoryRepository() = HistoryOrderRepository.getInstance(CoolWeatherNetwork.getInstance())
......
package com.gingersoft.gsa.delivery_pick_mode.util
import com.gingersoft.gsa.delivery_pick_mode.data.model.bean.MessageBean
interface UpdateOrderStateListener {
fun onMessage(msg: MessageBean)
}
\ No newline at end of file
......@@ -556,15 +556,15 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
@Override
public void loginOut() {
//关闭Prj打印服務
CC.obtainBuilder("Component.Print")
.setActionName("stopPrintService")
.build()
.call();
//跳轉登陸頁面
CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA")
.build()
.call();
// CC.obtainBuilder("Component.Print")
// .setActionName("stopPrintService")
// .build()
// .call();
// //跳轉登陸頁面
// CC.obtainBuilder("User.Component.Login")
// .setActionName("showActivityA")
// .build()
// .call();
GsaCloudApplication.logOut();
finish();
}
......
......@@ -2,7 +2,6 @@ package com.joe.print.mvp.print;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Build;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -29,7 +28,6 @@ import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils;
import com.gingersoft.gsa.cloud.base.widget.NoScrollRecyclerView;
import com.joe.print.R;
import java.math.BigDecimal;
......@@ -431,13 +429,4 @@ public class PrintUtils {
return ImageUtils.zoomDrawable(LayoutToBitmapUtils.loadBitmapFromView(view), paperWidth);//将view轉bitmap
}
/**
* 當前設備是不是打印設備
*
* @return
*/
public static boolean isPrintDevice() {
return GsaCloudApplication.mV2.contains(Build.MODEL) || GsaCloudApplication.mN5.contains(Build.MODEL);
}
}
......@@ -10,6 +10,7 @@ import android.os.IBinder;
import android.os.RemoteException;
import android.text.TextUtils;
import android.util.Log;
import android.util.Xml;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
......@@ -34,11 +35,13 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils;
import com.gingersoft.gsa.cloud.base.utils.view.QRCodeUtil;
import com.gingersoft.gsa.cloud.bean.WiseposBean;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
......@@ -60,6 +63,10 @@ import com.joe.print.mvp.print.usb.UsbPrinterFinder;
import com.joe.print.mvp.ui.adapter.BillItemAdapter;
import com.sunmi.peripheral.printer.InnerResultCallbcak;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
......@@ -67,6 +74,9 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedListener, PrintExecutor.OnPrintResultListener, ReceiveListener {
......@@ -174,11 +184,72 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
public void locationPrint(List<Bitmap> bitmaps, PrintListener listener) {
//本機打印
String model = Build.MODEL;
if (GsaCloudApplication.mV2.contains(model)) {
if (PrintConstans.PRINT_MODEL_V2.contains(model)) {
sunmiPrint(bitmaps, listener);
} else if (GsaCloudApplication.mN5.contains(model)) {
} else if (PrintConstans.PRINT_MODEL_N5.contains(model)) {
//N5打印
n5Print(bitmaps, listener);
} else if (PrintConstans.PRINT_MODEL_WISEPOS.contains(model)) {
//BBPOS Wisepos 打印 localhost 192.168.1.162
OkHttp3Utils.get("http://localhost:8080/pos?transactionType=PRINT&isExternal=true&apiVersion=21&printData=<html><body><H2>測試打印結果</H2></body></html>").subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
XmlPullParser xmlPullParser = Xml.newPullParser();
WiseposBean wiseposBean = new WiseposBean();
try {
xmlPullParser.setInput(new ByteArrayInputStream(s.getBytes()), "utf-8");
int eventType = xmlPullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
//開始解析
break;
case XmlPullParser.START_TAG:
//解析到某一個節點
String xmlName = xmlPullParser.getName();
switch (xmlName) {
case "status":
wiseposBean.setState(xmlPullParser.nextText());
Log.e("eee", "打印結果" + wiseposBean.getState());
if(wiseposBean.getState().equals("SUCCESS")){
listener.printSuccess();
} else {
listener.printFile("打印失敗");
}
break;
case "requestType":
wiseposBean.setRequestType(xmlPullParser.nextText());
break;
}
break;
case XmlPullParser.END_TAG:
//這個節點解析完成
break;
}
eventType = xmlPullParser.next();
}
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
} else {
listener.printFile("暫不支持本機型打印");
}
......@@ -591,7 +662,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
tvMemberPhone.setText("會員電話:" + getReplaceAfter(data.getPHONE()));
}
ll_member_info.setVisibility(View.VISIBLE);
}else {
} else {
ll_member_info.setVisibility(View.GONE);
}
//生成積分QRCode碼(飯糰APP掃碼獲得積分)
......
......@@ -22,6 +22,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.PrinterDeviceDaoUtils;
......@@ -141,6 +142,9 @@ public class PrjService extends Service implements ReceiveListener {
private void startGetPrjInfo() {
cancel(wakeDisposable);
cancel(disposable);
if(!GsaCloudApplication.isLogin){
return;
}
Observable.interval(10, 30, TimeUnit.SECONDS)
.subscribe(new Observer<Long>() {
......@@ -552,9 +556,9 @@ public class PrjService extends Service implements ReceiveListener {
*/
public void locationPrint(List<Map<String, Bitmap>> bitmapMaps) {
String model = Build.MODEL;
if (GsaCloudApplication.mV2.contains(model)) {
if (PrintConstans.PRINT_MODEL_V2.contains(model)) {
sunmiPrint(bitmapMaps);
} else if (GsaCloudApplication.mN5.contains(model)) {
} else if (PrintConstans.PRINT_MODEL_N5.contains(model)) {
//N5打印
n5Print(bitmapMaps);
} else {
......
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