新增智能体和房间规则管理功能
- 新增智能体(Agent)规则的增删改查(CRUD)和服务实现。 - 新增房间(Room)规则的增删改查(CRUD)和服务实现。 - 将 `PromptRule` 相关命名重构为 `AgentRule`,以提高代码清晰度。 - 将相关数据实体中表示总数的字段类型从 `Int` 修改为 `Long`。
This commit is contained in:
@@ -7,18 +7,13 @@ import com.aiosman.ravenow.data.Agent
|
||||
import com.aiosman.ravenow.data.ListContainer
|
||||
import com.aiosman.ravenow.data.AgentService
|
||||
import com.aiosman.ravenow.data.DataContainer
|
||||
import com.aiosman.ravenow.data.MomentService
|
||||
import com.aiosman.ravenow.data.ServiceException
|
||||
import com.aiosman.ravenow.data.UploadImage
|
||||
import com.aiosman.ravenow.data.UserService
|
||||
import com.aiosman.ravenow.data.api.ApiClient
|
||||
import okhttp3.MediaType
|
||||
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.RequestBody
|
||||
import okhttp3.RequestBody.Companion.asRequestBody
|
||||
import okhttp3.RequestBody.Companion.toRequestBody
|
||||
import retrofit2.http.Part
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
|
||||
@@ -160,7 +155,7 @@ class AgentBackend {
|
||||
return if (authorId != null) {
|
||||
// getAgent 返回 DataContainer<ListContainer<Agent>>
|
||||
val dataContainer =
|
||||
body as com.aiosman.ravenow.data.DataContainer<com.aiosman.ravenow.data.ListContainer<com.aiosman.ravenow.data.Agent>>
|
||||
body as DataContainer<ListContainer<Agent>>
|
||||
val listContainer = dataContainer.data
|
||||
ListContainer(
|
||||
total = listContainer.total,
|
||||
@@ -171,7 +166,7 @@ class AgentBackend {
|
||||
} else {
|
||||
// getMyAgent 返回 ListContainer<Agent>
|
||||
val listContainer =
|
||||
body as com.aiosman.ravenow.data.ListContainer<com.aiosman.ravenow.data.Agent>
|
||||
body as ListContainer<Agent>
|
||||
ListContainer(
|
||||
total = listContainer.total,
|
||||
page = pageNumber,
|
||||
@@ -251,7 +246,7 @@ class AgentLoader : DataLoader<AgentEntity, AgentLoaderExtraArgs>() {
|
||||
} else {
|
||||
// getMyAgent 返回 ListContainer<Agent>
|
||||
val listContainer =
|
||||
body as com.aiosman.ravenow.data.ListContainer<com.aiosman.ravenow.data.Agent>
|
||||
body as ListContainer<Agent>
|
||||
ListContainer(
|
||||
list = listContainer.list.map { it.toAgentEntity() },
|
||||
total = listContainer.total,
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.aiosman.ravenow.data.ListContainer
|
||||
abstract class DataLoader<T,ET> {
|
||||
var list: MutableList<T> = mutableListOf()
|
||||
var page by mutableStateOf(1)
|
||||
var total by mutableStateOf(0)
|
||||
var total by mutableStateOf(0L)
|
||||
var pageSize by mutableStateOf(10)
|
||||
var hasNext by mutableStateOf(true)
|
||||
var isLoading by mutableStateOf(false)
|
||||
|
||||
@@ -3,10 +3,6 @@ package com.aiosman.ravenow.entity
|
||||
import com.aiosman.ravenow.data.ListContainer
|
||||
import com.aiosman.ravenow.data.ServiceException
|
||||
import com.aiosman.ravenow.data.api.ApiClient
|
||||
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.RequestBody.Companion.asRequestBody
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
* 群聊房间
|
||||
@@ -56,6 +52,40 @@ data class ProfileEntity(
|
||||
val aiAccount: Boolean,
|
||||
)
|
||||
|
||||
/**
|
||||
* 房间规则创建者信息
|
||||
*/
|
||||
data class RoomRuleCreatorEntity(
|
||||
val id: Int,
|
||||
val nickname: String,
|
||||
val avatar: String
|
||||
)
|
||||
|
||||
/**
|
||||
* 房间规则详情
|
||||
*/
|
||||
data class RoomRuleEntity(
|
||||
val id: Int,
|
||||
val rule: String,
|
||||
val creator: RoomRuleCreatorEntity?,
|
||||
val creatorType: String,
|
||||
val roomId: Int,
|
||||
val createdAt: String,
|
||||
val updatedAt: String
|
||||
)
|
||||
|
||||
/**
|
||||
* 房间规则配额信息
|
||||
*/
|
||||
data class RoomRuleQuotaEntity(
|
||||
val baseMaxCount: Int,
|
||||
val purchasedCount: Int,
|
||||
val totalMaxCount: Int,
|
||||
val currentCount: Int,
|
||||
val remainingCount: Int,
|
||||
val usagePercent: Double
|
||||
)
|
||||
|
||||
class RoomLoader : DataLoader<AgentEntity,AgentLoaderExtraArgs>() {
|
||||
override suspend fun fetchData(
|
||||
page: Int,
|
||||
|
||||
Reference in New Issue
Block a user