OrderEventJob.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\jobs;
  8. use yii\base\BaseObject;
  9. use yii\queue\JobInterface;
  10. use app\events\OrderEvent;
  11. use app\models\Store;
  12. use app\constants\OptionSetting;
  13. use app\models\Option;
  14. use app\modules\admin\models\jushuitan\JuShuiTanForm;
  15. class OrderEventJob extends BaseObject implements JobInterface
  16. {
  17. public $store_id;
  18. public $action;
  19. public $in_action;
  20. public $version;
  21. public $time;
  22. public function execute($queue)
  23. {
  24. debug_log(__METHOD__ . '~~~~~~~~已弃用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
  25. throw new \Exception(__METHOD__ . '~~~~~~~~已弃用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
  26. return;
  27. set_time_limit(0);
  28. // echo '----OrderEventJob----' . $this->store_id . $this->action;
  29. if($this->action){
  30. $event = new OrderEvent();
  31. $event->store_id = $this->store_id;
  32. $action = $this->action;
  33. $event->$action();
  34. }
  35. if($this->in_action){
  36. $action = $this->in_action;
  37. $this->$action();
  38. }
  39. }
  40. public function executeLevel() {
  41. $time = time();
  42. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  43. foreach($store_list as $store) {
  44. try {
  45. // 定时任务
  46. $event = new OrderEvent();
  47. $event->store_id = $store->id;
  48. $event->level();
  49. } catch(\Throwable $e) {
  50. // \Yii::error($e);
  51. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  52. }
  53. }
  54. debug_log(['executeLevel--end', time() - $time], 'debug_task_execute.log');
  55. }
  56. public function executeUserLevelExpiresHandle() {
  57. try {
  58. // 定时任务
  59. $event = new OrderEvent();
  60. $event->userLevelExpiresHandle();
  61. } catch(\Throwable $e) {
  62. // \Yii::error($e);
  63. \Yii::error('--------auto-execute-error---- ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  64. }
  65. }
  66. public function executeOrder() {
  67. $time = time();
  68. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  69. foreach($store_list as $store) {
  70. try {
  71. // 定时任务
  72. $event = new OrderEvent();
  73. $event->store_id = $store->id;
  74. $event->onLoad();
  75. } catch(\Throwable $e) {
  76. // \Yii::error($e);
  77. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  78. }
  79. }
  80. debug_log(['executeOrder--end', time() - $time], 'debug_task_execute.log');
  81. }
  82. public function executeStoreWxOrderShipping() {
  83. $time = time();
  84. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  85. foreach($store_list as $store) {
  86. try {
  87. // 定时任务
  88. $event = new OrderEvent();
  89. $event->store_id = $store->id;
  90. $event->storeWxOrderShipping();
  91. } catch(\Throwable $e) {
  92. // \Yii::error($e);
  93. \Yii::error('--------auto-executeStoreWxOrderShipping-error---- '.$store->id.' ----auto-executeStoreWxOrderShipping-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  94. }
  95. }
  96. debug_log(['executeStoreWxOrderShipping--end', time() - $time], 'debug_task_execute.log');
  97. }
  98. public function executeOtherThird() {
  99. $time = time();
  100. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  101. foreach($store_list as $store) {
  102. try {
  103. // 定时任务
  104. $event = new OrderEvent();
  105. $event->store_id = $store->id;
  106. $event->otherThird();
  107. } catch(\Exception $e) {
  108. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  109. }
  110. }
  111. debug_log(['executeOtherThird--end', time() - $time], 'debug_task_execute.log');
  112. }
  113. /**
  114. * 奖金池自动发放
  115. * @return void
  116. */
  117. public function executeReportPool() {
  118. $time = time();
  119. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  120. foreach($store_list as $store) {
  121. try {
  122. // 定时任务
  123. $event = new OrderEvent();
  124. $event->store_id = $store->id;
  125. $event->reportPool();
  126. } catch(\Exception $e) {
  127. \Yii::error('--------auto-execute-report-pool-error---- '.$store->id.' ----auto-execute-report-pool-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  128. }
  129. }
  130. debug_log(['executeReportPool--end', time() - $time], 'debug_task_execute.log');
  131. }
  132. public function executeAdapayShareToSelf() {
  133. $time = time();
  134. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  135. foreach($store_list as $store) {
  136. try {
  137. // 定时任务
  138. $event = new OrderEvent();
  139. $event->store_id = $store->id;
  140. $event->adapayShareToSelf();
  141. } catch(\Exception $e) {
  142. \Yii::error($e);
  143. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  144. }
  145. }
  146. debug_log(['executeAdapayShareToSelf--end', time() - $time], 'debug_task_execute.log');
  147. }
  148. public function executeBonusPool() {
  149. $time = time();
  150. $newVer = cache()->get('executeBonusPool');
  151. if($newVer != $this->version){
  152. debug_log(['executeBonusPool $newVer', time(), $this->version, $newVer], 'debug_task_execute.log');
  153. return;
  154. }
  155. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  156. foreach($store_list as $store) {
  157. try {
  158. // 定时任务
  159. $event = new OrderEvent();
  160. $event->store_id = $store->id;
  161. $event->bonusPool();
  162. } catch(\Exception $e) {
  163. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  164. }
  165. }
  166. debug_log(['executeBonusPool--end', time() - $time], 'debug_task_execute.log');
  167. if(time() - $this->version > 55){
  168. debug_log(['executeBonusPool 55', time(), $this->version], 'debug_task_execute.log');
  169. return;
  170. }
  171. // $queue = queue_push(new \app\jobs\OrderEventJob([
  172. // 'in_action' => 'executeBonusPool',
  173. // 'version' => $this->version,
  174. // ]), 5);
  175. }
  176. public function executeJuShuiTanToken() {
  177. $time = time();
  178. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  179. foreach($store_list as $store) {
  180. try {
  181. // 定时任务
  182. JuShuiTanForm::refreshToken($store->id);
  183. } catch(\Exception $e) {
  184. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  185. }
  186. sleep(1);
  187. }
  188. debug_log(['executeJuShuiTanToken--end', time() - $time], 'debug_task_execute.log');
  189. }
  190. public function executeJuShuiTanTokenSupplier() {
  191. $time = time();
  192. $supplier_list = \app\models\Supplier::find()->where(['is_delete' => 0])->select('id, name')->all();
  193. foreach($supplier_list as $upplier) {
  194. try {
  195. // 定时任务
  196. JuShuiTanForm::initStoreType(JuShuiTanForm::STORE_TYPE_SUPPLIER);
  197. JuShuiTanForm::refreshToken($upplier->id);
  198. } catch(\Exception $e) {
  199. \Yii::error('--------auto-execute-error---- '.$upplier->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  200. }
  201. sleep(1);
  202. }
  203. debug_log(['executeJuShuiTanTokenSupplier--end', time() - $time], 'debug_task_execute.log');
  204. }
  205. public function executeOrder2JstSupplier() {
  206. $time = time();
  207. $supplier_list = \app\models\Supplier::find()->where(['is_delete' => 0])->select('id, name')->all();
  208. foreach($supplier_list as $upplier) {
  209. try {
  210. // 定时任务
  211. JuShuiTanForm::initStoreType(JuShuiTanForm::STORE_TYPE_SUPPLIER);
  212. JuShuiTanForm::supplierOrder2Jst($upplier->id);
  213. } catch(\Exception $e) {
  214. \Yii::error('--------auto-execute-error---- '.$upplier->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  215. }
  216. }
  217. debug_log(['executeOrder2JstSupplier--end', time() - $time], 'debug_task_execute.log');
  218. }
  219. public function executeMaiyatianToken() {
  220. $time = time();
  221. $store_list = Store::find()->where(['is_delete' => 0])->select('id, name')->all();
  222. foreach($store_list as $store) {
  223. try {
  224. // 定时任务
  225. \app\modules\admin\models\maiyatian\MaiyatianForm::refreshToken($store->id);
  226. } catch(\Exception $e) {
  227. \Yii::error('--------auto-execute-error---- '.$store->id.' ----auto-execute-error--------' . $e->getMessage() . $e->getFile() . $e->getLine());
  228. }
  229. sleep(1);
  230. }
  231. debug_log(['executeMaiyatianToken--end', time() - $time], 'debug_task_execute.log');
  232. }
  233. public function executeActivityOrderRebateSelfRebate() {
  234. $time = time();
  235. $res = \app\modules\admin\models\ActivityOrderRebateSelfForm::rebate($this->time);
  236. if($res['code'] != 0) {
  237. \Yii::error('--------auto-execute-error---- ' . $res['msg']);
  238. }
  239. debug_log(['executeActivityOrderRebateSelfRebate--end', time() - $time], 'debug_task_execute.log');
  240. }
  241. }