viewPath); return View::fetch(); } else { try { $kw = input('kw'); if (!empty($kw)) { $condition[] = array('platform_name', 'like', "%$kw%"); } $p = input('p', 1); $other['page_size'] = input('page_size', 20); $order = 'order_id asc,id asc'; $count = Db::name($this->tableName)->where($condition)->count(); $list = Db::name($this->tableName)->field("*")->where($condition)->withAttr('platform_region_id', function ($value) { // $info['goods_purpose'] = json_decode($info['goods_purpose'], TRUE); return json_decode($value, TRUE); })->order($order)->page($p, $other['page_size'])->select()->toArray(); $other['count'] = $count; if (!$list) { $list = []; } $result['other'] = $other; $result['list'] = $list; return $this->successResponse($result); } catch (Exception $exc) { return $this->errorResponse($exc->getMessage()); } } } /** *保存销售平台 */ public function save() { if (!Request::isPost()) { return $this->errorResponse(lang('request_method_incorrect')); } //开始事务 Db::startTrans(); try { $data = Request::post(); $validate = new SalesPlatformValidate(); $check_result = $validate->check($data); if (!$check_result) { throw new Exception($validate->getError()); } if ($data['platform_region_id']) { $data['platform_region_id'] = json_encode(array_map('intval', $data['platform_region_id']));////将数组中的值转为数字类型///// } $id = input('post.id'); if (is_numeric($id)) { //更新数据 $update_result = Db::name($this->tableName)->where('id', $id)->withoutField('id')->save($data); if ($update_result === FALSE) { return $this->errorResponse(lang('editing_failed')); } //提交事务 Db::commit(); return $this->successResponse('修改成功!'); } else { //添加数据 unset($data['id']); $add_result = Db::name($this->tableName)->insertGetId($data); if (!$add_result) { return $this->errorResponse('添加失败!'); } Db::name($this->tableName)->where('id', $add_result)->save(['order_id' => $add_result]); //提交事务 Db::commit(); return $this->successResponse('添加成功!'); } } catch (Exception $exc) { // 回滚事务 Db::rollback(); return $this->errorResponse($exc->getMessage()); } } function updateExt() { try { if (!Request::isPost()) { throw new Exception(lang('request_method_incorrect')); } $postField = 'id,is_show'; $data = Request::only(explode(',', $postField), 'post'); if (!$data['id']) { throw new Exception(lang('parameter_error')); } Db::name($this->tableName)->update($data); $result['message'] = '操作成功'; return $this->successResponse($result); } catch (\Exception $exc) { return $this->errorResponse($exc->getMessage()); } } public function uploadLogo() { $logo = input('logo'); $id = input('id'); $ext_arr = array( 'image' => array('jpg', 'jpeg', 'png'), ); $maxSizeArr = array( 'image' => 1024 * 1024 * 10, ); $bannersize = Config::get('app.BANNER_SIZE'); $width = $bannersize['suolue']['w']; $height = $bannersize['suolue']['h']; $ratio = $bannersize['suolue']['r']; $upload = new \common\UploadFile(); // 实例化上传类 $upload->uploadReplace = TRUE; //同名文件自动覆盖 $upload->autoSub = TRUE; // 启用子目录保存文件 $upload->subType = 'date'; // 子目录创建方式 可以使用hash date custom $upload->dateFormat = 'Y/m/d'; //定义 subType=date 后,才需要定义dateFormat $upload->maxSize = 1024 * 1024 * 0; // 设置附件上传大小 10M $upload->maxSizeArr = $maxSizeArr; // 设置附件上传大小 10M $upload->allowExts = $ext_arr; // 设置附件上传类型 $upload->savePath = './static/upload/'; // 设置附件上传目录 $upload->ratio = $ratio; //1:按比例缩放,2:裁切固定值大小 $upload->thumb = FALSE; // 使用对上传图片进行缩略图处理 //$upload->imageClassPath='LIB.Util.Image'; // 图库类包路径 用于生成缩略图 $upload->thumbMaxWidth = $width; // 缩略图最大宽度 $upload->thumbMaxHeight = $height; // 缩略图最大高度 $upload->thumbRemoveOrigin = FALSE; // 是否移除原图 移除原图时,必须给 thumbPrefix指定一个前缀,否则会将原图误删除 $backinfo = $upload->uploadmore(); if (!$backinfo) {// 上传错误提示错误信息 return $this->errorResponse($upload->getErrorMsg()); } else { $update_info = $upload->getUploadFileInfo(); $photo = $update_info['savename']; if (is_numeric($id) && $id > 0) { $info = Db::name($this->tableName)->field('logo')->where('id', $id)->find(); if($info){ if($info['logo']){ delpic($info['logo']); } $update_data['logo'] = $photo; Db::name($this->tableName)->where('id', $id)->update($update_data);//更新数据 $this->uploadFileToCos($photo);//上传到cos } else{ //数据不存在视为新增数据,删除旧图片 if ($logo) { delpic($logo); $this->deleteFileFromCos($logo);//从cos删除文件 } } } else { //新增数据,删除旧图片 if ($logo) { delpic($logo); $this->deleteFileFromCos($logo);//从cos删除文件 } } // 上传成功 获取上传文件信息 //上传可同时上传多个,上传方式为一次上传多个 $result['logo'] = $photo; $result['message'] = lang('successfully_uploaded'); return $this->successResponse($result); } } /** * 删除销售平台 * @return array|int[] */ public function delete() { if (!Request::isPost()) { return $this->errorResponse(lang('request_method_incorrect')); } //开始事务 Db::startTrans(); try { $id = input('id'); if (!is_numeric($id)) { return $this->errorResponse(lang('parameter_error')); } $condition['id'] = $id; $info = Db::name($this->tableName)->field('id')->where($condition)->find(); if (!$info) { return $this->errorResponse(lang('parameter_error')); } Db::name($this->tableName)->where('id', $id)->delete(); //提交事务 Db::commit(); return $this->successResponse('删除成功!'); } catch (Exception $exc) { // 回滚事务 Db::rollback(); return $this->errorResponse($exc->getMessage()); } } public function getPlatformRegion() { //////// try { if(!Request::isPost()){ throw new Exception(lang('request_method_incorrect')); } $list = Db::name('platform_region')->field("*")->order('order_id,id')->select()->toArray(); if (!$list) { $list = []; } $result['list'] = $list; return $this->successResponse($result); } catch (Exception $exc) { return $this->errorResponse($exc->getMessage()); } } }