首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

PHP与redis队列实现电商订单自动确认收货

一、场景 之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货。所谓的订单自动确认收货,就是在在特定的时间,执行一条update语句,改变订单的状态。 二、思路 最笨重的做法,通过linux后台定时任务,查询符合条件的订单,然后update。最理想情况下,如果每分钟都有需要update的订单,这种方式也还行。奈何平台太小,以及卖家发货时间大部分也是密集的,不会分散在24小时的每分钟。那么,定时任务的话,查询过多,不适合。这里可以先把将要自动确认收货的订单信息存储到其他介质上,比如redis,memcache,rabbitmq,然后执行的脚本从前面的介质获取到订单信息来判断,这里可以大大的减少数据库的查询压力。 redis队列的生产者 对此,我们选择每天在凌晨两点的时候,通过linux的定时任务把即将要确认收货的订单信息查询出来,然后存储在redis上,redis上我们选择的队列,队列处理的特点就是先进先出,前面的数据在查询订单时,通过发货时间排序,所以最先出队列的肯定是距离规定的自动收货时间最近的订单。代码如下

03

基于SSM框架的五金电器商城管理系统的设计与实现(附源码、论文)

由于互联网发展越来越迅速,人们为了节省时间方便快捷地生活,更愿意把日常生活中的一些要做的事情通过互联网完成。网上购物就是一个很好地体现,人们网购的需求越来越大,于是就有了越来越多商城系统的出现。 这个系统是五金电器商城管理系统,系统分为前台和后台两个部分。首先,前台部分用户可以登录注册、在首页浏览各种各样商品,还可以搜索想要的商品、将喜欢的商品添加到购物车,可以对已添加在购物车的商品增加或减少其数量,然后提交订单,还可以查看我的订单和在留言板块对商品的性能进行评价。其次,后台部分有用户管理,可以对用户的个人信息增删改查。商品管理,可以对商品的价格、内容、数量等进行增删改查。订单管理是对用户已下单的商品发货,还可以进行查询和删除订单的操作。公告管理是进行公告的发布及删除。留言管理是对用户的评价进行操作。

03

通过案例带你轻松玩转JMeter连载(41)

4试图查看别人的信息 1)通过浏览器,用Peter的账号登录系统。 2)点击Peter,进入查看用户信息。 3)显示Peter的邮件地址Email:peter@126.com。。 4)添加商品进入购物车。 5)查看购物车。 6)点击【生成订单】按键。 7)选择收货地址。 8)点击【下一步】按键。 9)记录当前的url为/view_order/577/。 10)查看所有订单。 11)再往购物车里添加几个商品。 12)在JMeter建立测试片段“试图查看别人的信息”。 13)拷贝暴力破解测试片段下的登录HTTP请求和查看商品列表HTTP请求到试图查看别人的信息测试片段下。 14)修改查看商品列表HTTP请求下的username值为jerry,password为${__digest(SHA-256,654321,,,)}。 15)建立查看用户信息HTTP请求,url值为/user_info/。 16)在查看用户信息HTTP请求下建立响应断言,测试模式中选择字符串和否,响应字符为Email:peter@126.com。 17)建立查看购物车HTTP请求,url值为/view_chart/。 18)在查看购物车HTTP请求下建立响应断言,测试模式中选择字符串和否,响应字符为:移除。 19)建立查看单个订单HTTP请求,url值为/view_order/577/。 20)在查看单个订单HTTP请求下建立响应断言,测试模式中选择字符串和否,响应字符为:生成时间:。 21)建立查看全部订单HTTP请求,url值为/view_all_order/。 22)在查看全部订单HTTP请求下建立响应断言,测试模式中选择字符串和否,响应字符为:删除。 23)在模块控制器中选择试图查看别人的信息,运行测试。 24)根据测试结果判断是否存在安全隐患,在图10中,jerry用户登录系统可以看见peter建立的第577号订单信息,存在安全隐患。

02
领券