255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => '商城ID', 'log_id' => '导入批次id', 'user_id' => '用户id', 'level' => '用户等级id', 'reason' => '失败原因', 'extra' => '导入的内容', 'updated_at' => 'Updated At', 'created_at' => '添加时间', ]; } /** * @param array $where * @param string $select * @param array $with * @param int $is_array * @return array */ public static function getList(array $where, $select = '*', array $with = [], int $is_array = 0) { $query = self::find(); self::paramPack(['where' => $where, 'with' => $with], $query); return $query->select($select)->asArray($is_array)->all(); } public static function packFailArr($param, $fail_arr, $fail_counts) { $fail_counts++; $param['extra'] = json_encode($param); $fail_arr[] = $param; return [$fail_arr, $fail_counts]; } /** * 保存数据 * @param array $params * @param $log_id * @return bool */ public static function setData(array $params, $log_id) { try { foreach ($params as $param) { $model = new self(); $model->loadDefaultValues(); $param['log_id'] = $log_id; if (!$model->load($param, '') || !$model->save()) throw new Exception($model->getErrorMessage()); } return true; } catch (Exception $e) { self::$static_error = $e->getMessage(); return false; } } public static function exportFailLog($params){ $csv = new CsvExport(); $list = self::getList([['log_id' => $params['log_id']]]); $file_name = date('YmdHis', time()); $head_list = ["序号", "用户id", "等级权重Id", '失败原因']; $arr = []; foreach ($list as $k => $val) { $row = []; $extra = json_decode($val['extra'], true); $row[] = $k + 1; $row[] = $extra['user_id']; $row[] = $extra['level']; $row[] = $val['reason']; $arr[] = $row; } return $csv->export($arr, $head_list, $file_name); } }