123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- <?php
- namespace huolib\queue\job;
- use huolib\queue\constant\EventConst;
- use huolib\queue\controller\sdk\App;
- use huolib\queue\controller\sdk\Mem as MemCon;
- use huolib\queue\controller\sdk\Order as OrderCon;
- use huolib\queue\controller\sdk\Role as RoleCon;
- use huolib\queue\request\Channel;
- use huolib\queue\request\Common;
- use huolib\queue\request\Crash;
- use huolib\queue\request\Device;
- use huolib\queue\request\Game;
- use huolib\queue\request\Mem;
- use huolib\queue\request\Order;
- use huolib\queue\request\Role;
- use think\queue\Job;
- class SdkFire extends Fire {
- static $g_i = 0;
-
- public function fire(Job $job, $data) {
- self::$g_i++;
- $_is_job_done = $this->doJob($data);
- $runtime = round(microtime(true) - THINK_START_TIME, 10);
- if ($_is_job_done) {
-
- $job->delete();
- } else {
- if ($job->attempts() > 3) {
-
- $job->delete();
-
-
- }
- }
- }
-
- public function doJob($data) {
- $_com_rq = $this->setCommonData($data);
- $_channel_rq = $this->setChannelData($data);
- $_device_rq = $this->setDeviceData($data);
- $_game_rq = $this->setGameData($data);
- $_mem_rq = $this->setMemData($data);
- $_order_rq = $this->setOrderData($data);
- $_role_rq = $this->setRoleData($data);
- $_crash_rq = $this->setCrashData($data);
- switch ($_com_rq->getEvent()) {
- case EventConst::EVENT_APP_ACTIVATION:
-
- $_rs = (new App())->activation($_com_rq, $_device_rq, $_game_rq, $_channel_rq);
- break;
- case EventConst::EVENT_APP_STARTUP:
-
- $_rs = (new App())->startup($_com_rq, $_device_rq, $_game_rq, $_channel_rq);
- break;
- case EventConst::EVENT_APP_CRASH:
-
- $_rs = (new App())->crash($_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_crash_rq);
- break;
- case EventConst::EVENT_APP_HEARTBEAT:
-
- $_rs = (new App())->heartbeat($_com_rq, $_device_rq, $_game_rq, $_channel_rq);
- break;
- case EventConst::EVENT_MEM_REG:
-
- $_rs = (new MemCon())->create($_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq);
- break;
- case EventConst::EVENT_MEM_LOGIN:
- $_rs = (new MemCon())->online($_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq);
- break;
- case EventConst::EVENT_MEM_LOGOUT:
-
- $_rs = (new MemCon())->offline($_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq);
- break;
- case EventConst::EVENT_ROLE_CREATE:
-
- $_rs = (new RoleCon())->create($_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq, $_role_rq);
- break;
- case EventConst::EVENT_ROLE_ONLINE:
-
- $_rs = (new RoleCon())->online($_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq, $_role_rq);
- break;
- case EventConst::EVENT_ROLE_LEVELUP:
-
- $_rs = (new RoleCon())->levelup(
- $_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq, $_role_rq
- );
- break;
- case EventConst::EVENT_ROLE_OFFLINE:
-
- $_rs = (new RoleCon())->offline(
- $_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq, $_role_rq
- );
- break;
- case EventConst::EVENT_ORDER_CREATE:
- $_rs = (new OrderCon())->create(
-
- $_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq, $_role_rq, $_order_rq
- );
- break;
- case EventConst::EVENT_ORDER_SUCCESS:
-
- $_rs = (new OrderCon())->success(
- $_com_rq, $_device_rq, $_game_rq, $_channel_rq, $_mem_rq, $_role_rq, $_order_rq
- );
- break;
- default:
- $_rs = false;
- }
- return $_rs;
- }
-
- private function setCommonData($data) {
- $_com_rq = new Common();
- $_com_rq->setData($data);
- return $_com_rq;
- }
-
- private function setChannelData($data) {
- $_data = isset($data['agent']) ? $data['agent'] : [];
- $_channel_rq = new Channel();
- $_channel_rq->setData($_data);
- return $_channel_rq;
- }
-
- private function setDeviceData($data) {
- $_data = isset($data['device']) ? $data['device'] : [];
- $_device_rq = new Device();
- $_device_rq->setData($_data);
- return $_device_rq;
- }
-
- private function setGameData($data) {
- $_data = isset($data['game']) ? $data['game'] : [];
- $_game_rq = new Game();
- $_game_rq->setData($_data);
- return $_game_rq;
- }
-
- private function setMemData($data) {
- $_data = isset($data['mem']) ? $data['mem'] : [];
- $_mem_rq = new Mem();
- $_mem_rq->setData($_data);
- return $_mem_rq;
- }
-
- private function setOrderData($data) {
- $_data = isset($data['order']) ? $data['order'] : [];
- $_order_rq = new Order();
- $_order_rq->setData($_data);
- return $_order_rq;
- }
-
- private function setRoleData($data) {
- $_data = isset($data['role']) ? $data['role'] : [];
- $_role_rq = new Role();
- $_role_rq->setData($_data);
- return $_role_rq;
- }
-
- private function setCrashData($data) {
- $_data = isset($data['crash']) ? $data['crash'] : [];
- $_crash_rq = new Crash();
- $_crash_rq->setData($_data);
- return $_crash_rq;
- }
- }
|