request->isAjax) { if (\Yii::$app->request->isPost) { $params = Yii::$app->request->post(); $rules = [ [['bouns_file'], 'required'], [['bouns_file'], 'string'], ]; $res = Yii::$app->services->validate->validate($params, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); try { // 查询当前用户上一个文件状态是否改变 $hand_bonus = AddonsHandBouns::find()->where(['mall_id' => $this->mall_id])->orderBy('id desc')->one(); if ($hand_bonus && $hand_bonus->export_status == 0) { return $this->error('上次提交文件还未完全导入,请稍后在试'); } $params['operator_id'] = $this->admin->id; $params['operator_name'] = $this->admin->account; $params['mall_id'] = $this->mall_id; $model = AddonsHandBouns::setData($params); if ($model == false) throw new Exception(AddonsHandBouns::getStaticError()); // 提交到异步处理 Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, ['id' => $model->id], BounsListener::class, 'async_handle'); $this->success('提交成功,正在处理异步处理'); } catch (Exception $e) { $this->error('提交失败:' . $e->getMessage()); } }else{ $params = Yii::$app->request->get(); $rules = [ [['export_status'], 'integer'], [['start_time','end_time','operator_name'], 'string'], ]; $res = Yii::$app->services->validate->validate($params, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 条件组合 $where = [['mall_id' => $this->mall_id]]; $where[] = ['=', 'status', StatusEnum::ENABLED]; isset($params['start_time']) && isset($params['end_time']) && $where[] = ['between', 'created_at', strtotime($params['start_time']), strtotime($params['end_time'])]; isset($params['operator_name']) && $where[] = ['=', 'operator_name', $params['operator_name']]; isset($params['export_status']) && $where[] = ['=', 'export_status', $params['export_status']]; $order = "id desc"; $list_params = compact('where', 'order'); $list = AddonsHandBouns::listPage($list_params, false, true); if ($list === false) return $this->error(AddonsHandBouns::getStaticError()); $is_allow_minus = Yii::$app->services->setting->mall->get($this->mall_id, 'hand_bonus.is_allow_minus'); if (!$is_allow_minus) $is_allow_minus = false; return $this->success('操作成功', compact('list', 'is_allow_minus')); } } return $this->render($this->action->id); } public function actionExportError(){ if (\Yii::$app->request->isPost) { $params = Yii::$app->request->post(); // 失败订单导出 if(\Yii::$app->request->post('flag') == 'EXPORT'){ $rules = [[['export_id'], 'required'], [['export_id'], 'integer']]; $res = Yii::$app->services->validate->validate($params, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $download['mall_id'] = $this->mall_id; $download['hand_bouns_id'] = $params['export_id']; $download['style'] = 2; $filename = '手动分红失败记录-' . date('YmdHis').'_'.rand(10000,99999); $res = CsvExportHelper::exportDownLoadCenter($this->mall_id,$filename,DownloadEnum::TYPE_HAND_BOUNS,AddonsHandBounsLog::class,'exportHandle',$download); if ($res === false) return $this->error('加入导出任务失败'.CsvExportHelper::getStaticError()); return $this->success('添加导出任务成功,任务完成后请在下载中心进行下载!'); } }else{ $params = Yii::$app->request->get(); $rules = [ [['export_id'], 'integer'], ]; $res = Yii::$app->services->validate->validate($params, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 条件组合 $where = [['mall_id' => $this->mall_id]]; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'export_status', 2]; $where[] = ['=','hand_bouns_id',$params['export_id']]; $order = "id desc"; $list_params = compact('where', 'order'); $list = AddonsHandBounsLog::listPage($list_params, false, true); if ($list === false) return $this->error(AddonsHandBounsLog::getStaticError()); return $this->success('操作成功', $list); } } public function actionExportSuccess(){ if (\Yii::$app->request->isPost) { $params = Yii::$app->request->post(); // 失败订单导出 if(\Yii::$app->request->post('flag') == 'EXPORT'){ $rules = [[['export_id'], 'required'], [['export_id'], 'integer']]; $res = Yii::$app->services->validate->validate($params, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $download['mall_id'] = $this->mall_id; $download['hand_bouns_id'] = $params['export_id']; $download['style'] = 1; $filename = '手动分红成功记录-' . date('YmdHis').'_'.rand(10000,99999); $res = CsvExportHelper::exportDownLoadCenter($this->mall_id,$filename,DownloadEnum::TYPE_HAND_BOUNS,AddonsHandBounsLog::class,'exportHandle',$download); if ($res === false) return $this->error('加入导出任务失败'.CsvExportHelper::getStaticError()); return $this->success('添加导出任务成功,任务完成后请在下载中心进行下载!'); } }else{ $params = Yii::$app->request->get(); $rules = [ [['export_id'], 'integer'], ]; $res = Yii::$app->services->validate->validate($params, $rules); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 条件组合 $where = [['mall_id' => $this->mall_id]]; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'export_status', 1]; $where[] = ['=','hand_bouns_id',$params['export_id']]; $order = "id desc"; $list_params = compact('where', 'order'); $list = AddonsHandBounsLog::listPage($list_params, false, true); if ($list === false) return $this->error(AddonsHandBounsLog::getStaticError()); return $this->success('操作成功', $list); } } /** * @Author: ltm * @DateTime: 2022/3/7 0007 11:42 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $data * @return string */ public function actionDownloadHandBounsTemplate() { $csv = new CsvTool(); $csv->filename = '手动分红模板'; $csv->file_dirname = DownloadEnum::getTypeStorageDirMap(DownloadEnum::TYPE_HAND_BOUNS); $csv->export_mode = CsvTool::EXPORT_MODE_SYNC; $csv->header = ['会员ID', '手机号码', '余额','佣金','积分', '备注']; $csv->export(true); } /** * 手动分红导入负数开关 * @return mixed|null */ public function actionAllowMinus() { $is_allow_minus = Yii::$app->request->post('is_allow_minus', false); $data['hand_bonus']['is_allow_minus']= $is_allow_minus; $res = Yii::$app->services->setting->mall->set($this->mall_id, $data); if ($res === false) return $this->error(Yii::$app->services->setting->mall->getError()); return $this->success("更改成功"); } }