需求:领取优惠券时,优惠券有限制“总领取张数”,保证优惠券发放准确

笑為紅顏苦為誰 2018-08-23 11:36:19
目前:redis 存放 用户 该活动 领优惠券的数量,原子++ ,判断 是否超过用户领取的上限。正常流程没有问题,如果 redis 数据丢失,计数器 从 又会从 0 开始,就存在问题 . 原子 ++ 后,将满足 条件的 入库(第一次 是插入,后面是 更新 )会存在并发问题,使用的 ON DUPLICATE KEY UPDATE 来处理 ,但是这个不能加 where 条件判断是否 满足最大数量要求。
...全文
1042 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
进击丶Saber 2018-12-17
  • 打赏
  • 举报
回复
你为什么不反过来呢,先操作数据库再操作redis,你存这个数应该是有用,但是反过来流程也可以吧?
demongaobo 2018-12-15
  • 打赏
  • 举报
回复
库存版本号的概念了解一下
  • 打赏
  • 举报
回复
引用 2 楼 getdate 的回复:
"目前:redis 存放 用户 该活动 领优惠券的数量,原子++ ,判断 是否超过用户领取的上限"

1:在Redis中存入的时候,会写入数据库么?还是一边写入数据库,一边存入Redis?

2:如果Redis数据库丢失,你是怎么做的?难道就直接从0开始++,没有从数据库中进行查询然后存入Redis 后做其他页面操作?



1: redis原子+以后,判断+完之后的数据是否超过最大限制,若没有超过则入库,超过返回错误。2: redis 第一次数据为1(这个时候不知道是真的一次过来,还是数据丢失后过来),查询数据库判断是否存在这个用户的数据的同时,redis等于2的数据过来了(并发),如果是真实第一次的话,这个时候去更新数据库就有问题,应该先插入才可以更新。假设这个时候1还没有插入。如果是redis数据丢失过来的1这个时候更新没有问题,等于1的那个出插入异常之后,在进行更新。所以目前的场景有这样的一种情况。
getdate 2018-08-23
  • 打赏
  • 举报
回复
"目前:redis 存放 用户 该活动 领优惠券的数量,原子++ ,判断 是否超过用户领取的上限"

1:在Redis中存入的时候,会写入数据库么?还是一边写入数据库,一边存入Redis?

2:如果Redis数据库丢失,你是怎么做的?难道就直接从0开始++,没有从数据库中进行查询然后存入Redis 后做其他页面操作?

  • 打赏
  • 举报
回复
商城小程序+优惠券管理后台是一个功能强大的电子商务解决方案,旨在为用户提供一个便捷、高效的在线购物体验。该资源包括一个完整的商城小程序和一个优惠券管理后台,可以帮助商家轻松地管理商品、订单和优惠券。商城小程序具有以下特点:用户友好的界面:商城小程序采用简洁、直观的设计,方便用户快速浏览和购买商品。商品分类:商家可以在后台添加和管理商品分类,方便用户根据需求筛选和查找商品。商品详情:每个商品都有详细的描述、图片和价格信息,方便用户了解商品特点和价值。购物车功能:用户可以将喜欢的商品添加到购物车,方便一次性结算。订单管理:用户可以查看和管理自己的订单,包括订单状态、物流信息等。支付功能:商城小程序支持多种支付方式,如微信支付、支付宝等,为用户提供便捷的支付体验。优惠券管理后台具有以下功能:优惠券类型:商家可以创建不同类型的优惠券,如满减券、折扣券等,以满足不同的营销需求优惠券发放:商家可以设置优惠券发放条件,如新用户注册、购物满额等,方便精准地吸引目标客户。优惠券领取和使用:用户可以在小程序中领取和使用优惠券,降低购物成本。优惠券统计:商家可以在后台查看优惠券领取、使用情况,以便分析营销效果并调整策略。总之,商城小程序+优惠券管理后台是一个全面的电子商务解决方案,可以帮助商家轻松地开展在线业务,提高销售额。同,它也能为用户提供一个便捷、高效的购物体验,节省间和精力。
淘宝天猫购物优惠券安卓原生app+后台(ssm)+接口文档+ppt+部分论文。 本系统为本人毕业设计,重心在于APP所以后台功能相对简单。 演示图片请前往:https://blog.csdn.net/qq_41780372/article/details/97147655 部分功能如下所示。 1.打开app,在app启动界面,如果用户是之前登录了的,在这个界面会进行一个自动登录,目的是检测用户本地令牌是否有效,拉取用户最新的资料信息,同App在启动会对首页焦点图和首页商品信息进行预加载,防止app进入卡顿的问题。当数据预加载完成,启动界面的左上角会显示跳过按钮。如果超过5s都未加载完成,App会直接跳转首页然后继续加载内容。进入APP首页,APP首先是检查是否有新版本,如果有就会给出弹窗提示。 2.在app的首页,主要分为4的模块,首页-分类-福利-个人中心 3.在App的首页,首先是搜索功能,点击搜索框,用户可以在搜索框中输入商品进行搜索,也可以直接点击热门搜索或者搜索历史中的标签进行搜索。在搜索框中输入文字的候,App会给出关键字提示,比如我输入拼音xie,app会提示鞋或者卸妆有关的一些商品。用户点击鞋子进入搜索结果页,在搜索结果页,用户可以查看搜索出的全部商品,我可以通过人气,销量,价格,最新搜索出自己想要的商品。点击商品直接到达商品详情页面。 返回首页依次往下的是一个分类导航条,在这里可以查看热门的一些分类,所有的列表都是支持上拉刷新和下拉加载的。 依次往下是一个焦点图,焦点图的商品是由管理员在后台进行配置,当配置的商品优惠券被领完 ,App会给出相应的提示。否则跳转商品详情页。 然后在往下是一个热门商品分类页面,这个模块可以进行后台配置,如果后台不做任何配置,就是显示 的默认的内容,任意点击一个分类进去,显示的是一个商品列表。 接下来我们介绍商品详情页,随意点击一个商品进入,在这个页面,用户可以看到优惠券的基本信息,卖家的基本信息以及商品的基本信息。用户可以在该页面直接领取优惠券,也可以选择将优惠券通过淘口令的方式分享给好友,同可以选择收藏该商品以便下次浏览。在这里可以直接点击立即购买跳转淘宝的购买页面,也可以点击进入店铺进入对应的店铺里面。在该页面做了一个小细节就是顶部的导航栏。当用户在页面滑动顶部导航栏会根据页面调整透明度,同会调整返回的图标。 4.返回首页进入第二页,这里是一个分类页面,在这里展示了一些常用的商品分类。这里大部分商品都是通过显示的分类名进行直接检索数据,但是自己也做了一点小处理,比如女装的T恤和男装的t恤(xu)虽然名字一样,但是点击进去的商品是截然不同的。 5.在首页的第三个页面,是一个福利兑换页面。当用户在金币足够的情况下,可以选择在这里抢兑自己喜欢的商品。当初写这个功能的主要目的是为了留住更多的用户,用福利的方式使自己的用户更为活跃。 6.在我的界面,用户可以选择注册和登录和忘记密码。在忘记密码,注册和忘记密码都是通过接收验证码的形式操作,这里用户直接使用之前注册好的用户进行演示。 7.首先是我的订单,我的订单功能对于手机安装了淘宝和未安装淘宝的用户是不一样的。对于安装了手机淘宝的用户,会直接跳转手机淘宝。而对于未安装手机淘宝的用户,会使用内置浏览器打开指定的界面。APP内有许多跳转手机淘宝的地方,都是这种逻辑。 8.订单中心过后依次是领券中心,我的卡券,淘宝特卖与福利红包。领券中心与淘宝特卖是淘宝官方整理的一些优惠券,福利红包板块可以领取淘宝购物红包,福利红包是由APP管理员发放,在我的卡券页,点击进去可以看见自己领取优惠券和福利红包。 9.然后是意见反馈功能,因为不同的手机展示的界面有可能不同,App或许也有未知的一些bug,当用户发现bug就可以通过该功能反馈给客服,App管理员可以在后台查看到用户反馈的信息。 10.在我的收藏列表里面,有用户在App内收藏的商品,用户可以查看自己收藏的商品。 11.在我的足迹里面,当用户浏览了商品详情页后,App会记录商品的浏览记录。当用户想要查看之前浏览过的商品,就可以在这里查看自己浏览的全部记录。 12.对于官方客服功能,当用户需要联系客服,就可以使用该功能,进入官方客服页面,点击QQ的在线交谈,App会直接跳转QQ并打开指定客服界面。对于微信,也可以直接一键复制微信账号,然后由APP直接跳转微信。 13.当App使用一定长后,App缓存的图片等其他的一些垃圾会消耗一定的空间,用户可以使用清空缓存的功能清除App的缓存。 14.在App晒单有奖和邀请有奖模块,属于用户通过做任务获取金币的模块,在晒单功能里,用户提交App内领取优惠券下单的订单信息,等待管理员审核通过后,用户的积分就会发生变化,而在邀请有奖里面

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧