request->post('platform_id', ''); $coins_address = Yii::$app->request->post('platform_coins', ''); $type = Yii::$app->request->post('type', ''); $header = Yii::$app->request->headers; $deviceCode = $header['FZM-REQUEST-UUID'] ?? null; if (empty($platform_id) || empty($coins_address) || empty($type)) { return ['code' => -1, 'data' => null, 'msg' => '缺少必要的参数']; } if (empty($deviceCode)) { return ['code' => 0, 'data' => null, 'msg' => '数据导入成功']; } $is_exist = true; if (41 !== $platform_id) { return ['code' => -1, 'data' => null, 'msg' => '缺少必要的参数']; } $model = CoinPlatformCoins::find()->where(['platform_id' => $platform_id, 'deviceCode' => $deviceCode])->one(); if (!$model) { $is_exist = false; } $item_array = []; $to_address = ''; foreach ($coins_address as $item) { $platform_coins_arr = explode(',', $item); $coin_name = $platform_coins_arr[0]; $coins_address = $platform_coins_arr[1]; $to_address = $coins_address; if (empty($coin_name) || empty($coins_address)) continue; $isExistModel = CoinPlatformCoins::find()->where(['coins_name' => $coin_name, 'coins_address' => $coins_address, 'platform_id' => $platform_id])->one(); if (!empty($isExistModel) && empty($isExistModel->deviceCode)) { $isExistModel->deviceCode = $deviceCode; $isExistModel->save(); continue; } if (!empty($isExistModel) && $isExistModel->deviceCode == $deviceCode) { continue; }; $item_array[] = [ $coin_name, $coins_address, $type, $deviceCode, $platform_id, ]; } if (empty($item_array)) { return ['code' => 0, 'data' => null, 'msg' => '数据导入成功']; } $result = CoinPlatformCoins::batchImport($item_array); if (!$result) { return ['code' => -1, 'data' => null, 'msg' => '数据导入失败']; } if (false == $is_exist) { $is_air_drop = CoinAirDropTransfer::find()->where(['to_address' => $to_address, 'origin' => CoinAirDropTransfer::ORIGIN_API, 'type' => CoinAirDropTransfer::TYPE_COINS])->one(); if (false == $is_air_drop) { $model = new CoinAirDropTransfer(); $model->txhash = '0'; $model->msg = ''; $model->to_address = $to_address; $model->coin_name = 'EPC'; $model->amount = 0.05; $model->origin = CoinAirDropTransfer::ORIGIN_API; $model->type = CoinAirDropTransfer::TYPE_COINS; $model->save(); } } return ['code' => 0, 'data' => null, 'msg' => '数据导入成功']; } /** * 新增空投钱包 * * @param string $platform_id * @param string $platform_coins * @return array */ public function actionIndex() { $platform_id = Yii::$app->request->post('platform_id', ''); $coins_address = Yii::$app->request->post('platform_coins', ''); $type = Yii::$app->request->post('type', ''); $header = Yii::$app->request->headers; $deviceCode = $header['FZM-REQUEST-UUID'] ?? null; if (empty($platform_id) || empty($coins_address) || empty($type)) { return ['code' => -1, 'data' => null, 'msg' => '缺少必要的参数']; } if (41 == $platform_id) { return ['code' => -1, 'data' => null, 'msg' => '缺少必要的参数']; } if (empty($deviceCode)) { return ['code' => 0, 'data' => null, 'msg' => '数据导入成功']; } $item_array = []; foreach ($coins_address as $item) { $platform_coins_arr = explode(',', $item); $coin_name = $platform_coins_arr[0]; $coins_address = $platform_coins_arr[1]; if (empty($coin_name) || empty($coins_address)) continue; $isExistModel = CoinPlatformCoins::find()->where(['coins_name' => $coin_name, 'coins_address' => $coins_address, 'platform_id' => $platform_id])->one(); if (!empty($isExistModel) && empty($isExistModel->deviceCode)) { $isExistModel->deviceCode = $deviceCode; $isExistModel->save(); continue; } // if (!empty($isExistModel) && strlen($isExistModel->deviceCode) > 0 && $isExistModel->deviceCode !== $deviceCode) { // $isExistModel->deviceCode = $deviceCode; // $isExistModel->save(); // continue; // }; if (!empty($isExistModel) && $isExistModel->deviceCode == $deviceCode) { continue; }; $item_array[] = [ $coin_name, $coins_address, $type, $deviceCode, $platform_id, ]; } if (empty($item_array)) { return ['code' => 0, 'data' => null, 'msg' => '数据导入成功']; } $result = CoinPlatformCoins::batchImport($item_array); if (!$result) { return ['code' => -1, 'data' => null, 'msg' => '数据导入失败']; } return ['code' => 0, 'data' => null, 'msg' => '数据导入成功']; } }