Zfaka微信通知新订单

发布于 / 系统运维 / 8 条评论

【沧水原创文章转载注明出处】最近安装了zfka之后,由于卡网有几个需要手动发货的商品,需要实时通知自己有订单付款成功,因此做了一个脚本通过微信给自己发通知

1.为啥不用邮件?因为我不喜欢把邮箱挂在手机后台
2.为啥用shell,因为简单…即使程序更新了也能继续用..

废话少说进入正题吧…….

1.首先你需要去注册一个server酱并绑定微信号来实现推送

链接: http://sc.ftqq.com/?c=wechat&a=bind

然后你还需要获取你的微信发送消息的Key

2.好了之后,你需要一个脚本:

#几分钟查一次,与定时任务配合,600为10分钟,以此类推
searchtime="602"
#数据库名
Default="zfka"
#数据库用户名
READ_USER="zfka"
#数据库密码
READ_PSWD="123456"
#订单号前缀,默认为zlkb,如果你在zafka后台改了前缀就填你改的
STARTID="zlkb"
#消息提示标题
text="卡网有生意拉"
#你的server酱发送消息SCKey
sckey="SCU1099999999999999999999999999999999999999999"
#############################之间无需修改###########################
nowtime=$(date "+%Y-%m-%d %H:%M:%S")
nowtime2=$(date -d "$nowtime" +%s)
lasttime=$[nowtime2-searchtime]
data=$(mysql -u$READ_USER -p$READ_PSWD -D$Default -e "SELECT orderid,productname,paymoney FROM t_order WHERE $lasttime<=paytime AND paytime<=$nowtime2;")
rm -rf /root/zfaka.txt
echo $data >> "/root/zfaka.txt"
size=$(ls -l /root/zfaka.txt | awk '{print $5}')
if [ $size -gt 3 ]
then 
echo "有订单"
else 
echo "没有订单" && exit
fi
sed -i '1,1 s/^.............................//g' /root/zfaka.txt
sed -i 's/'"$STARTID"'/\n'"$STARTID"'/g'  /root/zfaka.txt
sed -i '/^$/d' /root/zfaka.txt
sed -i 's/[ ][ ]*/--/g' /root/zfaka.txt
while read -r desp
do
 echo $desp
 curl https://sc.ftqq.com/$sckey.send?desp=$desp\&text=$text
done < /root/zfaka.txt
#############################之间无需修改###########################

将里面有备注的地方修改一下,视自己需要而定,然后设为定时任务(以宝塔面板为例)

第一行设置的600就是10分钟的意思,而你脚本执行周期也要是10分钟,而假设你这里填的是60,那么你就得吧脚本执行周期设置为1分钟

效果如下:

这脚本本身非常简单,也算是给大家一个思路吧,如果你肯花时间随便改改的话,应该能改的更适合你,我现在自己用的版本就着重修改了消息部分的内容,如下:

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
转载原创文章请注明,转载自: 沧水的博客 » Zfaka微信通知新订单
  1. 373073591

    老大,指教一下,如何才能更改后台地址?

  2. 啊哈哈

    可以改成只有手动发货需要通知么?求一下代码

  3. Pwee

    牛大了

  4. 混球网

    天气越来越冷了,躲在家里刷刷博客也挺好!

  5. 赤诚

    可否和Zfaka的邮件系统一样,有订单交易就自动推送呢,不用间隔检测?

    1. 沧水
      @赤诚 需要改本身zfaka源码,我没时间整个插件上去,shell使我想到最快的解决办法,你把shell的循环时间设置成一分钟也行啊
  6. 雷了

    jio本启动 只是我更需要给客户发通知的

  7. KIKO

    第一