$goodsId,'user_id'=>$userId])->findOrEmpty(); if($data->isEmpty()) { // 没数据,首次收藏 $insertData = [ 'goods_id' => $goodsId, 'user_id' => $userId, 'status' => 1, 'create_time' => time() ]; $result = GoodsCollect::create($insertData); return [ 'result' => $result, 'msg' => '收藏成功' ]; }else{ // 收藏过,修改收藏状态 $newStatus = $data['status'] ? 0 : 1; $msg = $newStatus ? '收藏成功' : '取消收藏'; $updateData = [ 'id' => $data['id'], 'status' => $newStatus, 'update_time' => time() ]; $result = GoodsCollect::update($updateData); return [ 'result' => $result, 'msg' => $msg ]; } } public static function lists($get) { $where = [ 'gc.user_id' => $get['user_id'], 'gc.status' => 1, ]; $lists = GoodsCollect::alias('gc') ->field('g.id,g.shop_id,g.name,g.image,g.min_price,g.status,g.audit_status,g.del') ->leftJoin('goods g', 'g.id=gc.goods_id') ->where($where) ->order('gc.update_time', 'desc') ->page($get['page_no'], $get['page_size']) ->select() ->toArray(); $count = GoodsCollect::alias('gc') ->field('g.id,g.name,g.image,g.min_price,g.status') ->leftJoin('goods g', 'g.id=gc.goods_id') ->where($where) ->count(); foreach($lists as &$item) { // 标识商品是否失效 $item['is_valid'] = 1; // 下架、待审核、审核拒绝、已删除的均标识为失效 if($item['status'] == 0 || $item['audit_status'] != 1 || $item['del'] == 1) { $item['is_valid'] = 0; } } $data = [ 'lists' => $lists, 'count' => $count, 'more' => is_more($count, $get['page_no'], $get['page_size']), 'page_no' => $get['page_no'], 'page_size' => $get['page_size'], ]; return $data; } }