MYSQL 数据输出匹配相同数据的问题

2015-06-14 13:52:40 +08:00
 IFoon

最近做的一个关于用户自助下单购物的项目,因为是赠送物品,每个用户只限制购买一个,现在出现的一个问题就是有的用户会重复下单。在数据库输出订单信息之后想高亮重复的订单信息。
里面订单收件人还有地址什么的都是中文,不知道该怎么做了。网上搜了一下也没有什么实例,毕竟我是一个新手。。求给出一个可行的方案。

2842 次点击
所在节点    MySQL
9 条回复
MaiCong
2015-06-14 14:01:38 +08:00
下单时最好做下限制,避免重复下单。比如单一token。
重复了的话在执行数据查询后,如果前后两个订单信息一致,可以删掉后一个或者让后一个失效,也可以直接提示“您已经下过订单了”。
MaiCong
2015-06-14 14:03:15 +08:00
搜索词:匹配相似度
qiayue
2015-06-14 14:26:45 +08:00
如果是实物,需要寄送的,那么用收货人信息(姓名、手机、收货地址)去区分用户是最好的。
其中姓名他可以乱写,手机号可以用很多小号,但是真正能够收到货的地址是有限的。
甚至他直接去 zuanke8.com 之类的网站发任务,让别人下单,收货地址填他的。

所以,貌似只能通过收货地址去限定了。
收货地址的省、市、县区、街道可以用下拉选择框来做,这样大范围上你就可以比较了。
剩下的街道门牌号地址就只能用字符串相似度匹配来做了。
Mac
2015-06-14 17:51:15 +08:00
最好的方法是用短信验证码手机验证,其余的地址啊姓名什么的,都不重要,同样一个地址我写成另外一种模式照样邮寄的到。
gamexg
2015-06-14 18:21:22 +08:00
邮寄地址并不重要,可以提前通知快递公司自提货改地址。
可以限制电话及支付银行卡。
qiayue
2015-06-14 18:25:53 +08:00
@Mac 活生生的例子,最近微信小麦公社在送果粒橙,需要验证手机号码
结果我看到有人去发任务,让别人做任务,他给做任务的1元钱,地址填他的收货地址,两天时间他搞到了100多瓶果粒橙。
Mac
2015-06-14 23:34:07 +08:00
@qiayue 1块钱一瓶果粒橙,加上人工成本,我觉得不划算。
mgc
2015-06-15 05:39:01 +08:00
@qiayue
地址后面加随机数的很多,只能做模糊匹配,或者文本差异;
或者收件人手机号(这个一般都是真的);
但是如果遇到和当地区域快递勾结的,只要送到某某区,那片区的快递员看到假的地址,直接拦截,那就无解了
IFoon
2015-06-15 13:43:29 +08:00
@MaiCong 匹配相似度总感觉有点不显示,我想实现相同姓名,电话,地址或者三者其一相同就高亮的功能,这样人工筛选就简单了许多。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/198440

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX