快乐赚

淘宝确认收货时间最长多久(签收10天还能退货吗)

 人阅读 | 作者youmizhuan | 时间:2023-08-25 23:42

淘宝公布最新发货规则:收货超时由10天调整为20天

临近春节,在淘宝购物的小伙伴们注意了。

日前,淘宝公布了2017年春节发货时间及交易超时调整公告,对春节期间(1月20日-2月5日)卖家发货时间、交易超时等做出了特殊规定。

在发货规则调整上,淘宝官方公告称:在确认收货超时调整上,春节期间的订单收货超时由10天调整为20天,虚拟类商品不变。

在退款和售后超时调整上,分为退款超时(交易成功前)、售后超时(交易成功后)、退款/售后协商一致等待买家退货超时。

此外,除买卖双方另外约定的发货时间之外,在春节期间付款的订单,除全球购、家装等特定类目等大件商品,卖家须在2月8日23点59分59秒前发货,发货时间以快递公司系统记录为准。

面试官问:淘宝七天自动确认收货,让你设计,可以怎么实现?

目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如:

淘宝七天自动确认收货。在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持续七天,就是使用了消息中间件的延迟推送功能。12306 购票支付确认页面。我们在选好票点击确定跳转的页面中往往都会有倒计时,代表着 30 分钟内订单不确认的话将会自动取消订单。其实在下订单那一刻开始购票业务系统就会发送一个延时消息给订单系统,延时30分钟,告诉订单系统订单未完成,如果我们在30分钟内完成了订单,则可以通过逻辑代码判断来忽略掉收到的消息。

在上面两种场景中,如果我们使用下面两种传统解决方案无疑大大降低了系统的整体性能和吞吐量:

使用 redis 给订单设置过期时间,最后通过判断 redis 中是否还有该订单来决定订单是否已经完成。这种解决方案相较于消息的延迟推送性能较低,因为我们知道 redis 都是存储于内存中,我们遇到恶意下单或者刷单的将会给内存带来巨大压力。使用传统的数据库轮询来判断数据库表中订单的状态,这无疑增加了IO次数,性能极低。使用 jvm 原生的 DelayQueue ,也是大量占用内存,而且没有持久化策略,系统宕机或者重启都会丢失订单信息。消息延迟推送的实现

在 RabbitMQ 3.6.x 之前我们一般采用死信队列+TTL过期时间来实现延迟队列,我们这里不做过多介绍。

在 RabbitMQ 3.6.x 开始,RabbitMQ 官方提供了延迟队列的插件,可以下载放置到 RabbitMQ 根目录下的 plugins 下。

图片

首先我们创建交换机和消息队列,application.properties 中配置与上一篇文章相同。

import org.springframework.aMQp.core.*;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\n\nimport java.util.HashMap;\nimport java.util.Map;\n\n@Configuration\npublic class MQConfig \n\n @Bean\n public Queue lazyQueue()\n\n @Bean\n public Binding lazyBinding()\n}\n

我们在 Exchange 的声明中可以设置exchange.setDelayed(true)来开启延迟队列,也可以设置为以下内容传入交换机声明的方法中,因为第一种方式的底层就是通过这种方式来实现的。

//Map<String, Object> pros = new HashMap<>();\n //设置交换机支持延迟消息推送\n //pros.put("x-delayed-message", "topic");\n TopicExchange exchange = new TopicExchange(LAZY_EXCHANGE, true, false, pros);\n

发送消息时我们需要指定延迟推送的时间,我们这里在发送消息的方法中传入参数 new MessagePostProcessor() 是为了获得 Message对象,因为需要借助 Message对象的api 来设置延迟时间。

import com.anqi.mq.config.MQConfig;\nimport org.springframework.amqp.AmqpException;\nimport org.springframework.amqp.core.Message;\nimport org.springframework.amqp.core.MessageDeliveryMode;\nimport org.springframework.amqp.core.MessagePostProcessor;\nimport org.springframework.amqp.rabbit.connection.CorrelationData;\nimport org.springframework.amqp.rabbit.core.RabbitTemplate;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Component;\n\nimport java.util.Date;\n\n@Component\npublic class MQSender \n }, correlationData);\n }\n}\n

我们可以观察 setDelay(Integer i)底层代码,也是在 header 中设置 x-delay。等同于我们手动设置 header

message.getMessageProperties().setHeader("x-delay", "6000");\n/**\n * Set the x-delay header.\n * @param delay the delay.\n * @since 1.6\n */\npublic void setDelay(Integer delay) \n else \n}\n

消费端进行消费

import com.rabbitmq.client.Channel;\nimport org.springframework.amqp.rabbit.annotation.*;\nimport org.springframework.amqp.support.AmqpHeaders;\nimport org.springframework.stereotype.Component;\n\nimport java.io.IOException;\nimport java.util.Map;\n\n@Component\npublic class MQReceiver \n ```\n\n## 测试结果[#](https://www.cnblogs.com/haixiang/p/10966985.html#3724420099)\n\n```java\nimport org.junit.Test;\nimport org.junit.runner.RunWith;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.boot.test.context.SpringBootTest;\nimport org.springframework.test.context.junit4.SpringRunner;\n\n@SpringBootTest\n@RunWith(SpringRunner.class)\npublic class MQSenderTest \n}\n

果然在 6 秒后收到了消息 lazy receive hello spring boot:

网购商品保修期怎么算?律师:运输时间不算在内

\u3000\u3000人们购物时,一般都会比较注重商品的保修期,质量出现问题时,可以向商家申请保修。

\u3000\u3000近日,市民霍先生反映,自己网购的一台打印机出现问题后,他与卖家就保修期产生了争议。

\u3000\u3000读者反映 故障出在保修期内

\u3000\u30008月8日,东风新村居民霍先生向讲述了产生争议的经过。

\u3000\u3000霍先生2021年6月9日在京东网站下单买了一台佳能牌打印机。打印机到货后,霍先生按照说明书安装使用。

\u3000\u3000今年6月初,霍先生发现打印机出现卡纸问题,简单弄了几次之后并没有好转。

\u3000\u3000随后,霍先生翻看了商品说明书,看到打印机的保修期是一年,出现故障时,还在保修期内。

\u3000\u30006月8日,霍先生拨打了佳能客服的电话,说明了打印机的故障后,希望厂家能对打印机进行免费维修。

\u3000\u3000对于霍先生提出的免费维修要求,客服人员当时没有拒绝,并告知霍先生需要将打印机寄回去进行维修。

\u3000\u3000发生意外 邮寄时被告知“已过保”

\u3000\u3000已经说好的事情,没想到又出现了变故。

\u3000\u3000霍先生说,本打算第二天便将打印机寄回去,但由于发生了一些突发情况耽搁了。

\u3000\u3000事情忙完了之后,霍先生又联系了佳能客服,表示要将打印机寄回维修。但是,客服人员说,由于已经过了保修期,所以不能提供免费维修服务了。

\u3000\u3000佳能客服的这一说法让霍先生很意外,他认为,打印机是在保修期内出现故障的,而自己也是在保修期内报修的,虽然邮寄晚了,并不影响打印机在保修期内出现故障的事实。

\u3000\u3000霍先生称,网购商品本来就有个运输的时间差,如果按佳能客服的计算方法,即使自己在报修的第二天就去邮寄,等打印机邮到目的地时,也过了保修期。所以,霍先生认为,佳能客服“打印机已过保修期”的说法不合理,有推卸责任的嫌疑。

\u3000\u3000佳能客服 保修期从下单开始计算

\u3000\u30008月8日上午,就霍先生反映的问题联系了佳能客服人员。关于网购商品保修期起始日期与终止日期的算法问题,客服人员称,如果顾客是网上购买的商品,保修期开始计算的时间是以发票签发时间为准的。一般情况下,发票签发时间就是网上的下单时间。也就是说,买家在网上下单购买商品,商品虽然还在运输过程中,但保修期已经开始计算了。

\u3000\u3000霍先生觉得,这种将商品邮寄时间算进保修期的方式,对于消费者来说非常不合理,保修期对于消费者无形中就“缩水”了。

\u3000\u3000就此事采访时,大多数网店卖家均表示,商品保修期是从下单时间开始计算的。

\u3000\u3000关于商品保修期从下单日开始计算一事,不少市民表示不满。

\u3000\u3000市民张女士称,自己也曾有过网购电饼铛与卖家争执保修期的经历,她认为商品保修期至少应该从买家收到货开始计算。

\u3000\u3000张女士表示,保修期的计算方式很重要,直接影响到商品是否可以免费维修。并且,疫情期间网购商品的运输时间有时会很长,如果按照卖家的算法,买家就更不划算了。

\u3000\u3000所以,张女士认为,网购商品的保修期还应有一个明确、合理的算法,不能卖家说怎么算就怎么算。

\u3000\u3000律师说法 运输时间不应计算在内

\u3000\u3000针对网购商品保修期问题,黑龙江鸿大律师事务所律师秦岚表示,网购商品的保修期应从收货之日起计算。

\u3000\u3000秦律师称,可以参照《消费者权益保护法》来对此进行确定。

\u3000\u3000《消费者权益保护法》第24条规定,经营者提供的商品或者服务不符合质量要求的,消费者可以依照国家规定、当事人约定退货,或者要求经营者履行更换、修理等义务。没有国家规定和当事人约定的,消费者可以自收到商品之日起7日内退货。

\u3000\u3000第25条规定,经营者采用网络、电视、电话、邮购等方式销售商品,消费者有权自收到商品之日起7日内退货,且无需说明理由。

\u3000\u3000所以,基于网购商品交易方式的特殊性,因为消费者不可能付款后当场收到商品,不可能当场查验,所以,从售出之日开始计算保修期根本没有可行性,也不可能保障消费者的合法权益。因此,结合《消费者权益保护法》的立法本意及交易习惯以及保修期的设立目的,参照适用《消费者权益保护法》的相关规定,应当执行网购商品的保修期从消费者收到货物后开始计算。

\u3000\u3000秦律师表示,消费者在保修期内报修,如果因为返货时间超过了保修期,商家以此为由拒绝承担保修责任也是违法行为,是对消费者合法权益的侵害。因为商品既然是在保修期内出现了质量问题,就符合商家应当承担保修责任的相关规定,而返货运输过程不应当计算在保修期之内。

\u3000\u3000文/摄 大庆日报社全媒体 生丽丽


文章标签:

本文链接:『转载请注明出处』