request; if ($request->isAjax) { if($request->isGet){ $keyword = Yii::$app->request->get('keyword', ''); $where = [['mall_id' => $this->mall['id'], 'mch_id' => $this->admin->mch_id, 'status' => StatusEnum::ENABLED]]; $keyword && $where[] = ['like', 'name', $keyword . '%', false]; $order = 'id desc'; $params = compact('where', 'order'); $page_data = FreightRules::listPage($params); if($page_data === false) return $this->error(FreightRules::getStaticError()); return $this->success('操作成功',$page_data); }else{ $form = Yii::$app->request->post(); $rules = [[['id'], 'required'], [['id'], 'integer']]; switch ($form['type']) { case 'destroy': $form['status'] = StatusEnum::DELETE; $rules[] = [['status'], 'required']; break; case 'default': $rules[] = [['is_default'], 'required']; break; } $res = Yii::$app->services->validate->validate($form, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $form['mall_id'] = $this->mall['id']; $form['mch_id'] = $this->admin->mch_id; $res = FreightRules::setData($form); if ($res === false) return $this->error(FreightRules::getStaticError()); return $this->success('操作成功',[]); } } return $this->render($this->action->id); } /** * 货运规则 * @Author bing * @DateTime 2021-08-26 15:05:10 * @copyright: Copyright (c) 2020 广东七件事集团 * @return void */ public function actionEdit(){ if (Yii::$app->request->isAjax) { if (Yii::$app->request->isGet) { $get = Yii::$app->request->get(); $res = Yii::$app->services->validate->validate($get, [[['id'], 'required'], [['id'], 'integer']]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $detail = FreightRules::getOne([['id' => $get['id'], 'mall_id' => $this->mall_id, 'mch_id' => $this->admin->mch_id]], true); $detail['rule'] = json_decode($detail['rule'],true); if (is_array($detail['rule'])) { foreach ($detail['rule'] as &$ruleItem) { !isset($ruleItem['is_enable_ladder_condition']) && $ruleItem['is_enable_ladder_condition'] = 0; !isset($ruleItem['ladder_condition']) && $ruleItem['ladder_condition'] = []; } } return $this->success('操作成功',compact('detail')); } else { $form = Yii::$app->request->post('form'); $form = json_decode($form,true); $id = Yii::$app->request->get('id'); $res = Yii::$app->services->validate->validate($form, [ [['id','select_com','compute_type'], 'integer'], [['name', 'type', 'rule'], 'safe'], ]); if(empty($form['id'])) $form['id'] = $id; if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $form['mall_id'] = $this->mall['id']; $form['mch_id'] = $this->admin->mch_id; $res = FreightRules::setData($form); if ($res === false) return $this->error(FreightRules::getStaticError()); return $this->success('操作成功'); } } return $this->render($this->action->id); } /** * 包邮规则 * @Author bing * @DateTime 2021-08-26 15:05:10 * @copyright: Copyright (c) 2020 广东七件事集团 * @return void */ public function actionFreeShippingRules(){ $request = \Yii::$app->request; if ($request->isAjax) { if($request->isGet){ $keyword = Yii::$app->request->get('keyword', ''); $where = [['mall_id' => $this->mall['id'], 'mch_id' => $this->admin->mch_id, 'status' => StatusEnum::ENABLED]]; $keyword && $where[] = ['like', 'name', $keyword . '%', false]; $order = 'id desc'; $params = compact('where', 'order'); $page_data = FreeShippingRules::listPage($params); if($page_data['list']) foreach ($page_data['list'] as $k => $v) $page_data['list'][$k]['rule'] = json_decode($v['rule']); if($page_data === false) return $this->error(FreeShippingRules::getStaticError()); return $this->success('操作成功',$page_data); }else{ $form = Yii::$app->request->post(); $rules = [[['id'], 'required'], [['id'], 'integer']]; switch ($form['type']) { case 'destroy': $form['status'] = -1; $rules[] = [['status'], 'required']; break; case 'default': $rules[] = [['is_default'], 'required']; break; } $res = Yii::$app->services->validate->validate($form, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $form['mall_id'] = $this->mall['id']; $form['mch_id'] = $this->admin->mch_id; $res = FreeShippingRules::setData($form); if ($res === false) return $this->error(FreeShippingRules::getStaticError()); return $this->success('操作成功'); } } return $this->render($this->action->id); } /** * 编辑包邮规则 * @Author bing * @DateTime 2021-08-26 15:05:10 * @copyright: Copyright (c) 2020 广东七件事集团 * @return void */ public function actionFreeShippingEdit(){ if (Yii::$app->request->isAjax) { if (Yii::$app->request->isGet) { $get = Yii::$app->request->get(); $res = Yii::$app->services->validate->validate($get, [ [['id'], 'required'], [['id'], 'compare', 'compareValue' => 0, 'operator' => '>'] ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $detail = FreeShippingRules::getOne([['id' => $get['id'], 'mall_id' => $this->mall_id, 'mch_id' => $this->admin->mch_id]], true); $detail['rule'] = json_decode($detail['rule'],true); return $this->success('操作成功',compact('detail')); } else { $form = Yii::$app->request->post('form'); $res = Yii::$app->services->validate->validate($form, [ [['id'], 'integer'], [['name', 'money', 'rule' ,'select_com', 'rule_type', 'num'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $form['mall_id'] = $this->mall['id']; $form['mch_id'] = $this->admin->mch_id; if (is_array($form['rule'])) $form['rule'] = json_encode($form['rule']); $res = FreeShippingRules::setData($form); if ($res === false) return $this->error(FreeShippingRules::getStaticError()); return $this->success('操作成功'); } } return $this->render($this->action->id); } /** * @return void */ public function actionDelRule() { $id = Yii::$app->request->post('id'); if (!$id) return $this->error("请选择删除数据"); } }