100], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => 'Mall ID', 'status' => 'Status', 'payment_type' => 'Payment Type', 'statistics_id' => 'Statistics ID', 'trade_type' => 'Trade Type', 'total_refund_money' => 'Total Refund Money', 'total_pay_money' => 'Total Pay Money', 'date' => 'Date', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } /** * @param array $data * * @return array */ public static function setData(array $data): array { $models = []; foreach ($data as $item) { $model = self::findOne([ 'mall_id' => $item['mall_id'], 'status' => StatusEnum::ENABLED, 'statistics_id' => $item['statistics_id'], 'date' => $item['date'], 'payment_type' => $item['payment_type'], 'trade_type' => $item['trade_type'], ]); if (!$model) { $model = new self(); $model->loadDefaultValues(); $model->load($item, ''); } else { $model->total_refund_money += $item['total_refund_money']; $model->total_pay_money += $item['total_pay_money']; } $saveRes = $model->save(); if (!$saveRes) { throw new \RuntimeException('数据写入失败'); } $models[] = $model; } return $models; } }