You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.4 KiB
78 lines
2.4 KiB
package com.gyf.csams.main.model
|
|
|
|
import android.app.Application
|
|
import androidx.lifecycle.viewModelScope
|
|
import com.google.gson.reflect.TypeToken
|
|
import com.gyf.lib.model.ScrollViewModel
|
|
import com.gyf.lib.util.*
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
|
class AuditAssociationViewModel(application: Application) : ScrollViewModel<DisposeRegInfoVo>(
|
|
application
|
|
) {
|
|
override val initSize: Int = 10
|
|
|
|
init {
|
|
load { }
|
|
}
|
|
|
|
fun load(callback: (message: String) -> Unit) {
|
|
viewModelScope.launch {
|
|
HttpClient.post(
|
|
Api.buildUrl(AssociationApi.Audit), HttpCallback<MutableList<DisposeRegInfoVo>>(
|
|
action = "获取审核列表",
|
|
onSuccess = { it ->
|
|
it.body?.let {
|
|
_data.postValue(it)
|
|
}
|
|
},
|
|
typeToken = object :
|
|
TypeToken<ApiResponse<MutableList<DisposeRegInfoVo>>>() {}.type
|
|
),
|
|
jsonParam = OnlyToken(clientType = ClientType.Background)
|
|
)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* 受理注册资料
|
|
*
|
|
* @param callback
|
|
*/
|
|
fun accept(regId: Int, isFirstAccept: Boolean, callback: (message: String) -> Unit) {
|
|
viewModelScope.launch {
|
|
HttpClient.post(
|
|
Api.buildUrl(AssociationApi.Accept),
|
|
HttpCallback<Boolean>(action = "受理社团注册资料", onSuccess = {
|
|
callback(it.message)
|
|
}, typeToken = object : TypeToken<ApiResponse<Boolean>>() {}.type),
|
|
jsonParam = AcceptRegAssociation(regId = regId, isFirstAccept = isFirstAccept)
|
|
)
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 提交审核结果
|
|
*
|
|
* @param regId
|
|
* @param result
|
|
* @param callback
|
|
*/
|
|
fun check(regId: Int, cause: String, result: Boolean, callback: (message: String) -> Unit) {
|
|
viewModelScope.launch {
|
|
HttpClient.post(
|
|
Api.buildUrl(AssociationApi.Check),
|
|
HttpCallback<Boolean>(action = "提交审核结果", onSuccess = {
|
|
callback(it.message)
|
|
}, typeToken = object : TypeToken<ApiResponse<Boolean>>() {}.type),
|
|
jsonParam = CheckRegVo(
|
|
regId = regId, result = result,
|
|
cause = cause
|
|
)
|
|
)
|
|
}
|
|
}
|
|
} |