如何提醒商品下架?

1. 引言

在 APP 的插件中,有一个展示产品购买链接的地方。但是商品的购买链接直接存储于数据库,如果商城的商品下架后,并不会主动告知。那么如何定时主动查询链接是否还有效呢?

下面我们使用 sh 脚本来实现该需求。

2. 实现思路

首先,需要对商品链接进行访问,然后对获取的信息进行提取,进行条件判断,最后通过短信提醒。具体思路如下图所示:

如何提醒商品下架?
商品下架提醒流程图

脚本实现

以下是一个 Bash 脚本,它的主要目的是检查给定 URL 中的商品是否下架,并在下架时通过短信通知用户。具体步骤如下:

urls=(
 'https://m.midea.cn/detail/index?itemid=1000000000400693399023&icid=245189'
)

for url in "${urls[@]}"do
 buyText=$(curl -s "$url" | grep 'buyText')
 regex=']*)"'
 if [[ $buyText =~ $regex ]]; then
  data_state_text="${BASH_REMATCH[1]}"
  echo "$data_state_text"
 else
  echo "data-state-text not found in buyText"
 fi

 # 获取输入参数
 phone="1867*****07"
 sendMessage="{"phone":"$phone","content":"购买商品已下架:$url"}"

 # 比较字符串是否相等
 if [ "$data_state_text" = "商品已下架" ]; then
  # 发送POST请求
  curl -X POST -d "$sendMessage" http://push-server-prod.aiicidea.com:8807/sms/send -H 'Content-Type:application/json'
 fi
 unset data_state_text
done

代码备注如下:

  1. 定义一个包含要检查的 URL 的数组。
  2. 循环遍历 URL 数组。
  3. 使用 curl 命令获取 URL 的 HTML 内容,并使用 grep 命令查找包含 “buyText” 的行。
  4. 使用正则表达式从 buyText 中提取 “data-state-text” 属性的值。
  5. 如果找到了 data-state-text 属性,则将其存储在变量 $data_state_text 中。
  6. 如果未找到 data-state-text 属性,则打印一条消息。
  7. 定义一个变量 $phone,用于存储要发送短信的电话号码。
  8. 定义一个变量 $sendMessage,用于存储要发送的短信内容。
  9. 如果 data_state_text 的值等于 “商品已下架”,则使用 curl 命令向短信推送服务器发送 POST 请求,并将 $sendMessage 作为请求体。
  10. 在每次循环结束时,清除 $data_state_text 变量的值,以便下一次循环时重新设置它。

3. 定时任务

为了能在堡垒机上定时执行该脚本,使用了crontab命令

crontab是一个用于在Linux和类Unix操作系统上运行定期任务的命令。

# 打开终端,并使用 root 用户身份登录到该服务器。
# 执行以下命令:crontab -e,打开当前用户的定时任务配置文件。
# 在文件末尾添加以下内容:0 9 * * * /root/script/gs_linkage_buy_link_job.sh,其中 /root/script/gs_linkage_buy_link_job.sh 是您要执行的脚本的路径。
# 保存并退出文件。
# 确认定时任务已经添加成功,您可以使用命令 crontab -l 来查看当前用户的定时任务列表。
0 9 * * * /root/script/gs_linkage_buy_link_job.sh

上述命令将在每天早上 9 点自动执行脚本。

4. 小结

以上是用sh脚本实现了商品下架的提醒,其实在应用代码中也能实现,但是使用脚本可以更简单,更方便。


原文始发于微信公众号(CodeJames):如何提醒商品下架?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/148160.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!