diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AccountService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AccountService.kt index 9afbc43..1bb3a0f 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AccountService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AccountService.kt @@ -10,9 +10,13 @@ import reactor.core.publisher.Mono interface AccountService : IService, ReactiveUserDetailsService { fun findAccountByNameOrEmail(text: String): Mono - fun askEmailVerifyCode(type: String, email: String, ip: String): Mono - fun registerEmailAccount(vo: EmailRegisterVO): Mono - fun resetEmailAccountPassword(vo: PasswordResetVO): Mono - fun invalidateJwt(headerToken: String?): Boolean - fun jwtTokenRelogin(headerToken: String?): Mono? + fun findAccountByName(username: String): Mono + fun findAccountByEmail(email: String): Mono + fun existAccountByName(username: String): Mono + fun existAccountByEmail(email: String): Mono + fun resetPasswordByEmail(email: String, encodedPassword: String): Mono + +// fun batchInsert(accounts: List): Mono +// fun replaceAll(accounts: List): Mono +// fun exportAll(): Mono> } \ No newline at end of file diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AttachmentService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AttachmentService.kt index c0249ec..0282736 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AttachmentService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/AttachmentService.kt @@ -2,5 +2,14 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Attachment +import reactor.core.publisher.Mono -interface AttachmentService : IService +interface AttachmentService : IService { + fun getAttachmentById(id: Long): Mono + fun listByRelated(relatedTable: String, relatedId: Long): Mono> + fun listByUploader(uploadedBy: Long): Mono> + fun createAttachment(attachment: Attachment): Mono + fun deleteAttachment(id: Long): Mono + fun deleteByRelated(relatedTable: String, relatedId: Long): Mono + fun exportAllAttachments(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/BorrowRecordService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/BorrowRecordService.kt index 0c48c56..2ff8617 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/BorrowRecordService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/BorrowRecordService.kt @@ -2,5 +2,16 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.BorrowRecord +import reactor.core.publisher.Mono -interface BorrowRecordService : IService +interface BorrowRecordService : IService { + fun getBorrowRecordById(id: Long): Mono + fun listByItem(itemId: Long): Mono> + fun listByBorrower(borrowerId: Long): Mono> + fun listByStatus(status: String): Mono> + fun listOverdueRecords(): Mono> + fun createBorrowRecord(record: BorrowRecord): Mono + fun updateBorrowRecord(record: BorrowRecord): Mono + fun deleteBorrowRecord(id: Long): Mono + fun exportAllBorrowRecords(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/CategoryService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/CategoryService.kt index 52e7421..7446342 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/CategoryService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/CategoryService.kt @@ -2,5 +2,14 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Category +import reactor.core.publisher.Mono -interface CategoryService : IService +interface CategoryService : IService { + fun getCategoryById(id: Long): Mono + fun listAllCategories(): Mono> + fun listByParentId(parentId: Long): Mono> + fun createCategory(category: Category): Mono + fun updateCategory(category: Category): Mono + fun deleteCategory(id: Long): Mono + fun exportAllCategories(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/DepartmentService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/DepartmentService.kt index e3eec2c..f8221d1 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/DepartmentService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/DepartmentService.kt @@ -2,5 +2,14 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Department +import reactor.core.publisher.Mono -interface DepartmentService : IService +interface DepartmentService : IService { + fun getDepartmentById(id: Long): Mono + fun listAllDepartments(): Mono> + fun listByParentId(parentId: Long): Mono> + fun createDepartment(department: Department): Mono + fun updateDepartment(department: Department): Mono + fun deleteDepartment(id: Long): Mono + fun exportAllDepartments(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EmailNoticeService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EmailNoticeService.kt index 056e44d..3e21afe 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EmailNoticeService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EmailNoticeService.kt @@ -2,5 +2,15 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.EmailNotice +import reactor.core.publisher.Mono -interface EmailNoticeService : IService +interface EmailNoticeService : IService { + fun getEmailNoticeById(id: Long): Mono + fun listAllNotices(): Mono> + fun listEnabledNotices(): Mono> + fun createEmailNotice(notice: EmailNotice): Mono + fun updateEmailNotice(notice: EmailNotice): Mono + fun deleteEmailNotice(id: Long): Mono + fun toggleEnabled(id: Long): Mono + fun exportAllEmailNotices(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EvaluationService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EvaluationService.kt index 54b0934..ac1bcb8 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EvaluationService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/EvaluationService.kt @@ -2,5 +2,16 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Evaluation +import reactor.core.publisher.Mono -interface EvaluationService : IService +interface EvaluationService : IService { + fun getEvaluationById(id: Long): Mono + fun listByEvaluator(evaluatorId: Long): Mono> + fun listByRelatedItem(itemId: Long): Mono> + fun listByScore(score: Short): Mono> + fun createEvaluation(evaluation: Evaluation): Mono + fun updateEvaluation(evaluation: Evaluation): Mono + fun deleteEvaluation(id: Long): Mono + fun deleteByEvaluator(evaluatorId: Long): Mono + fun exportAllEvaluations(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/FinanceRecordService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/FinanceRecordService.kt index d383e34..eca6510 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/FinanceRecordService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/FinanceRecordService.kt @@ -2,5 +2,16 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.FinanceRecord +import reactor.core.publisher.Mono -interface FinanceRecordService : IService +interface FinanceRecordService : IService { + fun getFinanceRecordById(id: Long): Mono + fun listByType(type: String): Mono> + fun listByDateRange(start: String, end: String): Mono> + fun listByVendor(vendor: String): Mono> + fun listByRelatedItem(itemId: Long): Mono> + fun createFinanceRecord(record: FinanceRecord): Mono + fun updateFinanceRecord(record: FinanceRecord): Mono + fun deleteFinanceRecord(id: Long): Mono + fun exportAllFinanceRecords(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemService.kt index 43b8863..448675c 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemService.kt @@ -1,6 +1,23 @@ package club.itstudio.itmanager.service +import com.baomidou.mybatisplus.extension.plugins.pagination.Page import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Item +import reactor.core.publisher.Mono -interface ItemService : IService +interface ItemService : IService { + fun pageItems(page: Page, keyword: String?, status: String?): Mono> + fun getItemById(id: Long): Mono + fun listAvailableItems(): Mono> + fun listInUseItems(): Mono> + fun listItemsByCategory(categoryId: Long): Mono> + fun createItem(item: Item): Mono + fun updateItem(item: Item): Mono + fun removeItemById(id: Long): Mono + fun setPrimaryImage(id: Long, imagePath: String): Mono + fun borrowItem(id: Long, quantity: Int): Mono + fun returnItem(id: Long, quantity: Int): Mono + fun batchInsertItems(items: List): Mono + fun replaceAllItems(items: List): Mono + fun exportAllItems(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemTransactionService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemTransactionService.kt index befd743..88d5404 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemTransactionService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/ItemTransactionService.kt @@ -2,5 +2,15 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.ItemTransaction +import reactor.core.publisher.Mono -interface ItemTransactionService : IService +interface ItemTransactionService : IService { + fun getTransactionById(id: Long): Mono + fun listByItem(itemId: Long): Mono> + fun listByType(transType: String): Mono> + fun listByOperator(operatorId: Long): Mono> + fun createTransaction(transaction: ItemTransaction): Mono + fun updateTransaction(transaction: ItemTransaction): Mono + fun deleteTransaction(id: Long): Mono + fun exportAllTransactions(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/MemoService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/MemoService.kt index e3f28b5..ab7003c 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/MemoService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/MemoService.kt @@ -2,5 +2,16 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Memo +import reactor.core.publisher.Mono -interface MemoService : IService +interface MemoService : IService { + fun getMemoById(id: Long): Mono + fun searchMemos(keyword: String?): Mono> + fun listByAuthor(authorId: Long): Mono> + fun listByRelatedItem(itemId: Long): Mono> + fun listPublicMemos(): Mono> + fun createMemo(memo: Memo): Mono + fun updateMemo(memo: Memo): Mono + fun deleteMemo(id: Long): Mono + fun exportAllMemos(): Mono> +} diff --git a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/PersonnelService.kt b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/PersonnelService.kt index becdf3b..fa3c44c 100644 --- a/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/PersonnelService.kt +++ b/src/beckend/src/main/kotlin/club/itstudio/itmanager/service/PersonnelService.kt @@ -2,5 +2,16 @@ package club.itstudio.itmanager.service import com.baomidou.mybatisplus.extension.service.IService import club.itstudio.itmanager.entity.dto.Personnel +import reactor.core.publisher.Mono -interface PersonnelService : IService +interface PersonnelService : IService { + fun getPersonnelById(id: Long): Mono + fun searchPersonnel(keyword: String?): Mono> + fun listByDepartment(departmentId: Long): Mono> + fun listByRole(role: String): Mono> + fun createPersonnel(personnel: Personnel): Mono + fun updatePersonnel(personnel: Personnel): Mono + fun deletePersonnel(id: Long): Mono + fun setActive(id: Long, active: Boolean): Mono + fun exportAllPersonnel(): Mono> +}