find($zone_id); if (!$ZoneRes) throw new ValidateException('所属专区不存在'); $ZoneGoods = new ZoneGoods(); $rule = [ 'zone_id|所属专区id' => 'require|number|max:10', 'title|标题' => 'require|max:10', 'price|单价' => 'require|float|max:12', 'cover_image|封面图'=> 'require|max:127', 'bg_image|背景图' => 'require|max:127', 'max_awards_amount|最高中奖金额' => 'max:12', 'play_id|玩法id' => 'number', 'awards_number_count|中奖号码数量' => 'between:0,5', 'direction_count|纵向数量' => 'between:1,4', 'transverse_count|横向数量' => 'between:1,5', 'awards_icon_dirname|有奖图标目录' => 'max:127' ]; if ($id) { validate()->rule($rule)->scene('goodsParamEdit')->check($param); $Save = $ZoneGoods->find($id); if (!$Save) throw new ValidateException('id参数错误'); $Save->zone_id = $param['zone_id']; $Save->title = $param['title']; $Save->price = $param['price']; $Save->cover_image = $param['cover_image']; $Save->bg_image = $param['bg_image']; if (!empty($content)) $Save->content = $content; if (!empty($param['max_awards_amount'])) $Save->max_awards_amount = $param['max_awards_amount']; if (!empty($param['awards_number_count'])) $Save->awards_number_count = $param['awards_number_count']; if (!empty($param['direction_count'])) $Save->direction_count = $param['direction_count']; if (!empty($param['transverse_count'])) $Save->transverse_count = $param['transverse_count']; if (!empty($param['awards_icon_dirname'])) $Save->awards_icon_dirname = $param['awards_icon_dirname']; if (!empty($param['play_id'])) $Save->play_id = $param['play_id']; $Save->update_time = date("Y-m-d H:i:s",time()); $Save->save(); } else { validate()->rule($rule)->scene('goodsParamAdd')->check($param); $ZoneGoods->save([ 'zone_id' => $zone_id, 'title' => $param['title'], 'max_awards_amount' => $param['max_awards_amount'], 'content' => $content, 'price' => $param['price'], 'cover_image' => $param['cover_image'], 'bg_image' => $param['bg_image'], 'awards_number_count' => $param['awards_number_count'] ?? 3, 'direction_count' => $param['direction_count'] ?? 3, 'transverse_count' => $param['transverse_count'] ?? 4, 'awards_icon_dirname' => $param['awards_icon_dirname'] ?? '', 'play_id' => $param['play_id'] ?? 1, 'create_time' => date("Y-m-d H:i:s",time()) ]); } return $this->renderSuccess($id ? '编辑成功' : '添加成功'); } catch (ValidateException $validateException) { return $this->renderError($validateException->getMessage()); } catch (\Exception $e) { return $this->renderError('操作失败'); } } /** * 上传轮播图图片 * @return array */ public function upload() { $file = request()->file(); $param = Request::param(); try { $rule = [ 'image' => [ 'fileSize:10240000', // 文件大小不超过10M (10 * 1024 KB) 'fileExt:jpeg,jpg,png,gif' ] ]; validate($rule)->check($file); validate(['type' => 'require|in:1,2'])->check($param); $image_path = $param['type'] == 1 ? 'topic' : 'background'; $path = Upload::uploadImage($file['image'],$image_path); return $this->renderSuccess('上传成功',['path' => $path,'url' => get_image_url($path)]); } catch (ValidateException $e) { return $this->renderError($e->getMessage()); } } }