feat: 更新订阅逻辑,优化成功消息处理;添加条件判断以减少不必要的更新
This commit is contained in:
parent
feb0ada324
commit
d69b67335a
@ -192,6 +192,8 @@ const setSubscription = async (
|
|||||||
if (!chat) {
|
if (!chat) {
|
||||||
throw new Error("Failed to get chat info")
|
throw new Error("Failed to get chat info")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let hasUpdate = false
|
||||||
// 更新订阅信息, 如果订阅信息没有变化则不更新
|
// 更新订阅信息, 如果订阅信息没有变化则不更新
|
||||||
if (chat[`${timeScope}Summary`] !== value) {
|
if (chat[`${timeScope}Summary`] !== value) {
|
||||||
logger.info("value is different, update subscription")
|
logger.info("value is different, update subscription")
|
||||||
@ -199,15 +201,29 @@ const setSubscription = async (
|
|||||||
if (!res) {
|
if (!res) {
|
||||||
throw new Error("Failed to update subscription")
|
throw new Error("Failed to update subscription")
|
||||||
}
|
}
|
||||||
|
hasUpdate = true
|
||||||
|
}
|
||||||
|
let message = ""
|
||||||
|
if (!hasUpdate && value) {
|
||||||
|
message =
|
||||||
|
timeScope === "daily"
|
||||||
|
? RespMessage.hasRegisteredDaily
|
||||||
|
: RespMessage.hasRegisteredWeekly
|
||||||
|
} else if (!value) {
|
||||||
|
message =
|
||||||
|
timeScope === "daily"
|
||||||
|
? RespMessage.cancelDailySuccess
|
||||||
|
: RespMessage.cancelWeeklySuccess
|
||||||
|
} else {
|
||||||
|
message =
|
||||||
|
timeScope === "daily"
|
||||||
|
? RespMessage.registerDailySuccess
|
||||||
|
: RespMessage.registerWeeklySuccess
|
||||||
}
|
}
|
||||||
// 发送成功消息
|
// 发送成功消息
|
||||||
await larkService.message.replyCard(
|
await larkService.message.replyCard(
|
||||||
larkBody.messageId,
|
larkBody.messageId,
|
||||||
cardGender.genSuccessCard(
|
cardGender.genSuccessCard(message)
|
||||||
timeScope === "daily"
|
|
||||||
? RespMessage.registerDailySuccess
|
|
||||||
: RespMessage.registerWeeklySuccess
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
logger.error(`Subscribe error: ${e.message}`)
|
logger.error(`Subscribe error: ${e.message}`)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user