request; if ($request->isAjax) { // 提交等级内容 if ($request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['page','title','id','date_start','date_end'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); if(!empty($params['title'])) $where[] = ['like','title',$params['title']]; if(!empty($params['id'])) $where[] = ['=','id',$params['id']]; if($params['date_start'] && $params['date_end']) $where[] = ['between', 'created_at', strtotime($params['date_start']),strtotime($params['date_end'])]; $where[] = ['=','mall_id',$this->mall_id]; $where[] = ['>=','status',StatusEnum::DISABLED]; $order = 'id desc'; //var_dump($where); $list = Redpack::listPage(['where' => $where,'order' => $order],false); $list['redpack_type'] = RedpackEnum::getRedpackType('', $this->mall_id); $list['new_time'] = time(); $Platform_config = PlatformSetting::getConfByGroup( 'system', true); $web_url = $Platform_config['h5_url']['value']; $mall_sign = $this->mall['mall_sign']; $list['redpacklinks'] = $web_url.'/#/'.RedpackEnum::REDPACK_LINKS."?sign=".$mall_sign; return $this->success('操作成功',$list); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } return $this->render($this->action->id); } /** * @Author: ltm * @DateTime: 2022/3/21 0021 16:16 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $data * @return string */ public function actionEdit(){ try { $request = Yii::$app->request; if ($request->isAjax) { // 提交等级内容 if ($request->isGet) { $params = Yii::$app->request->get(); $res = Yii::$app->services->validate->validate($params, [ [['id','type'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $detail = Redpack::getOne([['id'=>$params['id']]],true); $user_level_list = UserLevel::getUserLevel([['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED]], [], 1,'level,name,id'); $default['level'] = 0; $default['name'] = '系统默认会员等级'; $default['id'] = 0; array_unshift($user_level_list,$default); $list = []; if(!empty($detail['rule_values'])) $detail['rule_data'] = json_decode($detail['rule_values']); if(!empty($detail['limit_user_level'])) $detail['limit_user_level'] = json_decode($detail['limit_user_level']); if(!empty($detail['rule'])) $detail['rule'] = json_decode($detail['rule']); if(!empty($detail['start_time'])) $detail['start_time'] = date("Y-m-d H:i:s",$detail['start_time']); if(!empty($detail['end_time'])) $detail['end_time'] = date("Y-m-d H:i:s",$detail['end_time']); if(!empty($detail['limit_user_level_num'])) { $detail['limit_user_level_num'] = Json::decode($detail['limit_user_level_num']); } else { foreach ($user_level_list as $item) { $detail['limit_user_level_num'][$item['level']] = 0; } } if($params['type'] == 1) unset($detail['id']); $list['detail'] = $detail; $list['limit_user_level_list'] = $user_level_list; $redpack_name = Yii::$app->services->setting->addons->get($this->mall_id, RedpackEnum::ADDONS_NAME, 'basic.redpack_name'); $redpack_name = empty($redpack_name) ? '红包' : $redpack_name; $list['redpack_name'] = $redpack_name; return $this->success('操作成功',$list); } //提交等级内容 if ($request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['title','time_type','redpack_type'], 'required'], [['times','id','redpack_type','status','rule','rule_data', 'limit_user_level_num', 'is_show_red_envelope_num', 'is_show_invite_button', 'reward_parent_rate', 'is_limit_user_level_num', 'is_show_reward_amount'], 'safe'], [['description','cover','time_type_time','award','day_award','limit_user_level','virtual_award'],'safe'] ]); $params = Redpack::exceptNullVal($params); $params['start_time'] = strtotime($params['time_type_time']['0']); $params['end_time'] = strtotime($params['time_type_time']['1']); $params['rule'] = json_encode($params['rule']); $params['rule_values'] = json_encode($params['rule_data']); $params['limit_user_level'] = json_encode($params['limit_user_level']); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $params['mall_id'] = $this->mall_id; $res = Redpack::setData($params); if ($res === false) throw new Exception(Redpack::getStaticCodeError()['error']); return $this->success('操作成功'); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } return $this->render($this->action->id); } /** * 失效或删除 * @Author: ltm * @DateTime: 2022/3/23 0023 14:06 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|string|void */ public function actionDelOrEnable(){ try { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params, [ [['id','type'], 'required'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); if($params['type'] == StatusEnum::ENABLED) $params['status'] = StatusEnum::ENABLED; if($params['type'] == StatusEnum::DISABLED) $params['status'] = StatusEnum::DISABLED; if($params['type'] == StatusEnum::DELETE) $params['status'] = StatusEnum::DELETE; $params['mall_id'] = $this->mall_id; $res = Redpack::setData($params); if ($res === false) throw new Exception(Redpack::getStaticCodeError()['error']); return $this->success('操作成功'); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } return $this->render($this->action->id); } /** * 商品红包设置 * @Author: lun * @DateTime: 2022/3/23 0023 14:07 * @Copyright: copyright (c) 2021 广东七件事集团 */ public function actionGoodsSetting() { $request = Yii::$app->request; if ($request->isAjax && $request->isPost) { $post = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($post, [ [['goods_id'], 'required'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['=', 'goods_id', $post['goods_id']]; $where[] = ['=', 'status', StatusEnum::ENABLED]; $select = "goods_id,redpack_wallet_type,is_enable,is_percent,give,deduct_type,deduct_money,is_deduct_percent"; $params = compact('where', 'select'); $list = RedpackGoodsSetting::lists($params); return $this->success('操作成功', $list); } } }