feat: 更新订阅逻辑,优化成功消息处理;添加条件判断以减少不必要的更新

This commit is contained in:
zhaoyingbo 2025-01-12 06:26:13 +00:00
parent feb0ada324
commit d69b67335a

View File

@ -192,6 +192,8 @@ const setSubscription = async (
if (!chat) {
throw new Error("Failed to get chat info")
}
let hasUpdate = false
// 更新订阅信息, 如果订阅信息没有变化则不更新
if (chat[`${timeScope}Summary`] !== value) {
logger.info("value is different, update subscription")
@ -199,15 +201,29 @@ const setSubscription = async (
if (!res) {
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(
larkBody.messageId,
cardGender.genSuccessCard(
timeScope === "daily"
? RespMessage.registerDailySuccess
: RespMessage.registerWeeklySuccess
)
cardGender.genSuccessCard(message)
)
} catch (e: any) {
logger.error(`Subscribe error: ${e.message}`)