日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

事务流程java怎么实现_使用队列和事务实现采集数据实例流程

發(fā)布時間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 事务流程java怎么实现_使用队列和事务实现采集数据实例流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

采集數據實例流程

1,加入隊列消費queuePlayer($array)具體業(yè)務方法

2,業(yè)務方法說明:使用事務,處理采集數據,處理業(yè)務邏輯,

3,日志添加

private $user = '';

private $secret = '';

private $url = 'open.baiduapi.com/api/football/';

/*

* @array 傳入過來一個球隊信息的數組

* @return bool 成功返回true ,失敗返回false

*/

public function __construct()

{

$this->user = Env::get('nami.user');

$this->secret = Env::get('nami.secret');

}

/*

* 球員隊列消費

*/

public function queuePlayer($array)

{

if (empty($array)) {

Log::error('球員數據不能為空:' . json_encode($array, JSON_UNESCAPED_UNICODE));

return false;

}

$http = new Http();

$playerRequest = $http->doGet($this->url . "?user=$this->user");

$playerData = json_decode($playerRequest, true);

if (empty($playerData)) {

Log::error("球員ID:{$array['id']}.信息異常,接口返回" . json_encode($playerRequest, JSON_UNESCAPED_UNICODE));

return false;

}

//走事務

Db::startTrans();

try {

$playerInfo = $model->getPlayerInfo($array['id']);

if (empty($playerInfo)) {

//球員基本信息,添加

$data = [

'nami_player_id' => $array['id'],

'nami_team_id' => $playerData['team_id'],

];

$model->InsertPlayerAll($data);

} else {

//更新數據--球員的基本信息

$data = [

'nami_team_id' => $playerData['team_id'],

'name' => $playerData['name_zh'],

];

$model->UpdatePlayer($array['id'], $data);

}

//事務提交

Db::commit();

return true;

} catch (Exception $e) {

//錯誤日志提交

$error = json_encode([

'msg' => $e->getMessage(),

'line' => $e->getLine(),

], JSON_UNESCAPED_UNICODE);

Log::error("球員ID.{$array['id']}.采集錯誤!" . $error);

//回滾事務

Db::rollback();

return false;

}

}

Buy me a cup of coffee :)

總結

以上是生活随笔為你收集整理的事务流程java怎么实现_使用队列和事务实现采集数据实例流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。