Achievement.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace app\models\user;
  3. use app\models\user\User;
  4. use app\models\user\UserBill;
  5. use crmeb\basic\BaseModel;
  6. class Achievement extends BaseModel
  7. {
  8. public static function do_Fhllirun()
  9. {
  10. $send = [];
  11. $uids = User::select();
  12. $group_award = sys_data('achievement_award');
  13. foreach ($group_award as $key => $row) {
  14. $award[$key] = $row['award'];
  15. }
  16. array_multisort($group_award, $award, SORT_DESC);
  17. var_dump($group_award);
  18. exit;
  19. foreach ($uids as $v) {
  20. $achievement = self::where('do', 0)->where('uid', $v['uid'])->sum('achievement');
  21. foreach ($new_group_award as $kk => $vv) {
  22. if ($achievement >= $kk) {
  23. if (isset($send[$v['uid']]))
  24. $send[$v['uid']] += $vv;
  25. else {
  26. $send[$v['uid']] = $vv;
  27. }
  28. $spread = User::where('uid', $v['spread_uid'])->find();
  29. // while ($spread) {
  30. if (isset($send[$spread['uid']]))
  31. $send[$spread['uid']] -= $vv;
  32. else {
  33. $send[$spread['uid']] = -$vv;
  34. }
  35. // $spread = User::where('uid', $spread['spread_uid'])->find();
  36. // }
  37. break;
  38. }
  39. }
  40. }
  41. foreach ($send as $k => $v) {
  42. $achievement = self::where('do', 0)->where('uid', $k)->sum('achievement');
  43. if ($v > 0) {
  44. $spreadUserInfo = User::getUserInfo($k);
  45. User::where('uid', $k)->inc('brokerage_price', $v)->update();
  46. $balance = bcadd($spreadUserInfo['brokerage_price'], $v, 2);
  47. $mark = '本月业绩' . $achievement . '单,恭喜获得当月团队奖金' . $v;
  48. UserBill::income('获得当月团队奖金', $k, 'now_money', 'brokerage', $v, 0, $balance, $mark);
  49. User::formwork($k, $v, $mark);
  50. }
  51. }
  52. self::where('do', 0)->update(['do' => 1]);
  53. return true;
  54. }
  55. }