TP6----redis的hash操作打造商城购物车

创建一个购物车的控制器

控制器层
namespace app\api\controller;
use app\common\lib\Show;

use think\facade\cache;
use app\common\business\Cart as CartBis;
class Cart extends AuthBase {

    public function add() {
    	//添加购物车为post请求
        if(!$this->request->isPost()) {
            return Show::error();
        }
        //获取商品id
        $id = input("param.id", 0, "intval");
        //获取商品数量
        $num = input("param.num", 0, "intval");
        //都不可以为空
        if(!$id || !$num) {
            return Show::error("参数不合法");
        }
        //将信息添加到redies
       	$data = [
       	
		]
        cache::hSet("mall_cart_".$this->userId, $id, $num);
        $res = (new CartBis())->insertRedis($this->userId, $id, $num);
        if($res === FALSE) {
            return Show::error();
        }
        return Show::success();
    }

    public function lists() {
        $ids = input("param.id", "", "trim");
        $res = (new CartBis())->lists($this->userId, $ids);
        if($res === FALSE) {
            return Show::error();
        }
        return Show::success($res);
    }

    public function delete() {
        if(!$this->request->isPost()) {
            return Show::error();
        }

        $id = input("param.id", 0, "intval");
        if(!$id) {
            return Show::error("参数不合法");
        }
        $res = (new CartBis())->deleteRedis($this->userId, $id);
        if($res === FALSE) {
            return Show::error();
        }
        return Show::success($res);
    }

    public function update() {
        if(!$this->request->isPost()) {
            return Show::error();
        }

        $id = input("param.id", 0, "intval");
        $num = input("param.num", 0, "intval");
        if(!$id || !$num) {
            return Show::error("参数不合法");
        }

        try {
            $res = (new CartBis())->updateRedis($this->userId, $id, $num);
        }catch (\think\Exception $e) {
            return Show::error($e->getMessage());
        }
        if($res === FALSE) {
            return Show::error();
        }
        return Show::success($res);
    }
}
完成添加逻辑后,将信息添加到redis中

在这里插入图片描述

逻辑层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值