mirror of
https://github.com/whitechi73/OpenShamrock.git
synced 2024-08-14 13:12:17 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
48b720bdd7
@ -179,7 +179,7 @@ internal object GroupSvc: BaseSvc() {
|
||||
|
||||
var troopList = service.allTroopList
|
||||
if(refresh || !service.isTroopCacheInited || troopList == null) {
|
||||
if(!requestGroupList(service)) {
|
||||
if(!requestGroupInfo(service)) {
|
||||
return Result.failure(Exception("获取群列表失败"))
|
||||
} else {
|
||||
troopList = service.allTroopList
|
||||
@ -192,15 +192,14 @@ internal object GroupSvc: BaseSvc() {
|
||||
val service = app
|
||||
.getRuntimeService(ITroopInfoService::class.java, "all")
|
||||
|
||||
var groupInfo = getGroupInfo(groupId)
|
||||
val groupInfo = getGroupInfo(groupId)
|
||||
|
||||
if(refresh || !service.isTroopCacheInited || groupInfo.troopuin.isNullOrBlank()) {
|
||||
groupInfo = requestGroupList(service, groupId.toLong()).onFailure {
|
||||
return Result.failure(it)
|
||||
}.getOrThrow()
|
||||
return if(refresh || !service.isTroopCacheInited || groupInfo.troopuin.isNullOrBlank()) {
|
||||
requestGroupInfo(service, groupId.toLong())
|
||||
} else {
|
||||
Result.success(groupInfo)
|
||||
}
|
||||
|
||||
return Result.success(groupInfo)
|
||||
}
|
||||
|
||||
suspend fun setGroupUniqueTitle(groupId: String, userId: String, title: String) {
|
||||
@ -209,7 +208,7 @@ internal object GroupSvc: BaseSvc() {
|
||||
req.uint64_group_code.set(groupId.toLong())
|
||||
val memberInfo = Oidb_0x8fc.MemberInfo()
|
||||
memberInfo.uint64_uin.set(userId.toLong())
|
||||
memberInfo.bytes_uin_name.set(ByteStringMicro.copyFromUtf8(localMemberInfo.troopnick.ifBlank {
|
||||
memberInfo.bytes_uin_name.set(ByteStringMicro.copyFromUtf8(localMemberInfo.troopnick.ifEmpty {
|
||||
localMemberInfo.troopremark.ifNullOrEmpty("")
|
||||
}))
|
||||
memberInfo.bytes_special_title.set(ByteStringMicro.copyFromUtf8(title))
|
||||
@ -561,7 +560,7 @@ internal object GroupSvc: BaseSvc() {
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun requestGroupList(
|
||||
private suspend fun requestGroupInfo(
|
||||
service: ITroopInfoService
|
||||
): Boolean {
|
||||
refreshTroopList()
|
||||
@ -654,9 +653,9 @@ internal object GroupSvc: BaseSvc() {
|
||||
METHOD_REQ_MEMBER_INFO_V2.invoke(businessHandler, groupId.toString(), groupUin2GroupCode(groupId).toString(), arrayListOf(memberUin.toString()))
|
||||
}
|
||||
|
||||
private suspend fun requestGroupList(dataService: ITroopInfoService, uin: Long): Result<TroopInfo> {
|
||||
private suspend fun requestGroupInfo(dataService: ITroopInfoService, uin: Long): Result<TroopInfo> {
|
||||
val strUin = uin.toString()
|
||||
val list = withTimeoutOrNull(5000) {
|
||||
val info = withTimeoutOrNull(5000) {
|
||||
var troopInfo: TroopInfo?
|
||||
do {
|
||||
troopInfo = dataService.getTroopInfo(strUin)
|
||||
@ -664,8 +663,8 @@ internal object GroupSvc: BaseSvc() {
|
||||
} while (troopInfo == null || troopInfo.troopuin.isNullOrBlank())
|
||||
return@withTimeoutOrNull troopInfo
|
||||
}
|
||||
return if (list != null) {
|
||||
Result.success(list)
|
||||
return if (info != null) {
|
||||
Result.success(info)
|
||||
} else {
|
||||
Result.failure(Exception("获取群列表失败"))
|
||||
}
|
||||
|
@ -37,9 +37,9 @@ internal object GetForwardMsg: IActionHandler() {
|
||||
realId = msg.msgSeq.toInt(),
|
||||
sender = MessageSender(
|
||||
msg.senderUin, msg.sendNickName
|
||||
.ifBlank { msg.sendMemberName }
|
||||
.ifBlank { msg.sendRemarkName }
|
||||
.ifBlank { msg.peerName }, "unknown", 0, msg.senderUid
|
||||
.ifEmpty { msg.sendMemberName }
|
||||
.ifEmpty { msg.sendRemarkName }
|
||||
.ifEmpty { msg.peerName }, "unknown", 0, msg.senderUid
|
||||
),
|
||||
message = MessageConvert.convertMessageRecordToMsgSegment(msg).map {
|
||||
it.toJson()
|
||||
|
@ -85,9 +85,9 @@ internal object GetHistoryMsg: IActionHandler() {
|
||||
realId = seq,
|
||||
sender = MessageSender(
|
||||
msg.senderUin, msg.sendNickName
|
||||
.ifBlank { msg.sendMemberName }
|
||||
.ifBlank { msg.sendRemarkName }
|
||||
.ifBlank { msg.peerName }, "unknown", 0, msg.senderUid
|
||||
.ifEmpty { msg.sendMemberName }
|
||||
.ifEmpty { msg.sendRemarkName }
|
||||
.ifEmpty { msg.peerName }, "unknown", 0, msg.senderUid
|
||||
),
|
||||
message = MessageConvert.convertMessageRecordToMsgSegment(msg).map {
|
||||
it.toJson()
|
||||
|
@ -30,9 +30,9 @@ internal object GetMsg: IActionHandler() {
|
||||
realId = seq,
|
||||
sender = MessageSender(
|
||||
msg.senderUin, msg.sendNickName
|
||||
.ifBlank { msg.sendMemberName }
|
||||
.ifBlank { msg.sendRemarkName }
|
||||
.ifBlank { msg.peerName }, "unknown", 0, msg.senderUid
|
||||
.ifEmpty { msg.sendMemberName }
|
||||
.ifEmpty { msg.sendRemarkName }
|
||||
.ifEmpty { msg.peerName }, "unknown", 0, msg.senderUid
|
||||
),
|
||||
message = MessageConvert.convertMessageRecordToMsgSegment(msg).map {
|
||||
it.toJson()
|
||||
|
@ -29,7 +29,7 @@ internal object GetProfileCard: IActionHandler() {
|
||||
uin = card.uin.toLong(),
|
||||
name = card.strNick,
|
||||
mail = card.strShowName ?: card.strEmail ?: "",
|
||||
remark = card.strReMark.let { if (it.isNullOrBlank()) card.strAutoRemark else it },
|
||||
remark = card.strReMark.let { if (it.isNullOrEmpty()) card.strAutoRemark else it },
|
||||
findMethod = card.addSrcName,
|
||||
displayName = card.strContactName,
|
||||
maxVoteCnt = card.bAvailVoteCnt,
|
||||
|
@ -30,7 +30,7 @@ internal object GetTroopHonor: IActionHandler() {
|
||||
GroupSvc.parseHonor(member.honorList).forEach {
|
||||
val honor = nativeDecodeHonor(member.memberuin, it, member.mHonorRichFlag)
|
||||
if (honor != null) {
|
||||
honor.nick = member.troopnick.ifBlank { member.friendnick }
|
||||
honor.nick = member.troopnick.ifEmpty { member.friendnick }
|
||||
honorInfo.add(honor)
|
||||
}
|
||||
}
|
||||
|
@ -82,9 +82,9 @@ internal object GlobalEventTransmitter: BaseSvc() {
|
||||
sender = Sender(
|
||||
userId = record.senderUin,
|
||||
nickname = record.sendNickName
|
||||
.ifBlank { record.sendRemarkName }
|
||||
.ifBlank { record.sendMemberName }
|
||||
.ifBlank { record.peerName },
|
||||
.ifEmpty { record.sendRemarkName }
|
||||
.ifEmpty { record.sendMemberName }
|
||||
.ifEmpty { record.peerName },
|
||||
card = record.sendMemberName,
|
||||
role = when (record.senderUin) {
|
||||
GroupSvc.getOwner(record.peerUin.toString()) -> MemberRole.Owner
|
||||
@ -112,7 +112,7 @@ internal object GlobalEventTransmitter: BaseSvc() {
|
||||
): Boolean {
|
||||
val botUin = app.longAccountUin
|
||||
var nickName = record.sendNickName
|
||||
if (nickName.isNullOrBlank()) {
|
||||
if (nickName.isNullOrEmpty()) {
|
||||
CardSvc.getProfileCard(record.senderUin.toString()).onSuccess {
|
||||
nickName = it.strNick ?: record.peerName
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user