| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 | <?phpnamespace app\common\model;use app\hander\HelpHander;use think\Db;class WxCart extends Base{    public function add($goodsId,$userId){        $map[]=['user_id','=',$userId];        $map[]=['goods_id','=',$goodsId];        $goodsStock=Db::name('wx_goods')            ->where('id',$goodsId)->value('stock');//        if($goodsStock < 1){//            $this->error='库存不足';//            return false;//        }        $find=Db::name('wx_goods_cart')->where($map)->find();        if($find){            $ret=Db::name('wx_goods_cart')->where($map)->inc('nums')->update(['update_time'=>date('Y-m-d H:i:s')]);        }else{            $data=[                'user_id'=>$userId,                'goods_id'=>$goodsId,                'nums'=>1,                'create_time'=>date('Y-m-d H:i:s'),            ];            $ret=Db::name('wx_goods_cart')->insert($data);        }        return $ret;    }    public function lists($userId,$orgId){        $ret=Db::name('wx_goods_cart')            ->alias('c')            ->join('wx_goods g','c.goods_id=g.id')            ->field('c.id,c.goods_id,c.nums,g.title,g.img,g.price,g.enable,g.label')            ->where('c.user_id',$userId)            ->where('g.del',0)            ->where('g.org_id',$orgId)            ->order('c.id','desc')            ->select();        $total = 0;        $num = 0;        foreach ($ret as $k=>$v){            $ret[$k]['label_name'] = $v['label']>0?Db::name('wx_goods_label')                ->where('id',$v['label'])                ->value('title'):"";            $total+=$v['nums']*$v['price'];            $num+=$v['nums'];        }        $data = [            'list'=>$ret,            'nums'=>$num,            'total'=>sprintf("%01.2f", $total),        ];        return $data;    }    public function updateNum($id,$nums){        $nums = intval($nums);        if($nums==0){            $ret=Db::name('wx_goods_cart')->where('id',$id)                ->delete();            return $ret;        }else{            $ret=Db::name('wx_goods_cart')->where('id',$id)                ->update(['nums'=>$nums,'update_time'=>date('Y-m-d H:i:s')]);            return $ret;        }        $ret=Db::name('wx_goods_cart')->where('id',$id)            ->update(['nums'=>$nums,'update_time'=>date('Y-m-d H:i:s')]);        return $ret;    }    public function setCartNum($userId,$id,$type,$num){        $map[]=['user_id','=',$userId];        $map[]=['id','=',$id];        $find=Db::name('wx_goods_cart')->where($map)->find();        if(empty($find)){            HelpHander::error('信息不存在');        }        if($type==0){            $ret=Db::name('wx_goods_cart')                ->where($map)->inc('nums',$num)                ->update(['update_time'=>date('Y-m-d H:i:s')]);        }else{            if($find['nums']==1){                $ret=Db::name('wx_goods_cart')->where($map)                    ->delete();            }else{                $ret=Db::name('wx_goods_cart')->where($map)                    ->dec('nums')                    ->update(['update_time'=>date('Y-m-d H:i:s')]);            }        }        return $ret;    }    public function setGoodsNum($userId,$goodsId,$type,$num){        $map[]=['user_id','=',$userId];        $map[]=['goods_id','=',$goodsId];        $find=Db::name('wx_goods_cart')->where($map)->find();        if($type==0){            if($find){                $ret=Db::name('wx_goods_cart')                    ->where($map)->inc('nums',$num)                    ->update(['update_time'=>date('Y-m-d H:i:s')]);            }else{                $data=[                    'user_id'=>$userId,                    'goods_id'=>$goodsId,                    'nums'=>1,                    'create_time'=>date('Y-m-d H:i:s'),                ];                $ret=Db::name('wx_goods_cart')->insert($data);            }        }else{            if(empty($find)){                HelpHander::error('信息不存在');            }            if($find['nums']==1){                $ret = Db::name('wx_goods_cart')->where($map)->delete();            }else{                $ret=Db::name('wx_goods_cart')->where($map)                    ->dec('nums')                    ->update(['update_time'=>date('Y-m-d H:i:s')]);            }        }        return $ret;    }    public function goodsFav($userId,$goodsId){        $map[]=['user_id','=',$userId];        $map[]=['goods_id','=',$goodsId];        $find=Db::name('wx_goods_fav')->where($map)->find();        if($find){            $ret = Db::name('wx_goods_fav')->where($map)->delete();            $p = [                'type'=>0,                'ret'=>$ret,            ];        }else{            $data=[                'user_id'=>$userId,                'goods_id'=>$goodsId,                'create_time'=>date('Y-m-d H:i:s'),            ];            $ret=Db::name('wx_goods_fav')->insert($data);            $p = [                'type'=>1,                'ret'=>$ret,            ];        }        return $p;    }    public function del($id){        $ret=Db::name('wx_goods_cart')->where('id',$id)->delete();        return $ret;    }}
 |