From 8dffa4ddc6bb7b33877b2e84103f556d5ca0ea3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Thu, 3 Apr 2025 16:52:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E4=B8=8Edao=E3=80=81=E5=AE=9E=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iflytop/profilometer/common/enums/SyncStatus.java | 5 +++++ .../com/iflytop/profilometer/common/enums/UsrRole.java | 5 +++++ .../profilometer/core/db/helper/MyDatabaseHelper.java | 3 ++- .../com/iflytop/profilometer/dao/ProfileRecordDao.java | 11 +++++++++++ .../java/com/iflytop/profilometer/dao/SyncTaskDao.java | 15 +++++++++++---- .../main/java/com/iflytop/profilometer/dao/UserDao.java | 5 +++-- .../com/iflytop/profilometer/model/entity/AppUser.java | 4 +--- .../model/entity/ProfileRecordDescription.java | 10 ++++++++++ .../com/iflytop/profilometer/model/entity/SyncTask.java | 7 ++++--- 9 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 app/src/main/java/com/iflytop/profilometer/common/enums/SyncStatus.java create mode 100644 app/src/main/java/com/iflytop/profilometer/common/enums/UsrRole.java diff --git a/app/src/main/java/com/iflytop/profilometer/common/enums/SyncStatus.java b/app/src/main/java/com/iflytop/profilometer/common/enums/SyncStatus.java new file mode 100644 index 0000000..b16268c --- /dev/null +++ b/app/src/main/java/com/iflytop/profilometer/common/enums/SyncStatus.java @@ -0,0 +1,5 @@ +package com.iflytop.profilometer.common.enums; + +public enum SyncStatus { + wait, finish, fail +} diff --git a/app/src/main/java/com/iflytop/profilometer/common/enums/UsrRole.java b/app/src/main/java/com/iflytop/profilometer/common/enums/UsrRole.java new file mode 100644 index 0000000..69e235c --- /dev/null +++ b/app/src/main/java/com/iflytop/profilometer/common/enums/UsrRole.java @@ -0,0 +1,5 @@ +package com.iflytop.profilometer.common.enums; + +public enum UsrRole { + User, Admin, Dev; +} \ No newline at end of file diff --git a/app/src/main/java/com/iflytop/profilometer/core/db/helper/MyDatabaseHelper.java b/app/src/main/java/com/iflytop/profilometer/core/db/helper/MyDatabaseHelper.java index 491ad27..f59746e 100644 --- a/app/src/main/java/com/iflytop/profilometer/core/db/helper/MyDatabaseHelper.java +++ b/app/src/main/java/com/iflytop/profilometer/core/db/helper/MyDatabaseHelper.java @@ -43,7 +43,8 @@ public class MyDatabaseHelper extends SQLiteOpenHelper { + "name TEXT NOT NULL, " + "line_name TEXT, " + "location TEXT, " - + "direction TEXT" + + "direction TEXT," + + "sync_status TEXT" + ");"; // 测量点集表建表语句 diff --git a/app/src/main/java/com/iflytop/profilometer/dao/ProfileRecordDao.java b/app/src/main/java/com/iflytop/profilometer/dao/ProfileRecordDao.java index 18ca985..392d0b6 100644 --- a/app/src/main/java/com/iflytop/profilometer/dao/ProfileRecordDao.java +++ b/app/src/main/java/com/iflytop/profilometer/dao/ProfileRecordDao.java @@ -6,6 +6,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; +import com.iflytop.profilometer.common.enums.SyncStatus; import com.iflytop.profilometer.core.db.helper.MyDatabaseHelper; import com.iflytop.profilometer.model.entity.ProfileRecordDescription; @@ -37,6 +38,7 @@ public class ProfileRecordDao { values.put("line_name", record.getLineName()); values.put("location", record.getLocation()); values.put("direction", record.getDirection()); + values.put("sync_status", record.getSyncStatus().name()); long id = db.insert(MyDatabaseHelper.TABLE_PROFILE_RECORD, null, values); db.close(); return id; @@ -55,6 +57,7 @@ public class ProfileRecordDao { values.put("line_name", record.getLineName()); values.put("location", record.getLocation()); values.put("direction", record.getDirection()); + values.put("sync_status", record.getSyncStatus().name()); int rows = db.update(MyDatabaseHelper.TABLE_PROFILE_RECORD, values, "id = ?", new String[]{String.valueOf(record.getId())}); db.close(); return rows; @@ -88,6 +91,10 @@ public class ProfileRecordDao { record.setDirection(cursor.getString(cursor.getColumnIndex("direction"))); record.setCreateTime(cursor.getString(cursor.getColumnIndex("create_time"))); record.setUpdateTime(cursor.getString(cursor.getColumnIndex("update_time"))); + String syncStatus = cursor.getString(cursor.getColumnIndex("sync_status")); + if (syncStatus != null) { + record.setSyncStatus(SyncStatus.valueOf(syncStatus)); + } records.add(record); } while (cursor.moveToNext()); cursor.close(); @@ -115,6 +122,10 @@ public class ProfileRecordDao { record.setDirection(cursor.getString(cursor.getColumnIndex("direction"))); record.setCreateTime(cursor.getString(cursor.getColumnIndex("create_time"))); record.setUpdateTime(cursor.getString(cursor.getColumnIndex("update_time"))); + String syncStatus = cursor.getString(cursor.getColumnIndex("sync_status")); + if (syncStatus != null) { + record.setSyncStatus(SyncStatus.valueOf(syncStatus)); + } cursor.close(); } db.close(); diff --git a/app/src/main/java/com/iflytop/profilometer/dao/SyncTaskDao.java b/app/src/main/java/com/iflytop/profilometer/dao/SyncTaskDao.java index 817421f..e6864c2 100644 --- a/app/src/main/java/com/iflytop/profilometer/dao/SyncTaskDao.java +++ b/app/src/main/java/com/iflytop/profilometer/dao/SyncTaskDao.java @@ -6,6 +6,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; +import com.iflytop.profilometer.common.enums.SyncStatus; import com.iflytop.profilometer.core.db.helper.MyDatabaseHelper; import com.iflytop.profilometer.model.entity.SyncTask; @@ -37,7 +38,7 @@ public class SyncTaskDao { values.put("line_name", task.getLineName()); values.put("location", task.getLocation()); values.put("direction", task.getDirection()); - values.put("sync_status", task.getSyncStatus()); + values.put("sync_status", task.getSyncStatus().name()); long id = db.insert(MyDatabaseHelper.TABLE_SYNC_TASK, null, values); db.close(); return id; @@ -56,7 +57,7 @@ public class SyncTaskDao { values.put("line_name", task.getLineName()); values.put("location", task.getLocation()); values.put("direction", task.getDirection()); - values.put("sync_status", task.getSyncStatus()); + values.put("sync_status", task.getSyncStatus().name()); int rows = db.update(MyDatabaseHelper.TABLE_SYNC_TASK, values, "id = ?", new String[]{String.valueOf(task.getId())}); db.close(); return rows; @@ -96,7 +97,10 @@ public class SyncTaskDao { task.setLineName(cursor.getString(cursor.getColumnIndex("line_name"))); task.setLocation(cursor.getString(cursor.getColumnIndex("location"))); task.setDirection(cursor.getString(cursor.getColumnIndex("direction"))); - task.setSyncStatus(cursor.getString(cursor.getColumnIndex("sync_status"))); + String syncStatus = cursor.getString(cursor.getColumnIndex("sync_status")); + if (syncStatus != null) { + task.setSyncStatus(SyncStatus.valueOf(syncStatus)); + } task.setCreateTime(cursor.getString(cursor.getColumnIndex("create_time"))); task.setUpdateTime(cursor.getString(cursor.getColumnIndex("update_time"))); list.add(task); @@ -124,7 +128,10 @@ public class SyncTaskDao { task.setLineName(cursor.getString(cursor.getColumnIndex("line_name"))); task.setLocation(cursor.getString(cursor.getColumnIndex("location"))); task.setDirection(cursor.getString(cursor.getColumnIndex("direction"))); - task.setSyncStatus(cursor.getString(cursor.getColumnIndex("sync_status"))); + String syncStatus = cursor.getString(cursor.getColumnIndex("sync_status")); + if (syncStatus != null) { + task.setSyncStatus(SyncStatus.valueOf(syncStatus)); + } task.setCreateTime(cursor.getString(cursor.getColumnIndex("create_time"))); task.setUpdateTime(cursor.getString(cursor.getColumnIndex("update_time"))); cursor.close(); diff --git a/app/src/main/java/com/iflytop/profilometer/dao/UserDao.java b/app/src/main/java/com/iflytop/profilometer/dao/UserDao.java index 5b99b4a..7d1edaa 100644 --- a/app/src/main/java/com/iflytop/profilometer/dao/UserDao.java +++ b/app/src/main/java/com/iflytop/profilometer/dao/UserDao.java @@ -6,6 +6,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; +import com.iflytop.profilometer.common.enums.UsrRole; import com.iflytop.profilometer.core.db.helper.MyDatabaseHelper; import com.iflytop.profilometer.model.entity.AppUser; @@ -78,7 +79,7 @@ public class UserDao { user.setPassword(cursor.getString(cursor.getColumnIndex("password"))); String roleStr = cursor.getString(cursor.getColumnIndex("usr_role")); if (roleStr != null) { - user.setUsrRole(AppUser.UsrRole.valueOf(roleStr)); + user.setUsrRole(UsrRole.valueOf(roleStr)); } user.setBuiltInUser(cursor.getInt(cursor.getColumnIndex("is_built_in_user")) == 1); // 如果需要,可解析 create_time 和 update_time @@ -108,7 +109,7 @@ public class UserDao { user.setPassword(cursor.getString(cursor.getColumnIndex("password"))); String roleStr = cursor.getString(cursor.getColumnIndex("usr_role")); if (roleStr != null) { - user.setUsrRole(AppUser.UsrRole.valueOf(roleStr)); + user.setUsrRole(UsrRole.valueOf(roleStr)); } user.setBuiltInUser(cursor.getInt(cursor.getColumnIndex("is_built_in_user")) == 1); cursor.close(); diff --git a/app/src/main/java/com/iflytop/profilometer/model/entity/AppUser.java b/app/src/main/java/com/iflytop/profilometer/model/entity/AppUser.java index 68bd892..9ebe8bc 100644 --- a/app/src/main/java/com/iflytop/profilometer/model/entity/AppUser.java +++ b/app/src/main/java/com/iflytop/profilometer/model/entity/AppUser.java @@ -1,11 +1,9 @@ package com.iflytop.profilometer.model.entity; import com.iflytop.profilometer.common.base.BaseEntity; +import com.iflytop.profilometer.common.enums.UsrRole; public class AppUser extends BaseEntity { - public enum UsrRole { - User, Admin, Dev; - } private String account; private String nickname; diff --git a/app/src/main/java/com/iflytop/profilometer/model/entity/ProfileRecordDescription.java b/app/src/main/java/com/iflytop/profilometer/model/entity/ProfileRecordDescription.java index 535a567..263d9a4 100644 --- a/app/src/main/java/com/iflytop/profilometer/model/entity/ProfileRecordDescription.java +++ b/app/src/main/java/com/iflytop/profilometer/model/entity/ProfileRecordDescription.java @@ -1,6 +1,7 @@ package com.iflytop.profilometer.model.entity; import com.iflytop.profilometer.common.base.BaseEntity; +import com.iflytop.profilometer.common.enums.SyncStatus; public class ProfileRecordDescription extends BaseEntity { @@ -12,6 +13,7 @@ public class ProfileRecordDescription extends BaseEntity { private String lineName; private String location; private String direction; + private SyncStatus syncStatus; // 同步状态字段 public String getUuid() { return uuid; @@ -76,4 +78,12 @@ public class ProfileRecordDescription extends BaseEntity { public void setDirection(String direction) { this.direction = direction; } + + public SyncStatus getSyncStatus() { + return syncStatus; + } + + public void setSyncStatus(SyncStatus syncStatus) { + this.syncStatus = syncStatus; + } } diff --git a/app/src/main/java/com/iflytop/profilometer/model/entity/SyncTask.java b/app/src/main/java/com/iflytop/profilometer/model/entity/SyncTask.java index 247c791..e410807 100644 --- a/app/src/main/java/com/iflytop/profilometer/model/entity/SyncTask.java +++ b/app/src/main/java/com/iflytop/profilometer/model/entity/SyncTask.java @@ -1,6 +1,7 @@ package com.iflytop.profilometer.model.entity; import com.iflytop.profilometer.common.base.BaseEntity; +import com.iflytop.profilometer.common.enums.SyncStatus; public class SyncTask extends BaseEntity { private String uuid; @@ -11,7 +12,7 @@ public class SyncTask extends BaseEntity { private String lineName; private String location; private String direction; - private String syncStatus; // 同步状态字段 + private SyncStatus syncStatus; // 同步状态字段 public String getUuid() { return uuid; @@ -61,10 +62,10 @@ public class SyncTask extends BaseEntity { public void setDirection(String direction) { this.direction = direction; } - public String getSyncStatus() { + public SyncStatus getSyncStatus() { return syncStatus; } - public void setSyncStatus(String syncStatus) { + public void setSyncStatus(SyncStatus syncStatus) { this.syncStatus = syncStatus; } }