field('id,name,pid,level') ->where(['is_show'=>DefaultEnum::SHOW]) ->where($where) ->order(['sort'=>'desc','id'=>'asc']) ->select() ->toArray(); if (!$is_son) { $lists = linear_to_tree($lists,'sons'); } return $lists; } /** * @notes 添加服务分类 * @param $params * @return bool * @author ljj * @date 2022/2/8 5:03 下午 */ public function add($params) { $level = isset($params['pid']) ? (GoodsCategory::where('id',$params['pid'])->value('level') + 1) : 1; $is_recommend = $params['is_recommend'] ?? 0; if (isset($params['pid']) && $params['pid'] > 0) { $is_recommend = GoodsCategory::where('id',$params['pid'])->value('is_recommend'); } GoodsCategory::create([ 'name' => $params['name'], 'pid' => $params['pid'] ?? 0, 'level' => $level, 'image' => $params['image'] ?? '', 'sort' => $params['sort'] ?? DefaultEnum::SORT, 'is_show' => $params['is_show'], 'is_recommend' => $is_recommend, ]); return true; } /** * @notes 查看服务分类详情 * @param $id * @return array * @author ljj * @date 2022/2/8 5:21 下午 */ public function detail($id) { $result = GoodsCategory::where('id',$id)->findOrEmpty()->toArray(); $result['pid'] = $result['pid'] ?: ''; return $result; } /** * @notes 编辑服务分类 * @param $params * @return bool * @author ljj * @date 2022/2/8 6:25 下午 */ public function edit($params) { $level = isset($params['pid']) ? (GoodsCategory::where('id',$params['pid'])->value('level') + 1) : 1; GoodsCategory::update([ 'name' => $params['name'], 'pid' => $params['pid'] ?? 0, 'level' => $level, 'image' => $params['image'] ?? '', 'sort' => $params['sort'], 'is_show' => $params['is_show'], 'is_recommend' => $params['is_recommend'] ?? 0, ],['id'=>$params['id']]); //更新下级首页推荐 GoodsCategory::update([ 'is_recommend' => $params['is_recommend'] ?? 0, ],['pid'=>$params['id']]); return true; } /** * @notes 删除服务分类 * @param $id * @return bool * @author ljj * @date 2022/2/8 6:34 下午 */ public function del($id) { return GoodsCategory::destroy($id); } /** * @notes 修改服务分类状态 * @param $params * @return bool * @author ljj * @date 2022/2/10 10:57 上午 */ public function status($params) { GoodsCategory::update(['is_show'=>$params['is_show']],['id'=>$params['id']]); return true; } }