From 3d338c26286f2374d2b3a783f1d6ec1ab408d472 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Thu, 8 May 2025 17:14:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=BB=E7=BA=BF=E8=AE=A2=E5=8D=95=E3=80=81?= =?UTF-8?q?=E9=80=80=E5=8D=95=E7=AD=89=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/order/MachineSaleActivity.java | 3 ++- .../canteen/adapter/order/OrderAdapter.java | 18 +++++++++++++++--- .../db/dao/base/OfflineOrderInfoDao.java | 2 +- .../db/entity/base/OfflineOrderInfo.java | 2 +- .../service/upload/UpLoadDataService.java | 4 ++-- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/bonus/canteen/activity/order/MachineSaleActivity.java b/app/src/main/java/com/bonus/canteen/activity/order/MachineSaleActivity.java index 77c221c..7830740 100644 --- a/app/src/main/java/com/bonus/canteen/activity/order/MachineSaleActivity.java +++ b/app/src/main/java/com/bonus/canteen/activity/order/MachineSaleActivity.java @@ -173,7 +173,8 @@ public class MachineSaleActivity extends BaseActivity { list.clear(); list.addAll(filteredList); - orderAdapter.notifyDataSetChanged(); + orderAdapter = new OrderAdapter(MachineSaleActivity.this,list,orderDetailsAdapter,lstDetails); + listViewLeft.setAdapter(orderAdapter); }); }); // 关闭线程池 diff --git a/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java b/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java index 2a2ffce..8215470 100644 --- a/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java +++ b/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java @@ -4,6 +4,7 @@ import static com.xuexiang.xutil.XUtil.runOnUiThread; import android.annotation.SuppressLint; import android.content.Context; +import android.graphics.Color; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -111,9 +112,19 @@ public class OrderAdapter extends BaseAdapter { holder.machineTotalAmount.setText(new BigDecimal(bean.getAmountDue()).divide(new BigDecimal(100)) + ""); holder.machineRealAmount.setText(new BigDecimal(bean.getAmountDue()).divide(new BigDecimal(100)) + ""); if ("1".equals(bean.getPayStatus())) { - holder.machineOrState.setText("成功"); + if ("1".equals(bean.getIsOnline())){ + holder.machineOrState.setText("【消费成功】"); + holder.machineOrState.setTextColor(Color.parseColor("#3CB371")); + }else if ("0".equals(bean.getIsOnline())){ + holder.machineOrState.setText("【未支付】"); + holder.machineOrState.setTextColor(Color.RED); + }else if ("2".equals(bean.getIsOnline())){ + holder.machineOrState.setText("【消费成功】"); + holder.machineOrState.setTextColor(Color.parseColor("#3CB371")); + } } else if ("4".equals(bean.getPayStatus())) { - holder.machineOrState.setText("已退单"); + holder.machineOrState.setText("【已退单】"); + holder.machineOrState.setTextColor(Color.GRAY); holder.machineRefund.setVisibility(View.GONE); } holder.machineRefund.setOnClickListener(v -> { @@ -142,7 +153,7 @@ public class OrderAdapter extends BaseAdapter { MachineSaleActivity activity = (MachineSaleActivity) context; activity.refreshData(); }); - } else { + }else { //调用后台退单接口 try { JSONObject json = new JSONObject(); @@ -181,6 +192,7 @@ public class OrderAdapter extends BaseAdapter { AppDatabase.getDatabase(context).businessDataDao().updateCurrent(money, "1", DateTimeHelper.getNowDate()); } AppDatabase.getDatabase(context).businessDataDao().updateToday(money, "1", DateTimeHelper.getNowDate()); + AppDatabase.getDatabase(context).businessDataDao().updateOffLine(money, "1", DateTimeHelper.getNowDate()); } runOnUiThread(() -> { Log.d("退单", "更新UI"); diff --git a/app/src/main/java/com/bonus/canteen/db/dao/base/OfflineOrderInfoDao.java b/app/src/main/java/com/bonus/canteen/db/dao/base/OfflineOrderInfoDao.java index e7261ed..7ec22bc 100644 --- a/app/src/main/java/com/bonus/canteen/db/dao/base/OfflineOrderInfoDao.java +++ b/app/src/main/java/com/bonus/canteen/db/dao/base/OfflineOrderInfoDao.java @@ -31,7 +31,7 @@ public interface OfflineOrderInfoDao { @Query("select * from offline_order_info where orderId=:orderId") OfflineOrderInfo getOfflineOrderById(String orderId); - @Query("select * from offline_order_info where isOnline = 0 and strftime('%Y-%m-%d', orderTime) = :data") + @Query("select * from offline_order_info where (isOnline = 0 or isOnline = 2) and strftime('%Y-%m-%d', orderTime) = :data") List getOfflineOrder(String data); @Query("select * from offline_order_info where isOnline = 0 and payStatus = 1") List getOfflineOrderAndToPush(); diff --git a/app/src/main/java/com/bonus/canteen/db/entity/base/OfflineOrderInfo.java b/app/src/main/java/com/bonus/canteen/db/entity/base/OfflineOrderInfo.java index 060ed36..38d6349 100644 --- a/app/src/main/java/com/bonus/canteen/db/entity/base/OfflineOrderInfo.java +++ b/app/src/main/java/com/bonus/canteen/db/entity/base/OfflineOrderInfo.java @@ -45,7 +45,7 @@ public class OfflineOrderInfo { @ColumnInfo private String payStatus; @ColumnInfo - private String isOnline; + private String isOnline; //0: 离线-已消费,未推送,1:在线消费成功 2:离线-推送成功 @ColumnInfo private String intervalId; diff --git a/app/src/main/java/com/bonus/canteen/service/upload/UpLoadDataService.java b/app/src/main/java/com/bonus/canteen/service/upload/UpLoadDataService.java index 9651c04..109e870 100644 --- a/app/src/main/java/com/bonus/canteen/service/upload/UpLoadDataService.java +++ b/app/src/main/java/com/bonus/canteen/service/upload/UpLoadDataService.java @@ -187,7 +187,7 @@ public class UpLoadDataService extends Service { JSONObject firstJson = JSONObject.parseObject(result); String code = firstJson.getString("code"); if (code.equals("200")) { - ThreadPoolManager.getExecutor().execute(() -> AppDatabase.getDatabase(this).offlineOrderDao().updateIsOnline("1", orderInfo.getOrderId())); + ThreadPoolManager.getExecutor().execute(() -> AppDatabase.getDatabase(this).offlineOrderDao().updateIsOnline("2", orderInfo.getOrderId())); } } @@ -237,7 +237,7 @@ public class UpLoadDataService extends Service { JSONObject firstJson = JSONObject.parseObject(result); String code = firstJson.getString("code"); if (code.equals("200")) { - ThreadPoolManager.getExecutor().execute(() -> AppDatabase.getDatabase(this).offlineOrderDao().updateIsOnline("1", orderInfo.getOrderId())); + ThreadPoolManager.getExecutor().execute(() -> AppDatabase.getDatabase(this).offlineOrderDao().updateIsOnline("2", orderInfo.getOrderId())); } else { runOnUiThread(() -> XToastUtils.error(firstJson.getString("msg"))); }