Commit ba4a36e5 by Wyh

7.04 登出接口

parent 10655e8b
package com.gingersoft.gsa.cloud.ui.bean.mode;
import java.util.List;
public class BrandsBean {
private boolean success;
private long sysTime;
private List<BrandsData> data;
public class BrandsData {
/**
* brandId : 242
* brandName : 莫拉塔
* restaurants : []
*/
private int brandId;
private String brandName;
private List<RestaurantsBean> restaurants;
public int getBrandId() {
return brandId;
}
public void setBrandId(int brandId) {
this.brandId = brandId;
}
public String getBrandName() {
return brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public List<RestaurantsBean> getRestaurants() {
return restaurants;
}
public void setRestaurants(List<RestaurantsBean> restaurants) {
this.restaurants = restaurants;
}
public class RestaurantsBean {
private int restaurantId;
private String restaurantName;
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;
}
@Override
public String toString() {
return "RestaurantsBean{" +
"restaurantId=" + restaurantId +
", restaurantName='" + restaurantName + '\'' +
'}';
}
}
@Override
public String toString() {
return "BrandsBean{" +
"brandId=" + brandId +
", brandName='" + brandName + '\'' +
", restaurants=" + restaurants +
'}';
}
}
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<BrandsData> getData() {
return data;
}
public void setData(List<BrandsData> data) {
this.data = data;
}
}
......@@ -24,11 +24,6 @@ public interface LoginService {
@POST("public/user/login" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<LoginBean> login(@Body RequestBody requestBody);
@Headers({"Domain-Name: system_url"})
@POST("user/logout" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<Object> loginOut(@Body RequestBody requestBody);
@GET("user/brand/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BrandsBean> getRestaurantList();
......
......@@ -14,7 +14,8 @@ import retrofit2.http.POST;
*/
public interface MainService {
@POST("gsa/logout" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
@Headers({"Domain-Name: system_url"})
@POST("user/logout" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<Object> loginOut(@Body RequestBody requestBody);
@Headers({"Domain-Name: update_version"})
......
......@@ -44,89 +44,89 @@ public class PrintOtherOrder extends PrinterRoot {
//再將食品數據根據打印位置分組。
//打印一組之後,關閉連接,切換第二台打印機ip,如此循環
//打印完成之後,返回所有打印結果。
Map<String, List<OrderDetails.DataBean.PRODUCTNAMEBean>> foodMaps = new HashMap<>();
String emptyPrintLocation = "";//部分食品沒有打印位置時設置為此key,比如這是第一個食品,沒有打印位置時
int lastEmptyPrintLocationIndex = 0;//上一次遍歷到第一個食品時都沒有打印位置時,開始的食品位置
//獲取這個訂單的一級食品
if (dataBean.getPRODUCT_NAME() != null) {
for (int i = 0; i < dataBean.getPRODUCT_NAME().size(); i++) {
OrderDetails.DataBean.PRODUCTNAMEBean food = dataBean.getPRODUCT_NAME().get(i);
if (TextUtil.isEmptyOrNullOrUndefined(food.getPrintseting())) {
//如果沒有打印位置,向上尋找
if (i == 0) {
food.setPrintseting(emptyPrintLocation);
addToMap(foodMaps, food);
} else {
for (int j = i - 1; j >= lastEmptyPrintLocationIndex; j--) {
//一直遍歷,直到找到有打印位置的食品
// 如果所有食品都沒有打印位置的情況,為了避免多次遍歷
// 如果本次遍歷到第一個食品,都沒有打印位置,記錄下這一次開始遍歷的下標,下一次遍歷到這個位置就停止
if (!TextUtil.isEmptyOrNullOrUndefined(dataBean.getPRODUCT_NAME().get(j).getPrintseting())) {
//一直遍歷,直到找到有打印位置的食品
//判斷是否帶*號
if (Objects.requireNonNull(dataBean.getPRODUCT_NAME().get(j).getPrintseting()).contains("*")) {
//帶*號,則需要取得通過下標加去掉*號的標識來取得map中的集合,將i食品裝進去,這樣就能打印在一張紙上
//如果沒取得集合,則通過打印位置去map取得集合,將j食品從map中移除,將這個j食品的和i食品裝一起
// 生成新的key。為當前下標+"標識符"+去掉*的打印位置,不帶*的key取得的食品集合才能打印在一張紙上。
String newKey = j + DELIMITER + dataBean.getPRODUCT_NAME().get(j).getPrintseting().replaceAll("\\*", "");
//通過newKey取得map中的集合
List<OrderDetails.DataBean.PRODUCTNAMEBean> newKeyfoods = foodMaps.get(newKey);
if (newKeyfoods != null) {
newKeyfoods.add(food);
} else {
List<OrderDetails.DataBean.PRODUCTNAMEBean> printsetingFoods = foodMaps.get(dataBean.getPRODUCT_NAME().get(j).getPrintseting());
if (printsetingFoods != null) {//理論上不會為空
printsetingFoods.remove(printsetingFoods.lastIndexOf(dataBean.getPRODUCT_NAME().get(j)));
//移除掉之後,put到newkey中
List<OrderDetails.DataBean.PRODUCTNAMEBean> newFoods = new ArrayList<>();
newFoods.add(dataBean.getPRODUCT_NAME().get(j));
newFoods.add(food);
foodMaps.put(newKey, newFoods);
}
}
break;
} else {
//沒有*號,不需要做多餘的操作
food.setPrintseting(dataBean.getPRODUCT_NAME().get(j).getPrintseting());
addToMap(foodMaps, food);
}
} else if (j == lastEmptyPrintLocationIndex) {
//從i到0的打印位置都沒有,記錄下i,下次只遍歷到i就停下來
lastEmptyPrintLocationIndex = i;
//如果找到最初的那個食品,也沒有打印位置,設置打印位置為"null"
food.setPrintseting(emptyPrintLocation);
addToMap(foodMaps, food);
}
}
}
} else {
//有打印位置,
//已經保存過這個位置的,
addToMap(foodMaps, food);
}
}
}
//通過打印位置生成多張用於打印的bitmap
for (Map.Entry<String, List<OrderDetails.DataBean.PRODUCTNAMEBean>> entry : foodMaps.entrySet()) {
String key = entry.getKey();
List<Bitmap> bitmaps = new ArrayList<>();
if (key.contains("*")) {
//如果帶*號,這個集合就需要切紙,每個食品都需要單獨在一張廚房單上
for (OrderDetails.DataBean.PRODUCTNAMEBean orderDetail : entry.getValue()) {
List<OrderDetails.DataBean.PRODUCTNAMEBean> orders = new ArrayList<>();//這裡new集合是因為下面的方法需要的參數是list集合
orders.add(orderDetail);
//獲取廚房單圖片
Bitmap bitmap = getOrderKitchenBitmap(mContext, orders, dataBean);
bitmaps.add(bitmap);
}
} else {
//獲取廚房單圖片
Bitmap bitmap = getOrderKitchenBitmap(mContext, entry.getValue(), dataBean);
//不帶*號,所有同樣廚房位置的食品都在一張紙上
bitmaps.add(bitmap);
}
bitmapMaps.put(key, bitmaps);
}
// Map<String, List<OrderDetails.DataBean.PRODUCTNAMEBean>> foodMaps = new HashMap<>();
// String emptyPrintLocation = "";//部分食品沒有打印位置時設置為此key,比如這是第一個食品,沒有打印位置時
// int lastEmptyPrintLocationIndex = 0;//上一次遍歷到第一個食品時都沒有打印位置時,開始的食品位置
// //獲取這個訂單的一級食品
// if (dataBean.getPRODUCT_NAME() != null) {
// for (int i = 0; i < dataBean.getPRODUCT_NAME().size(); i++) {
// OrderDetails.DataBean.PRODUCTNAMEBean food = dataBean.getPRODUCT_NAME().get(i);
// if (TextUtil.isEmptyOrNullOrUndefined(food.getPrintseting())) {
// //如果沒有打印位置,向上尋找
// if (i == 0) {
// food.setPrintseting(emptyPrintLocation);
// addToMap(foodMaps, food);
// } else {
// for (int j = i - 1; j >= lastEmptyPrintLocationIndex; j--) {
// //一直遍歷,直到找到有打印位置的食品
// // 如果所有食品都沒有打印位置的情況,為了避免多次遍歷
// // 如果本次遍歷到第一個食品,都沒有打印位置,記錄下這一次開始遍歷的下標,下一次遍歷到這個位置就停止
// if (!TextUtil.isEmptyOrNullOrUndefined(dataBean.getPRODUCT_NAME().get(j).getPrintseting())) {
// //一直遍歷,直到找到有打印位置的食品
// //判斷是否帶*號
// if (Objects.requireNonNull(dataBean.getPRODUCT_NAME().get(j).getPrintseting()).contains("*")) {
// //帶*號,則需要取得通過下標加去掉*號的標識來取得map中的集合,將i食品裝進去,這樣就能打印在一張紙上
// //如果沒取得集合,則通過打印位置去map取得集合,將j食品從map中移除,將這個j食品的和i食品裝一起
// // 生成新的key。為當前下標+"標識符"+去掉*的打印位置,不帶*的key取得的食品集合才能打印在一張紙上。
// String newKey = j + DELIMITER + dataBean.getPRODUCT_NAME().get(j).getPrintseting().replaceAll("\\*", "");
// //通過newKey取得map中的集合
// List<OrderDetails.DataBean.PRODUCTNAMEBean> newKeyfoods = foodMaps.get(newKey);
// if (newKeyfoods != null) {
// newKeyfoods.add(food);
// } else {
// List<OrderDetails.DataBean.PRODUCTNAMEBean> printsetingFoods = foodMaps.get(dataBean.getPRODUCT_NAME().get(j).getPrintseting());
// if (printsetingFoods != null) {//理論上不會為空
// printsetingFoods.remove(printsetingFoods.lastIndexOf(dataBean.getPRODUCT_NAME().get(j)));
// //移除掉之後,put到newkey中
// List<OrderDetails.DataBean.PRODUCTNAMEBean> newFoods = new ArrayList<>();
// newFoods.add(dataBean.getPRODUCT_NAME().get(j));
// newFoods.add(food);
// foodMaps.put(newKey, newFoods);
// }
// }
// break;
// } else {
// //沒有*號,不需要做多餘的操作
// food.setPrintseting(dataBean.getPRODUCT_NAME().get(j).getPrintseting());
// addToMap(foodMaps, food);
// }
// } else if (j == lastEmptyPrintLocationIndex) {
// //從i到0的打印位置都沒有,記錄下i,下次只遍歷到i就停下來
// lastEmptyPrintLocationIndex = i;
// //如果找到最初的那個食品,也沒有打印位置,設置打印位置為"null"
// food.setPrintseting(emptyPrintLocation);
// addToMap(foodMaps, food);
// }
// }
// }
// } else {
// //有打印位置,
// //已經保存過這個位置的,
// addToMap(foodMaps, food);
// }
// }
// }
// //通過打印位置生成多張用於打印的bitmap
// for (Map.Entry<String, List<OrderDetails.DataBean.PRODUCTNAMEBean>> entry : foodMaps.entrySet()) {
// String key = entry.getKey();
// List<Bitmap> bitmaps = new ArrayList<>();
// if (key.contains("*")) {
// //如果帶*號,這個集合就需要切紙,每個食品都需要單獨在一張廚房單上
// for (OrderDetails.DataBean.PRODUCTNAMEBean orderDetail : entry.getValue()) {
// List<OrderDetails.DataBean.PRODUCTNAMEBean> orders = new ArrayList<>();//這裡new集合是因為下面的方法需要的參數是list集合
// orders.add(orderDetail);
// //獲取廚房單圖片
// Bitmap bitmap = getOrderKitchenBitmap(mContext, orders, dataBean);
// bitmaps.add(bitmap);
// }
// } else {
// //獲取廚房單圖片
// Bitmap bitmap = getOrderKitchenBitmap(mContext, entry.getValue(), dataBean);
// //不帶*號,所有同樣廚房位置的食品都在一張紙上
// bitmaps.add(bitmap);
// }
// bitmapMaps.put(key, bitmaps);
// }
//如果需要打印印單,加上
List<Bitmap> bitmaps = new ArrayList<>();
Bitmap bitmap = initPrintView(mContext, dataBean);
......
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