param(); $con = []; $con = Tool::getOptionalQuery(); $query = ModelCrossBanner::where($con) ->field([ 'cross_banner_id', 'cross_banner_guid', 'cross_banner_img', 'cross_banner_position', 'cross_banner_sort' ]) ->order('cross_banner_update_time', 'desc'); return $isExport ? $query->select()->toArray() : msg("获取交叉轮播图列表成功!", $query); } /** * 添加交叉轮播图 */ public function addCrossBanner(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('cross_banner'); try { $params = $request->param(); $this->validate($params, [ 'cross_banner_img|图片' => 'require', 'cross_banner_position|位置' => 'require', // 'cross_banner_sort|排序' => 'require' ]); $model = ModelCrossBanner::create($params, [ 'cross_banner_img', 'cross_banner_position', 'cross_banner_sort', 'cross_banner_guid', 'cross_banner_create_user_guid', 'cross_banner_update_user_guid' ]); Db::commit(); Tool::unlockTable(); return msg('添加成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 编辑交叉轮播图 */ public function editCrossBanner(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('cross_banner'); try { $params = $request->param(); $this->validate($params, [ 'cross_banner_img|图片' => 'require', 'cross_banner_position|位置' => 'require', 'cross_banner_sort|排序' => 'require' ]); $model = ModelCrossBanner::where('cross_banner_guid', $params['cross_banner_guid'])->find(); if (!$model) throwErrorMsg("该交叉轮播图不存在", 1); $model->allowField([ 'cross_banner_img', 'cross_banner_position', 'cross_banner_sort', 'cross_banner_update_user_guid' ])->save($params); Db::commit(); Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 删除交叉轮播图 */ public function deleteCrossBanner(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('cross_banner'); try { $params = $request->param(); $this->validate($params, [ 'cross_banner_guid' => 'require', ]); $cross_banner = ModelCrossBanner::where([ 'cross_banner_guid' => explode(',', $params['cross_banner_guid']) ])->select(); $cross_banner->delete(); Db::commit(); Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } }