/**
* 导入游戏资料包
* author:mzc
* date:2018/5/11 9:51
*/
public function actionDataPkg()
{
$db = \Yii::$app->db;
$btbox_db = \Yii::$app->btbox_db;
try {
//1. 新系统--查询现有游戏资料包存在但格式不是rar或zip的游戏及资料包id和游戏资料包不存在的游戏
$sql = "select id,data_pkg from cy_game where data_pkg in (SELECT id FROM `cy_upload` where ext not in('zip','rar'))";
$sql .= " or (data_pkg =0 or data_pkg is NULL)";//游戏资料包不存在的游戏
// $sql = "select id,data_pkg from cy_game where id=9 ";
$result = $db->createCommand($sql)->queryAll();
if (empty($result)) {
self::repSuccess('导入资料包成功');
}
$dataPkg = array_column($result, 'data_pkg');
$dataPkg = array_unique(array_filter($dataPkg));
$gameid = array_column($result, 'id');
//2. 删除新系统中资料包不是rar或zip的上传记录
if (!empty($dataPkg)) {
$db->createCommand()->delete('cy_upload', ['id' => $dataPkg])->execute();
}
//3. 老系统-查询对应的游戏的资料包地址,资料包名称
if (!empty($gameid)) {
$gameidStr = trim(implode(',', $gameid), ',');
$sql = "select id,data_package,package_name from cy_game where id in ({$gameidStr}) and data_package!='0'";
$result = $btbox_db->createCommand($sql)->queryAll();
if (empty($result)) {
self::repSuccess('导入资料包成功');
}
$importStr = ",新导入的uploadId为:";
foreach ($result as $value) {
$gameid = $value['id'];
$upload['name'] = $value['package_name'];
$upload['url'] = $value['data_package'];
//4. 插入到新系统cy_upload中
$db->createCommand()->insert('cy_upload', $upload)->execute();
$lastInsertId = $db->getLastInsertID();
//5. 更新游戏的资料包id
$res = $db->createCommand()->update('cy_game', ['data_pkg' => $lastInsertId], ['id' => $gameid])->execute();
if ($res) {
$importStr .= $lastInsertId . ',';
}
}
}
self::repSuccess('导入资料包成功' . $importStr);
} catch (\Exception $ex) {
echo "1111";
self::repError($ex->getMessage());
}
}
yii2 DAO实现增,删,改,查
最新推荐文章于 2018-08-30 14:14:41 发布