feat:(REQ-2699) 修改app语音助手只有CMP端的菜单修改时,才发送钉钉消息

This commit is contained in:
lilong 2024-08-30 10:46:32 +08:00
parent 7a3bb207e0
commit 4c01019897
2 changed files with 14 additions and 3 deletions

View File

@ -1,5 +1,6 @@
package cn.axzo.tyr.server.event.inner;
import cn.axzo.framework.auth.domain.TerminalInfo;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.tyr.server.common.util.DingTalkUtil;
@ -12,6 +13,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.Objects;
import java.util.Optional;
@Slf4j
@Component
@ -22,7 +24,7 @@ public class SendDingTalkHandler implements InitializingBean {
@Value("${spring.profiles.active}")
private String env;
// 语音助手菜单变更通知@沈尚只是临时的方案所以没改成配置
// 语音助手菜单变更通知@沈尚只是临时的方案对方接入MQ成本高所以没改成配置
private static final String ACCESS_TOKEN = "11cdf26d77211ee887184844910bf249b94aa2675c7ce36d75a7aa87d619490f";
private static final String SECRET = "SEC3c1be9e4fe4cc09f16eb4b2eebf91659f21d5bdfb1d764b52f3e47825e6bed3f";
@ -35,8 +37,16 @@ public class SendDingTalkHandler implements InitializingBean {
return;
}
if (Objects.equals(payload.getAction(), SaasFeatureResource.Action.UPDATE) &&
Objects.equals(payload.getNewValue().getUniCode(), payload.getOldValue().getUniCode())) {
if (Objects.isNull(payload.getNewValue()) && Objects.isNull(payload.getOldValue())) {
return;
}
// 现在沈尚那边只关心CMP的code有更新的情况
String terminal = Optional.ofNullable(payload.getNewValue())
.map(SaasFeatureResource::getTerminal)
.orElseGet(() -> payload.getOldValue().getTerminal());
if (!Objects.equals(terminal, TerminalInfo.NT_CMP_APP_GENERAL)) {
return;
}

View File

@ -294,6 +294,7 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
.data(SaasFeatureResourceUpsertPayload.builder()
.oldValue(featureResourceDao.getById(baseResource.getId()))
.newValue(newValue)
.action(SaasFeatureResource.Action.UPDATE)
.build())
.build();
mqProducer.send(event);