From 3a154bdb0a5aaa2c0ac3eac95a6ba747068bd454 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 13 一月 2026 10:00:37 +0800
Subject: [PATCH] 优化
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java | 98 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 98 insertions(+), 0 deletions(-)
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java
new file mode 100644
index 0000000..8d3870d
--- /dev/null
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java
@@ -0,0 +1,98 @@
+package com.doumee.keyCabinet.dao;
+
+import androidx.room.Dao;
+import androidx.room.Delete;
+import androidx.room.Insert;
+import androidx.room.Query;
+import androidx.room.Transaction;
+import androidx.room.Update;
+
+import java.util.List;
+/**"SELECT user.id, user.name, user.departmentId," +
+ "department.name AS departmentName FROM user " +
+ "INNER JOIN department ON user.departmentId = department.id"*/
+
+/**
+ * 涓�瀵逛竴
+ * @Entity
+ public class User {
+ @PrimaryKey public long userId;
+ public String name;
+ public int age;
+ }
+
+ @Entity
+ public class Library {
+ @PrimaryKey public long libraryId;
+ public long userOwnerId;
+ }
+ */
+@Dao
+public interface CabinetGridDao {
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid")
+ List<CabinetGridDo> loadAll();
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE id = :id")
+ CabinetGridDo getGridBuyId(int id);
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE grid_key = :key")
+ CabinetGridDo getGridByKey(String key);
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE grid_key IN (:keys)")
+ List<CabinetGridDo> getGridByKeys(List<String> keys);
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE id = :id")
+ List<CabinetGridDo> getGridsById(int id);
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE id IN (:ids)")
+ List<CabinetGridDo> getGridsByIds(int... ids);
+
+/*
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE cabinet_name = :name LIMIT 1")
+ List<CabinetGridDo> getStudentByName(String name);
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE cabinet_name LIKE '%' || :name || '%'")
+ List<CabinetGridDo> searchStudentByName(String name);
+*/
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE is_open = :isOpen")
+ List<CabinetGridDo> getGridByOpenStatus(int isOpen);
+
+ @Transaction
+ @Query("SELECT * FROM cabinet_grid WHERE is_open = 1 and working_status = 0 and grid_status = 0 and key_status !=3 order by grid_key asc")
+ List<CabinetGridDo> getOpenGrids();
+
+ @Transaction
+ @Query("SELECT count(*) FROM cabinet_grid WHERE is_open = 1")
+ int getOpenGridCount();
+
+ @Transaction
+ @Insert
+ void insert(CabinetGridDo data);
+
+ @Transaction
+ @Insert
+ void insertAll(CabinetGridDo... datas);
+
+ @Transaction
+ @Insert
+ void insert(List<CabinetGridDo> studentLists);
+
+ @Transaction
+ @Update
+ void update(CabinetGridDo... datas);
+
+ @Transaction
+ @Delete
+ void delete(CabinetGridDo... datas);
+}
--
Gitblit v1.9.3