同步异常发送钉钉群实现方案
在一些业务中,有一些同步功能,若发生了同步失败的情况,需要通知到业务产品和研发;
本通知使用钉钉机器人,具体功能实现如下:
.env
#钉钉推送配置
[Ding_push]
#是否开启
open = 0
#机器人地址
syncErrorUrl = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxx'
#@成员
at = 13268888888
#以下异常不通知
whiteMsg = '用户已注销'
统一推送方法
function syncErrorPushToDD($title, $text){
    $open = env('Ding_push.open');
    if($open && (env('app_env') === 'production')){
        #生产环境才通知
        $webhook = env('Ding_push.syncErrorUrl');
        $at = explode(',', env('Ding_push.at'));
        $datetime = date('Y-m-d H:i:s');
        $h1Title = '数据同步异常';
        $h2Title = "#### 【数据同步异常】\n\n ### <font color=#d21b1b>".$title."</font>\n\n";
        $text = $h2Title.$text."\n\n #### 【时间:".$datetime."】\n\n";
        $text .="\n\n @".implode('@', $at);
        pushToDingDingMD($webhook, $h1Title, $text,$at);
    }
}
业务中调用代码
//推送到钉钉群
if(!$this->checkIgnoreMsg($super_result['message'])) {
    $errorMsg = "#### 【用户:" . $sid['old_phone'] . "】\n\n";
    $errorMsg .= "#### 【原因:" . $super_result['message'] . "】\n\n";
    syncErrorPushToDD('【手机号变更】同步失败!', $errorMsg);
}
//检查是否有需要忽略的消息
private function checkIgnoreMsg($msg)
{
    $ignore = env('Ding_push.whiteMsg');
     //包含有需要忽略的消息
    return strpos($ignore, $msg) !== false;
}
欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。
文章来源:刘俊涛的博客
若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)
你要保守你心,胜过保守一切。
本文来自博客园,作者:刘俊涛的博客,转载请注明原文链接:https://www.cnblogs.com/lovebing/p/17407658.html

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号