thinkphp电商 —— 添加购物车


前言

thinphp6安装使用可以参考官方的文档哦

在这里我用了商品表,规格表,购物车表

一、添加购物车流程?

清楚的流程逻辑可以让我们在搬砖时有条不紊的进行

参数(商品id,添加的number)

1.判断用户是否登录

2.根据提交的商品id查询商品是否存在——不存在返回false

3.根据商品id查询的库存和商品的规格(尺寸、颜色等)

4.查询用户名下是否存在同一件商品

5.存在——增加相同商品的数量

6.不存在——是添加为新商品

二、实现

1.判断用户是否登录

1.在这里用的是JWT验证,将Token的验证单独写在控制器中的,在其他文件中直接继承的Token,每次前端请求接口时都会过一遍验证来判断用户是否登录。

很方便(感兴趣的可以看我另一篇关于“jwt token的生成及解密” 有详细的代码)

同时在签发Token时将用的id签发给前端,所以可以直接通过 $uid = $this->uid; 来获取用户id 。很方便

2.参考代码

//添加购物车
    public function addshop($id, $num)
    {

        $uid = $this->uid;  //获取用户当前ID

        $shop = new shop(); //根据商品ID查询商品是否存在
        $compare = $shop->compare($id);
        if (empty($compare)) {
            return json(['code' => 0, 'msg' => '错误操作,商品不存在']);
        }
        //商品存在————根据查询到商品规格查询库存是否大于用户提交的商品数量
        else {
            $specs = new specifications();
            $shopspecs = $specs->shopspecs($id);
            if (empty($shopspecs)) {
                return json(['code' => 0, 'msg' => '错误操作,商品规格不存在']);
            } else if ($shopspecs['stock'] < $num) {
                return json(['code' => 0, 'msg' => '商品库存不足,请等待商家补货']);
            }
            //根据用户ID和商品ID查询该用户购物车中是否存在相同的商品
            $newshop = new shopcart();
            $cartshop = $newshop->add($uid, $id);

            //存在相同商品————增加数量
            if (!empty($cartshop['userid']) && !empty($cartshop['shopid'])) {
                $checknum = $cartshop['num'] + $num;
                $cartshop->num = $checknum;
                $cartshop->save();
                return json(['code' => 1, '已添加,商品在购物车等你哦', 'data' => $cartshop]);
            } else {
                //这里将查询的商品转换了一下格式方便查看
                $shop = $compare->toArray();

                //不存在相同商品————是新商品
                $addshop = new shopcart();
                $addshop->save([
                    'userid' => $uid,
                    'shopid' => $id,
                    'specifications' => $shopspecs['shopnumber'],
                    'num' => $num,
                ]);
                return json(['code' => 1, 'msg' => '已添加,商品在购物车等你哦', 'data' => $shop]);
            }
        }
    }

总结

团结就是力量,分享是温故知新

基于ThinkPHP 5.1框架打造的多商户电商平台,是目前完善度领先的电商管理平台标准化产品,全新的产品模式很好地诠释电子商务在现今及未来的发展模式,强大的插件可插拔扩展制,让您在的行业电商所向披靡,系统拥有PC、手机WAP、微商城、买家APP、卖家APP、微信小程序,六端合一,六端互通,真正实现全网营销,极其适合企业及个人快速上线商务平台。 系统代码清晰易懂,大量的可视化报表便于运营者决策,丰富的营销功能让系统的应用场景广阔,良好的插件机制使系统更加易于扩展。系统操作简单,安全稳定,更新迭代快速,是广大用户直接使用和二次开发的最佳选择。 电商系统功能 (一) 系统管理:菜单权限、前台菜单、角色管理、职员管理、登录日志、操作日志、图片空间、商城消息、风格设置、计划任务 (二) 基础设置:商城配置、导航管理、广告管理、广告位置、银行管理、支付管理、地区管理、友情链接、快递管理、消息模板 (三) 会员管理:会员等级、会员管理、账号管理 (四) 文章管理:文章管理、文章分类 (五) 运营管理:推荐管理、商品推荐、店铺推荐、品牌推荐、财务管理、资金管理、提现申请、结算管理、商家结算、充值送、退款原路返回 (六) 订单管理:订单管理、投诉管理、退款管理 (七) 店铺管理:店铺认证、开店申请、店铺管理、停用店铺 (八) 商品管理:商品管理、已上架商品、待审核商品、违规商品、商品分类、商品属性、品牌管理、商品规格、评价管理 (九) 虚拟物品自动发货:虚拟商品上架、卡密管理、自动发货 (十) 扩展管理:插件管理、钩子管理 (十一) 分销管理:分销管理菜单、分销商家列表、分销商品列表、佣金分成列表、推广用户列表 (十二) 数据分析:商品销售排行、店铺销售统计、销售额统计、销售订单统计、新增会员统计、会员登录统计 (十三) 营销管理:三级分销,商品团购,限时拍卖、微砍价、优惠券、满减、满送、满包邮、签到送积分、积分商城,拼团 (十四) 微信管理:公众号设置、自定义菜单、用户管理、主动回复文本信息、主动回复图文信息、微信消息模板 (十五) 支付管理:支付宝支付,微信支付、银联支付、货到付款、积分支付、余额支付 (十六) 短信接口:中国网建、阿里大于、阿里云-云通信、短信宝 (十七) 登录接口:QQ登录、微信登录、微博登录、支付宝登录 (十八) 物流接口:快递100接口 (十九) 其他接口:LBS、UCenter通信接口(可与社区论坛等同步登录退出)
ThinkPHP电商源码是使用ThinkPHP框架开发的一套用于构建电商网站的代码程序。这个源码提供了多种功能和模块,可以帮助开发者快速搭建一个完整的电商平台。 ThinkPHP电商源码的主要功能包括商品管理、订单管理、会员管理、促销活动、支付接口等。商品管理模块可以方便地添加、编辑和删除商品,包括商品的基本信息、价格、库存等等。订单管理模块可以管理用户的订单,包括查看、修改和取消订单。会员管理模块可以管理用户的注册和登录,包括用户信息、购物车等等。促销活动模块可以设置各种促销活动,例如满减、折扣等等,从而吸引用户。支付接口模块可以集成各种支付方式,例如支付宝、微信支付等等,方便用户进行在线支付。 ThinkPHP电商源码的优点是使用了ThinkPHP框架,具备良好的扩展性和可维护性。开发者可以根据自己的需求,进行二次开发和定制,添加和修改各种功能。同时,ThinkPHP框架提供了丰富的文档和教程,对于开发者来说非常友好。此外,ThinkPHP电商源码还具备良好的性能和安全性,能够应对高并发和大量数据的处理。 综上所述,ThinkPHP电商源码是一套功能强大、易于扩展和定制化的电商网站构建程序。它具备了多种功能模块和支付接口,方便用户进行商品管理、订单管理、会员管理等操作。开发者可以根据自己的需求进行二次开发和定制,实现个性化的电商平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值