diff --git a/app/controller/AdminZoneManage.php b/app/controller/AdminZoneManage.php index 487a0e1..67970b0 100644 --- a/app/controller/AdminZoneManage.php +++ b/app/controller/AdminZoneManage.php @@ -46,6 +46,8 @@ class AdminZoneManage extends BaseController return $this->renderSuccess($status == 1 ? '已启用' : '已禁用'); } catch (ValidateException $validateException) { return $this->renderError($validateException->getMessage()); + } catch (\Exception $e) { + return $this->renderError('操作失败'); } } @@ -72,7 +74,9 @@ class AdminZoneManage extends BaseController ->select() ->toArray(); foreach ($list as &$item) { - $item['probability'] = ($item['probability'] * 100) .'%'; + $item['probability_str'] = ($item['probability'] * 100) .'%'; + $item['probability'] = $item['probability'] * 100; + $item['amount'] = round($item['amount']); $item['amount_str'] = format_money($item['amount']); $item['image'] = get_image_url($item['image']); } @@ -81,7 +85,45 @@ class AdminZoneManage extends BaseController } catch (ValidateException $validateException) { return $this->renderError($validateException->getMessage()); } + } + + /** + * 添加|编辑奖金 + * @return array + */ + public function goodsParamSave() + { + $param = Request::param(); + try { + $id = $param['z_g_p_id'] ?? 0; + $zone_goods_id = $param['zone_goods_id'] ?? ''; + + $ZoneGoodsParam = new ZoneGoodsParam(); + if ($id) { + validate(ZoneValidate::class)->scene('goodsParamEdit')->check($param); + $Save = $ZoneGoodsParam->find($id); + $Save->amount = $param['amount']; + $Save->probability = $param['probability'] / 100; + $Save->update_time = date("Y-m-d H:i:s",time()); + $Save->save(); + } else { + validate(ZoneValidate::class)->scene('goodsParamAdd')->check($param); + $zoneGoodsInfo =ZoneGoods::field('cover_image')->find($zone_goods_id); + $ZoneGoodsParam->save([ + 'zone_goods_id' => $zone_goods_id, + 'amount' => $param['amount'], + 'image' => $zoneGoodsInfo['cover_image'], + 'probability' => $param['probability'] / 100, + '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('操作失败'); + } } } diff --git a/app/validate/Zone.php b/app/validate/Zone.php index e6a0eb5..779fce9 100644 --- a/app/validate/Zone.php +++ b/app/validate/Zone.php @@ -15,9 +15,13 @@ class Zone extends Validate * @var array */ protected $rule = [ - 'zone_id|专区id' => 'require|integer', + 'zone_id|专区id' => 'require|number', 'status' => 'in:0,1', - 'zone_goods_id|刮奖专区id' => 'require|integer' + 'zone_goods_id|刮奖专区id' => 'require|number', + 'amount|奖金金额' => 'require|number', + 'probability|中奖率' => 'require|float', + 'z_g_p_id|奖金id' => 'require|number', + 'image|图片logo' => 'require' ]; /** @@ -31,5 +35,7 @@ class Zone extends Validate protected $scene = [ 'changeStatus' => ['zone_goods_id','status'], 'goodsParamList' => ['zone_goods_id'], + 'goodsParamAdd' => ['amount','probability','zone_goods_id'], + 'goodsParamEdit' => ['z_g_p_id','amount','probability','zone_goods_id'] ]; } diff --git a/route/app.php b/route/app.php index 44678cb..bbdc096 100644 --- a/route/app.php +++ b/route/app.php @@ -82,7 +82,8 @@ Route::group('adminUser',function() { Route::group('adminZoneManage',function() { Route::post('zoneGoodsList','adminZoneManage/zoneGoodsList')->middleware(CheckAdmin::class)->allowCrossDomain(); Route::post('zoneGoodsChangeStatus','adminZoneManage/zoneGoodsChangeStatus')->middleware(CheckAdmin::class)->allowCrossDomain(); - Route::post('goodsParamList','adminZoneManage/goodsParamList'); + Route::post('goodsParamList','adminZoneManage/goodsParamList')->middleware(CheckAdmin::class)->allowCrossDomain(); + Route::post('goodsParamSave','adminZoneManage/goodsParamSave')->middleware(CheckAdmin::class)->allowCrossDomain(); }); # 支付(待开发)