| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- <?php
- namespace backend\modules\mall\controllers;
- use backend\controllers\MallController;
- use common\enums\StatusEnum;
- use common\models\goods\FreeShippingRules;
- use common\models\goods\FreightRules;
- use common\models\goods\GoodsCate;
- use common\models\goods\GoodsCateRelate;
- use Yii;
- /**
- *
- * 货运控制器
- * @Author bing
- * @DateTime 2021-08-16 13:12:44
- * @copyright: Copyright (c) 2020 广东七件事集团
- */
- class FreightController extends MallController
- {
- /**
- * 货运规则
- * @Author bing
- * @DateTime 2021-08-26 15:05:10
- * @copyright: Copyright (c) 2020 广东七件事集团
- * @return void
- */
- public function actionRules(){
- $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 = 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("请选择删除数据");
- }
- }
|