UserBrokerageLevelJob.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace crmeb\jobs;
  12. use app\common\repositories\user\UserBrokerageRepository;
  13. use app\common\repositories\user\UserRepository;
  14. use crmeb\interfaces\JobInterface;
  15. use think\facade\Log;
  16. class UserBrokerageLevelJob implements JobInterface
  17. {
  18. public function fire($job, $data)
  19. {
  20. try {
  21. $user = app()->make(UserRepository::class)->get($data['uid']);
  22. if ($user) {
  23. $flag = true;
  24. if ($data['type'] == 'spread_money') {
  25. $user->spread_pay_price = bcadd($user->spread_pay_price, $data['inc'], 2);
  26. } else if ($data['type'] == 'spread_pay_num') {
  27. $user->spread_pay_count = bcadd($user->spread_pay_count, $data['inc'], 0);
  28. } else {
  29. $flag = false;
  30. }
  31. if ($flag) {
  32. $user->save();
  33. }
  34. }
  35. $extensionInfo = get_extension_info($user);//获取用户是否可以分销以及是否内购
  36. if ($user && $extensionInfo['isPromoter']) {
  37. app()->make(UserBrokerageRepository::class)->inc($user, $data['type'], $data['inc']);
  38. }
  39. } catch (\Exception $e) {
  40. Log::info('分销等级同步失败: ' . var_export($data, 1) . $e->getMessage());
  41. }
  42. $job->delete();
  43. }
  44. public function failed($data)
  45. {
  46. }
  47. }