param(); $con = []; $con = Tool::getOptionalQuery(); $query = ModelPartners::where($con) ->field([ 'partners_id', 'partners_guid', 'partners_img', 'partners_des', 'partners_sort' ]) ->order('partners_sort', 'asc'); return $isExport ? $query->select()->toArray() : msg("获取合作伙伴列表成功!", $query); } /** * 添加合作伙伴 */ public function addPartners(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('partners'); try { $params = $request->param(); $this->validate($params, [ 'partners_img|图片' => 'require', // 'partners_des|描述' => 'require', // 'partners_sort|排序' => 'require' ]); $model = ModelPartners::create($params, [ 'partners_img', 'partners_des', 'partners_sort', 'partners_guid', 'partners_create_user_guid', 'partners_update_user_guid' ]); Db::commit(); Tool::unlockTable(); return msg('添加成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 编辑合作伙伴 */ public function editPartners(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('partners'); try { $params = $request->param(); $this->validate($params, [ 'partners_img|图片' => 'require', // 'partners_des|描述' => 'require', 'partners_sort|排序' => 'require' ]); $model = ModelPartners::where('partners_guid', $params['partners_guid'])->find(); if (!$model) throwErrorMsg("该合作伙伴不存在", 1); $model->allowField([ 'partners_img', 'partners_des', 'partners_sort', 'partners_update_user_guid' ])->save($params); Db::commit(); Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } /** * 删除合作伙伴 */ public function deletePartners(Request $request): array { Db::startTrans(); Tool::adminLockTableWrite('partners'); try { $params = $request->param(); $this->validate($params, [ 'partners_guid' => 'require', ]); $partners = ModelPartners::where([ 'partners_guid' => explode(',', $params['partners_guid']) ])->select(); $partners->delete(); Db::commit(); Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); Tool::unlockTable(); throw $th; } } }