1 关系任务 调整网络请求参数 Entity结构

This commit is contained in:
yitao_hello
2022-02-23 17:33:43 +08:00
parent 3754f78bcc
commit 52a191c73e
7 changed files with 109 additions and 67 deletions

View File

@@ -1,29 +0,0 @@
package com.yizhuan.erban.relation.cp;
import com.yizhuan.xchat_android_core.relation.cp.CpRelation;
public class CpDataManager {
private static final class Helper {
private static final CpDataManager INSTANCE = new CpDataManager();
}
public static CpDataManager get() {
return Helper.INSTANCE;
}
private CpRelation cpRelation;
public CpRelation getCpRelation() {
return cpRelation;
}
public void setCpRelation(CpRelation cpRelation) {
this.cpRelation = cpRelation;
}
public void clear() {
cpRelation = null;
}
}

View File

@@ -1,11 +1,7 @@
package com.yizhuan.erban.relation.cp.model
import com.yizhuan.xchat_android_core.bean.response.ServiceResult
import com.yizhuan.xchat_android_core.relation.cp.CpInvitePageEntity
import com.yizhuan.xchat_android_core.relation.cp.CpMpApplyListEntity
import com.yizhuan.xchat_android_core.relation.cp.UserCpLevelMpRootEntity
import com.yizhuan.xchat_android_core.relation.cp.UserCpListEntity
import com.yizhuan.xchat_android_core.relation.cp.CpRelation
import com.yizhuan.xchat_android_core.relation.cp.*
import retrofit2.http.*
interface Api {
@@ -97,4 +93,13 @@ interface Api {
*/
@GET("/user/couple/cpRelation")
suspend fun cpRelation(@Query("uid") uid: Long): ServiceResult<CpRelation>
/**
*用户CP任务进程
* @param cpTaskProcess 任务周期类型1-每日任务2-累计任务
*/
@GET("/user/couple/cpTaskProcess")
suspend fun cpTaskProcess(
@Query("uid ") uid: Long
): ServiceResult<CpTaskEntity>
}

View File

@@ -1,11 +1,7 @@
package com.yizhuan.erban.relation.cp.model
import com.yizhuan.xchat_android_core.base.BaseModel
import com.yizhuan.xchat_android_core.relation.cp.CpInvitePageEntity
import com.yizhuan.xchat_android_core.relation.cp.CpMpApplyListEntity
import com.yizhuan.xchat_android_core.relation.cp.UserCpLevelMpRootEntity
import com.yizhuan.xchat_android_core.relation.cp.UserCpListEntity
import com.yizhuan.xchat_android_core.relation.cp.CpRelation
import com.yizhuan.xchat_android_core.relation.cp.*
import com.yizhuan.xchat_android_core.utils.net.launchRequest
import com.yizhuan.xchat_android_library.net.rxnet.RxNet
@@ -61,4 +57,11 @@ object CpModel : BaseModel() {
launchRequest {
api.cpRelation(uid)
}
suspend fun cpTaskProcess(uid: Long): CpTaskEntity? =
launchRequest {
api.cpTaskProcess(uid)
}
}

View File

@@ -4,6 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.yizhuan.erban.base.BaseViewModel
import com.yizhuan.erban.relation.cp.event.BalanceEvent
import com.yizhuan.erban.relation.cp.event.CpBindUnbindEvent
import com.yizhuan.erban.relation.cp.model.CpModel
import com.yizhuan.xchat_android_core.relation.cp.*
import com.yizhuan.xchat_android_core.utils.net.BalanceNotEnoughExeption
@@ -36,6 +37,10 @@ class CpViewModel : BaseViewModel() {
private val _cpRelation: MutableLiveData<CpRelation> = MutableLiveData()
val cpRelation: LiveData<CpRelation> = _cpRelation
//任务进程
private val _cpTaskData: MutableLiveData<CpTaskEntity> = MutableLiveData()
val cpTaskData: LiveData<CpTaskEntity> = _cpTaskData
fun getCpInvitePageData(acceptUid: Long) {
_loadingLiveData.value = true
safeLaunch(
@@ -118,6 +123,10 @@ class CpViewModel : BaseViewModel() {
dealCpDataError.invoke(it)
}
},
onComplete = {
_loadingLiveData.value = false
"邀请已发送".toast()
},
block = {
CpModel.makeCpInvite(acceptUid, declaration, propsId)
_loadingLiveData.value = false
@@ -130,6 +139,10 @@ class CpViewModel : BaseViewModel() {
_loadingLiveData.value = true
safeLaunch(
onError = dealCpDataError,
onComplete = {
_loadingLiveData.value = false
EventBus.getDefault().post(CpBindUnbindEvent())
},
block = {
CpModel.revertUnboundCp()
_loadingLiveData.value = false
@@ -148,6 +161,30 @@ class CpViewModel : BaseViewModel() {
)
}
fun unBindCp() {
safeLaunch(
onError = dealCpDataError,
onComplete = {
_loadingLiveData.value = false
EventBus.getDefault().post(CpBindUnbindEvent())
},
block = {
CpModel.unboundCp()
_loadingLiveData.value = false
}
)
}
fun cpTaskProcess(uid: Long) {
safeLaunch(
onError = dealCpDataError,
block = {
_cpTaskData.value = CpModel.cpTaskProcess(uid)
_loadingLiveData.value = false
}
)
}
private val dealCpDataError: (e: Throwable) -> Unit = {
_loadingLiveData.value = false
it.message.toast()

View File

@@ -18,5 +18,5 @@ data class CpInvitePageEntity(
val propsImg: String,
val propsName: String,
val propsPrice: String,
val recommenTxt:String?
val recommenTxt:List<String>
)

View File

@@ -1,33 +1,26 @@
package com.yizhuan.xchat_android_core.relation.cp
data class CpRelation(
val avatar: String?,
val cpAvatar: String?,
val cpBackImg: String?,
val cpGender: Int,
val cpKeepDuration: String,
val cpLevel: Int,
val cpNextLevelSecretVal: Int,//cp下一等级所需亲密值
/**
*
*/
val cpId: Long,// cp记录id
//邀请人
val uid: Long,//邀请人uid
val nick: Long,//邀请人
val gender: Int,//1-男2-女 //邀请人
val avatar: String,//邀请人
//被邀请人
val cpUid: Long,//
val cpNick: String,
val cpSecretVal: Int,//cp亲密值
val cpUid: Long,
val dailyTask: List<Task>,//日任务列表
val declaration: String,//cp关系誓言
val gender: Int,//1-男2-女
val isDamp: Boolean,//是否衰减标志true-是false-否
val levelPercent: String,//cp当前等级到下一等级亲密值百分比(0~1间的小数)
val nick: String,
val totalTask: List<Task>,// 累计任务列表
val uid: Long,
val waitUnbound:Boolean,//CP状态 true 解绑中
val unBoundUid:Long//解绑发起人UID
)
val cpGender: Int,
val cpAvatar: String,
data class Task(
val currentVal: Int,//当前值
val isComplete: Boolean,
val taskDesc: String,
val taskNeedVal: Int,//任务所需值
val taskSecretDesc: String,//任务亲密值描述
val taskType: Int//任务类型1-私聊2-同一房间时长3-送礼4-陪伴
var cpLevel: Int,
val declaration: String,//cp关系誓言
val cpKeepDuration: String,
val cpBackImg: String,
val waitUnbound: Boolean,//CP状态 true 解绑中
val unBoundUid: Long//解绑发起人UID
)

View File

@@ -0,0 +1,33 @@
package com.yizhuan.xchat_android_core.relation.cp
data class CpTaskEntity(
val avatar: String?,
val cpAvatar: String?,
val cpBackImg: String?,
val cpGender: Int,
val cpKeepDuration: String,
val cpLevel: Int,
val cpNextLevelSecretVal: Int,//cp下一等级所需亲密值
val cpNick: String,
val cpSecretVal: Int,//cp亲密值
val cpUid: Long,
val dailyTask: List<Task>,//日任务列表
val declaration: String,//cp关系誓言
val gender: Int,//1-男2-女
val isDamp: Boolean,//是否衰减标志true-是false-否
val levelPercent: String,//cp当前等级到下一等级亲密值百分比(0~1间的小数)
val nick: String,
val totalTask: List<Task>,// 累计任务列表
val uid: Long,
val waitUnbound:Boolean,//CP状态 true 解绑中
val unBoundUid:Long//解绑发起人UID
)
data class Task(
val currentVal: Int,//当前值
val isComplete: Boolean,
val taskDesc: String,
val taskNeedVal: Int,//任务所需值
val taskSecretDesc: String,//任务亲密值描述
val taskType: Int//任务类型1-私聊2-同一房间时长3-送礼4-陪伴
)